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でパケットが破棄されているようです。

この現象を解決できるような設定等はありますでしょうか?
Attachments
PC1_2.png
Checksum NG

cedar
Site Admin
Posts: 845
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: 845
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