SecureNAT機能の、プッシュするルーティングテーブル

SoftEther VPN に関するご質問はこのフォーラムにお気軽にご投稿ください。
Post Reply
Island
Posts: 1
Joined: Mon Mar 30, 2020 1:54 am

SecureNAT機能の、プッシュするルーティングテーブル

Post by Island » Mon Mar 30, 2020 2:02 am

お世話になっております。
SecureNAT機能に、プッシュする静的ルーティングテーブルという設定があるかと思います。
そのエントリの上限は64エントリと記載があるのですが、32エントリ目を追記した後に再接続をすると、ルーティングテーブルがプッシュされない事象が発生します。
解決策を教えてください。

本環境では、OpenVPNサーバの機能を有効にし、接続に使用するクライアントソフトウェアもOpenVPNを使用しております。
よろしくお願いします。

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

Re: SecureNAT機能の、プッシュするルーティングテーブル

Post by cedar » Fri Apr 10, 2020 10:27 am

https://github.com/SoftEtherVPN/SoftEth ... PN.c#L2432

コードを見ても 64 エントリまでは解釈するようになっているようです。
また、オプション文字列のバッファも 4KB あり、十分のように見えます。
ログを見て、DHCP 応答からオプション文字列が意図したように構築されているか、確認してみてください。

Saggggo
Posts: 1
Joined: Thu May 07, 2020 7:58 am

Re: SecureNAT機能の、プッシュするルーティングテーブル

Post by Saggggo » Thu May 07, 2020 8:22 am

環境
windows 10, softether公式client
server version: v4.29-9680-rtm
client version: v4.29-9680-rtm

問題
私の環境(Windowsでのみ発生, Macは問題なし)でもルーティングテーブルが10を超えるあたりからDHCPが動作せず、IPとルーティングテーブルの取得に失敗します。

パケットをダンプしてみるとDHCP offerのThe Classless Static Route Option(121)が壊れているように見えます。しかしクライアントは正しいレスポンスを返すので、サーバー側のログでは正しく動作しているように見えます。

備考
dhcpgetで設定を確認してみると、Static Routing Table to Push の欄がIPの途中で途切れるのですが、関係ありますか?

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

Re: SecureNAT機能の、プッシュするルーティングテーブル

Post by cedar » Tue May 19, 2020 6:11 am

気になって調べたところ、この行でDHCPオプションのサイズを誤って8bitにキャストしてしまっているため、255バイトを越える長さのオプションの長さが誤って扱われているのが原因のようです。
この「(UCHAR)」を削除すると動作するようです。

https://github.com/SoftEtherVPN/SoftEth ... Ip.c#L3382

なお、SoftEther VPN の仮想DHCPサーバーは長いDHCPオプションの格納方法としてRFC3396ではなく、Microsoft独自の拡張オプションを採用しているようなので、Windows 以外の OS では、長いDHCPオプションを正しく解釈できないかもしれません。

https://docs.microsoft.com/en-us/opensp ... 672387b7e0

Field
Posts: 1
Joined: Thu May 21, 2020 1:39 pm

Re: SecureNAT機能の、プッシュするルーティングテーブル

Post by Field » Thu May 21, 2020 1:53 pm

cedarさん
私の環境(windows)でも、ルーティングテーブルへ32エントリ目を追記したあと再接続をすると、ルーティングテーブルがプッシュされない事象が発生します。
cedarさんが改修くださったソースコードで本事象が解消される認識ですが、改修されたソースコードをPull Requestされるご予定ありますでしょうか。
もしくは既にPull Requestなさっており、修正の反映待ちというステータスでしょうか。

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

Re: SecureNAT機能の、プッシュするルーティングテーブル

Post by cedar » Fri May 22, 2020 1:49 am

すみません。
私は安定版の方の SoftEther VPN のメンテナなので、そちらを修正して確認しておりました。
先進版の方へのPRも後ほど送っておきます。

追記
マージされた模様です。
https://github.com/SoftEtherVPN/SoftEtherVPN/pull/1134

Post Reply