SEILルータとL2TPv3 over IPsecによるVPN通信ができない

SoftEther VPN に関するご質問はこのフォーラムにお気軽にご投稿ください。
Post Reply
t-shimizu
Posts: 2
Joined: Tue Jul 04, 2017 11:30 am

SEILルータとL2TPv3 over IPsecによるVPN通信ができない

Post by t-shimizu » Tue Jul 04, 2017 11:45 am

【環境】
[ブロードバンドルーター]
+ PC1(192.168.2.7/Client)
[SoftEther]
| (IPv6)
[SEIL/x86]
|
PC2(192.168.2.5/Server)

SoftEther VPN Server (Ver 4.22, Build 9634, beta)/Ubuntu Server 16.04.2 LTS
SEIL/x86 Fuji 5.63

【現象】
「SEIL シリーズからの L2TPv3 を用いた VPN 接続方法」の
「SEIL ルータにおける設定情報例 #4 (IPv6 ネイティブ環境で通信する場合)」をベースに
L2TPv3 over IPsec の環境を構築しました、
VPN接続は確立しするのですが、VPN経由でPC2は、
・DHCPによるIPアドレスの取得
・PINGによる通信確認
・DNSによる名前解決
はできるのですが、TCP通信が確立できません。(いずれもIPv4のみでの確認です)

通信できない原因を調査するため、SoftEtherとPC1の間でパケットをキャプチャしてみましたが、
Softeherからパケットは送出されているものの、TCPのチェックサムエラーのため、
PC1でパケットが破棄されているようです。

この現象を解決できるような設定等はありますでしょうか?
You do not have the required permissions to view the files attached to this post.

cedar
Site Admin
Posts: 2070
Joined: Sat Mar 09, 2013 5:37 am

Re: SEILルータとL2TPv3 over IPsecによるVPN通信ができない

Post by cedar » Thu Jul 06, 2017 9:23 am

キャプチャの画面にも書かれていますが、LANカードの checksum offload 機能によってパケットのチェックサムが破壊されるケースがあります。
ローカルブリッジ機能を使用しているLANカードのオフロード関連の機能を無効に設定してみて下さい。

t-shimizu
Posts: 2
Joined: Tue Jul 04, 2017 11:30 am

Re: SEILルータとL2TPv3 over IPsecによるVPN通信ができない

Post by t-shimizu » Thu Jul 06, 2017 9:18 pm

sudo ethtool --offload [device] rx off tx off
としてみましたが、現象は変わりませんでした。
あれこれやってみたところ、
SoftEtherの仮想 HUB 拡張オプションの「DisableAdjustTcpMss」の値を「1」にセットすると、
チェックサムエラーは発生しなくなり、TCPの通信も確立できるようになりました。

詳細な発生条件はわかりませんが、SoftEtherのMSSの自動調整が機能した場合、
TCPのチェックサムが正しく再計算されないケースがあるのかもしれません。

cedar
Site Admin
Posts: 2070
Joined: Sat Mar 09, 2013 5:37 am

Re: SEILルータとL2TPv3 over IPsecによるVPN通信ができない

Post by cedar » Fri Jul 07, 2017 2:42 am

MSSの自動調整後には必ずチェックサムの再計算が行われるようです。
計算結果が正しくないケースが生じる可能性は分かりません。
https://github.com/SoftEtherVPN/SoftEth ... pIp.c#L828

このキャプチャを行ったホストはどこでしょうか。
PC1でキャプチャされているのであれば、PC1から送信されるパケットについては、オフロードが行われていてLANカードでチェックサムが付加される場合もありますので、まだTCPチェックサムが計算される前かもしれません。

Post Reply