いつもお世話になっております。
静的ルーティングテーブルに64エントリを追加したのですが、冒頭6エントリしか認識されない事象が発生致しました。
本事象の解決策についてご教示いただけないでしょうか。(もし追加で必要な情報があれば共有いただけますと幸いです。)
※当該環境では、最新版のSoftEther VPN 4.38 Build 9760 RTMを使用しております。
静的ルーティングテーブルに記載した64エントリのうち6エントリしか認識されない
-
- Posts: 30
- Joined: Thu May 21, 2020 1:39 pm
Re: 静的ルーティングテーブルに記載した64エントリのうち6エントリしか認識されない
補足させてください。検証したところ、29エントリが正常に認識される最大値である旨わかりました。
30エントリ以上をテーブルに追加した場合、認識されるエントリは下記の通りになりました。
・30エントリ以上追加すると、57エントリまでは認識されるエントリが0から28エントリまでひとつずつ増えていく
(30エントリの場合は0エントリ、57エントリの場合は28エントリ認識される)
・58エントリから64エントリまでは認識されるエントリが再び0から6エントリまでひとつずつ増えていく
(58エントリの場合は0エントリ、64エントリの場合は6エントリ認識される)
30エントリ以上をテーブルに追加した場合、認識されるエントリは下記の通りになりました。
・30エントリ以上追加すると、57エントリまでは認識されるエントリが0から28エントリまでひとつずつ増えていく
(30エントリの場合は0エントリ、57エントリの場合は28エントリ認識される)
・58エントリから64エントリまでは認識されるエントリが再び0から6エントリまでひとつずつ増えていく
(58エントリの場合は0エントリ、64エントリの場合は6エントリ認識される)
-
- Site Admin
- Posts: 2264
- Joined: Sat Mar 09, 2013 5:37 am
Re: 静的ルーティングテーブルに記載した64エントリのうち6エントリしか認識されない
RFC 2131 通りのDHCPでは、オプションのサイズは255バイトまでしか記述できません。これは静的ルート27個分に相当します。
ここまでのサイズであれば、どのクライアントでも正常に解釈できるはずです。
SecureNAT の仮想 DHCP 機能では、256バイトを超えた DHCP オプションの記述方式としてマイクロソフトが提唱する
方式を採用しています。
https://docs.microsoft.com/en-us/opensp ... 672387b7e0
このため、拡張DHCPオプションをサポートしない DHCP クライアントや、RFC 3396 の方式で長いオプションを解釈する
DHCP クライアントでは、28個以上の経路を指定した際に正常に解釈されなくなります。
経路をまとめるなどして27個以下にすることをお勧めします。
ここまでのサイズであれば、どのクライアントでも正常に解釈できるはずです。
SecureNAT の仮想 DHCP 機能では、256バイトを超えた DHCP オプションの記述方式としてマイクロソフトが提唱する
方式を採用しています。
https://docs.microsoft.com/en-us/opensp ... 672387b7e0
このため、拡張DHCPオプションをサポートしない DHCP クライアントや、RFC 3396 の方式で長いオプションを解釈する
DHCP クライアントでは、28個以上の経路を指定した際に正常に解釈されなくなります。
経路をまとめるなどして27個以下にすることをお勧めします。
-
- Posts: 30
- Joined: Thu May 21, 2020 1:39 pm
Re: 静的ルーティングテーブルに記載した64エントリのうち6エントリしか認識されない
cedarさん
ご回答ありがとうございます。
接続元のPCはWindows 10を利用しているため、マイクロソフトの DHCP オプションの記述方式には対応できている認識です。
OpenVPN Clientを利用しているのですが、こちらが原因でしょうか。。
ご回答ありがとうございます。
接続元のPCはWindows 10を利用しているため、マイクロソフトの DHCP オプションの記述方式には対応できている認識です。
OpenVPN Clientを利用しているのですが、こちらが原因でしょうか。。
-
- Site Admin
- Posts: 2264
- Joined: Sat Mar 09, 2013 5:37 am
Re: 静的ルーティングテーブルに記載した64エントリのうち6エントリしか認識されない
OpenVPN との組み合わせでは動作を調べたことがないですが、コード上では長いオプションの解読は行っているようです。
https://github.com/SoftEtherVPN/SoftEth ... Ip.c#L4072
OpenVPN クライアントに送られてくるオプション文字列も不足している感じでしょうか?
https://github.com/SoftEtherVPN/SoftEth ... Ip.c#L4072
OpenVPN クライアントに送られてくるオプション文字列も不足している感じでしょうか?
-
- Posts: 30
- Joined: Thu May 21, 2020 1:39 pm
Re: 静的ルーティングテーブルに記載した64エントリのうち6エントリしか認識されない
cedarさん
ご回答ありがとうございます。
OpenVPN クライアントのログを確認したところ、オプション文字列が不足していることがわかりました。
オプション文字列の不足がSoftEther VPN Serverからの送信時に発生しているのか、Open VPNクライアントでの受信時に発生しているのかについては未確認です。
そして大変申し訳ありません、冒頭に記載した認識されないエントリ数に誤りがありました。
検証したところ、42エントリが正常に認識される最大値であることがわかりました。
またSoftEther Clientで検証したところ、上限である64エントリまで正常に認識されることも検証致しました。
ご回答ありがとうございます。
OpenVPN クライアントのログを確認したところ、オプション文字列が不足していることがわかりました。
オプション文字列の不足がSoftEther VPN Serverからの送信時に発生しているのか、Open VPNクライアントでの受信時に発生しているのかについては未確認です。
そして大変申し訳ありません、冒頭に記載した認識されないエントリ数に誤りがありました。
検証したところ、42エントリが正常に認識される最大値であることがわかりました。
またSoftEther Clientで検証したところ、上限である64エントリまで正常に認識されることも検証致しました。
-
- Site Admin
- Posts: 2264
- Joined: Sat Mar 09, 2013 5:37 am
Re: 静的ルーティングテーブルに記載した64エントリのうち6エントリしか認識されない
そうすると、OpenVPN (L3)のプロトコル変換器内蔵のDHCPクライアントのバグのような気がします。
-
- Posts: 30
- Joined: Thu May 21, 2020 1:39 pm
Re: 静的ルーティングテーブルに記載した64エントリのうち6エントリしか認識されない
cedarさん
ご回答ありがとうございます。ご指摘いただいた通り、OpenVPN Client側にエラー原因があるようです。
OpenVPN Clientのバージョンを2.4.6(1602)から3.3.1(2222)へ最新化したところ、Secure NATに登録した64エントリすべてが認識されるようになりました。
ご調査下さり誠にありがとうございました。大変助かりました。
ご回答ありがとうございます。ご指摘いただいた通り、OpenVPN Client側にエラー原因があるようです。
OpenVPN Clientのバージョンを2.4.6(1602)から3.3.1(2222)へ最新化したところ、Secure NATに登録した64エントリすべてが認識されるようになりました。
ご調査下さり誠にありがとうございました。大変助かりました。