[1 Gen]SoftEther VPNによるVPN環境構築(15)SoftEther VPN ServerのIPv6アドレスの問題

SoftEther VPN構築(第1世代)
記事内のリンクには広告が含まれている場合があります

SoftEther VPN ServerにIPv6で接続するためにはルーター設定の関係でSoftEther VPN ServerのIPv6アドレスをどうするのかを明確にしておく必要があります。

SoftEther VPN ServerへのIPv6接続

「v6プラス」を使うようになってSoftEther VPN Serverによる家族間接続は問題なく使えていても、リモート接続についてはL2TP/IPsecで使用する500/udpと4500/udpの両ポートが使えず運用できない状態が続いていました。

当初はSoftEther VPN Serverの問題だと思っていましたが、SoftEther VPN ServerはIPv6でのL2TP/IPsec接続をサポートしており、問題はiOSとAndroidにあることが明確となりました。

そのためiOSとAndroidに組み込まれたVPNプロトコルを使うのを諦めて、他の方法としてOpenVPNによる接続をテストしました。

結果としては「v6プラス」を有効にしたままIPv6でのリモート接続ができることが分かりました。

ただし、IPv4の場合とは意味合い違いますが、ルーターに「穴あけ」を行う必要があることが分かりました。

ルーターにおけるIPv6のセキュリティ対策

ここではNTT東日本の「ひかり電話ルータ(RV-440MI)」と「ひかり電話ルータ(RT-550KI)」を例として説明します。

 

ひかり電話ルーターで「v6プラス」を有効にするとプロバイダーへの接続はPPPoEではなくIPoEでの接続となります。

ひかり電話ルーターの設定画面もこのように変わりPPPoEの画面には触れないようになります。

SoftEtherVPN-Windows10-351

そしてIPv6のセキュリティ設定はこのような画面となっています。

SoftEtherVPN-Windows10-352
オレンジ色の注意書きの部分にはこのような記載があります。

IPv6パケットフィルタ設定機能にて、IPv6通信に関するファイアウォール機能の「有効」 /「無効」の設定、及びIPv6通信のセキュリティレベルを「標準」/「高度」の二種類から選択することができます。

IPv6ファイアウォール機能が「有効」でかつ、セキュリティレベルが「標準」の場合、NTT東日本・NTT西日本のフレッツ光ネクスト網内で折り返す通信(NTT東日本・NTT西日本との契約により可能となるもの)は許容し、その他のIPv6通信を使用したインターネット側からの通信を拒否します。
※セキュリティレベル「高度」の場合は、 NTT東日本・NTT西日本のフレッツ光ネクスト網内で折り返す通信(NTT東日本・NTT西日本との契約により可能となるもの)を拒否します。

IPv6ファイアウォール機能を「無効」にした場合、 NTT東日本・NTT西日本のフレッツ光ネクスト網内で折り返す通信(NTT東日本・NTT西日本との契約によりにより可能となるもの)を許容し、かつその他のIPv6を使用したインターネット側からの通信を許容します。
IPv6ファイアウォール機能を「無効」に設定することで、LANに接続した機器が危険にさらされる可能性がありますので、設定する際は十分注意してください 。
IPv6ファイアウォール機能を「無効」にした場合、IPv6パケットフィルタ設定(IPv6 PPPoE)設定も無効となりますのでご注意ください。

既定では、

  • IPv6ファイアウォール機能:有効
  • IPv6セキュリティのレベル:標準

となっています。

IPv6ではIPv4のようなNAPTなどによるアドレス変換は行われないため、通信相手のIPv6アドレスが分かれば直接通信できてしまいます。

そのためルーターで行えるセキュリティ対策は特定の通信以外を遮断することだけです。

NTT東日本・NTT西日本のフレッツ光ネクストでプロバイダーと契約している場合は、SoftEther VPN Serverを家族間接続で説明した方法で接続すると既定のままでも接続できます。

しかし、モバイル端末からのリモート接続はNTT東日本・NTT西日本のフレッツ光ネクストの外部からのアクセスとなりますので「IPv6パケットフィルタ設定(IPoE)」の設定が必要となります。

こちらがRV-440MIの

SoftEtherVPN-Windows10-353

こちらがRT-550KIの設定画面です。

SoftEtherVPN-Windows10-354

設定項目が多少異なりますが動作は同じで、設定された条件に合う通信を通過させるものです。

問題となるのは「宛先IPアドレス」または「宛先IPv6プレフィックス/プレフィックス長」の部分です。

この部分にSoftEther VPN ServerのIPv6アドレスを入力すればセキュリティが強固になるのですが、そのSoftEther VPN ServerのIPv6アドレスが問題なのです。

Windows 10におけるIPv6アドレス

IPv6アドレスは128bitであり16bitずつ8個に分けて16進数で表記されます。

aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh

サブネットプレフィックス

通常、aaaa:bbbb:cccc:ddddの上位64bitはプロバイダーから割り当てられるもので「サブネットプレフィックス」と呼ばれます。そして残りの部分は「インターフェースID」と呼ばれます。

ひかり電話ルーターにつながったLAN内のパソコンのIPv6アドレスを見ても分かりますが、ひかり電話ルーターでは「DHCPクライアント取得情報」で確認できます。

SoftEtherVPN-Windows10-355

ひかり電話ルーターでは「DHCPv6クライアント取得情報(IPoE)」という部分の「IPv6プレフィックス(/プレフィックス長)」という部分です。

NTT東日本のフレッツ光ネクストでは上位64bitではなく上位56bitがプレフィックスとなっています。

すなわち「aaaa:bbbb:cccc:dd」までは世界で唯一の貸し与えられたアドレス空間であり、「dd:eeee:ffff:gggg:hhhh」は自由に決めて使えるということです。

貸し与えられたというのは、使えるのは「リース期間」に表示された期限までということです。通常はリース期間が終了する前にリース期間を延長してもらうので、ひかり電話ルーターが稼働している限り「aaaa:bbbb:cccc:dd」は使い続けることができます。

ただし、回線の障害やひかり電話ルーターの不具合などでレンタル期間の延長が行われないと、別のプレフィックスに変わってしまう可能性はあります。

SoftEther VPN ServerのIPv6アドレス

SoftEther VPN ServerのIPv6アドレスは「ダイナミックDNS機能」で確認できます。

「SoftEther VPNサーバー管理マネージャ」を起動してSoftEther VPN Serverに接続して左下の「ダイナミックDNS設定」をクリックするとこの画面になります。

「グローバルIPv6アドレス」に表示されているのがSoftEther VPN ServerのIPv6アドレスです。

SoftEtherVPN-Windows10-357

しかし、SoftEther VPN Serverパソコンで「コマンドプロンプト」を開いて「ipconfig」コマンドを実行するとこのように沢山のIPv6アドレスが表示されます。

これらのIPv6アドレスの上位56bitの「サブネットプレフィックス」はひかり電話ルーターから通知されたものですが、下位72bitの「インターフェースID」はDHCPv6からレンタルされたアドレスではなく、SoftEther VPN ServerパソコンのWindows 10が決めたものです。

SoftEtherVPN-Windows10-356

本当のSoftEther VPN ServerパソコンのIPv6アドレスは「IPv6アドレス」と表示されている部分のものです。

それ以外の「一時IPv6アドレス」は使い捨てのIPv6アドレスで、一定時間が経過すると破棄されて新しい「一時IPv6アドレス」が生成されます。

SoftEther VPN Serverパソコンは「IPv6アドレス」でも「一時IPv6アドレス」でも応答するため、一般的にはプライバシー保護を目的として「一時IPv6アドレス」が利用されます。

「ダイナミックDNS機能」でも「一時IPv6アドレス」が使われていることが分かります。すなわちSoftEther VPN ServerのIPv6アドレスは常に変化しているということです。

本当の「IPv6アドレス」はネットワークカードのMACアドレスから変換するModified EUI-64というフォーマットで決められます。

しかし、この方法でIPv6アドレスを決めてしまうとMACアドレスを知られてしまいプライバシーの問題が発生します。

そのためWindows 10ではランダムに生成したIPv6アドレスを本当の「IPv6アドレス」としています。

この「IPv6アドレス」はWindows 10をインストールしたときに決められるようで、いろいろ試した限りでは変わることはありませんでした。

SoftEther VPN ServerのIPv6アドレスの扱いについて

セキュリティを高めるには「ひかり電話ルーター」の「IPv6パケットフィルタ設定(IPoE)」の宛先にSoftEther VPN ServerのIPv6アドレスを指定することが望ましいでしょう。

もうひとつ、リモート接続する場合に必要となるOpenVPNのプロファイルにはIPv6アドレスまたはダイナミックDNSホスト名のどちらでも指定できます。

ここでは、「IPv6パケットフィルタ設定(IPoE)」の宛先とOpenVPNのプロファイルのそれぞれに何を指定するかで3つの案を考えます。

案1.本当の「IPv6アドレス」を指定する

「IPv6パケットフィルタ設定(IPoE)」の宛先には本当の「IPv6アドレス」を指定します。

「ダイナミックDNSホスト名」には「一時IPv6アドレス」が紐付けられていますので「ダイナミックDNSホスト名」は使えませんので、OpenVPNのプロファイルには本当の「IPv6アドレス」を指定します。

「サブネットプレフィックス」が変わらなければSoftEther VPN ServerのIPv6アドレスは変わることは無いため、ひかり電話ルーターの設定変更の頻度は下がります。

本当の「IPv6アドレス」を指定する場合の設定はこのようになります。

IPv6パケットフィルタ設定(IPoE) 本当の「IPv6アドレス」
OpenVPNのプロファイル 本当の「IPv6アドレス」

案2.「一時IPv6アドレス」の使用を停止して本当の「IPv6アドレス」を指定する

SoftEther VPN Serverパソコンの「一時IPv6アドレス」はプライバシーを守るためのもので、必須ではありません。

そこで管理者権限のWindows PowerShellから

Set-NetIPv6Protocol -UseTemporaryAddresses Disabled

を実行することで「一時IPv6アドレス」の使用を禁止することができます。

元に戻すには次のコマンドを実行します。

Set-NetIPv6Protocol -UseTemporaryAddresses Enabled

「一時IPv6アドレス」の使用を禁止した状態ではSoftEther VPN ServerパソコンのIPv6アドレスは1個となり「ダイナミックDNSホスト名」と本当の「IPv6アドレス」が一致します。

そのためOpenVPNのプロファイルで「ダイナミックDNSホスト名」が使用できます。

ただし、SoftEther VPN以外のIPv6通信もすべて「一時IPv6アドレス」が使われなくなるためプライバシーは守られなくなります。

「一時IPv6アドレス」を使用しない場合の設定はこのようになります。

IPv6パケットフィルタ設定(IPoE) 本当の「IPv6アドレス」
OpenVPNのプロファイル ダイナミックDNSホスト名

案3.「IPv6パケットフィルタ設定(IPoE)」の宛先を制限しない

本当の「IPv6アドレス」を使用しても「サブネットプレフィックス」が何かしらの理由で変わってしまう可能性もあります。

それも外出中に発生した場合はリモート接続ができなくなってしまいます。

それならば「IPv6パケットフィルタ設定(IPoE)」の宛先を特定するという前提条件を見直して、宛先を制限しないというのもひとつの手です。

この場合はセキュリティレベルは下がりますが「サブネットプレフィックス」が知られなければ、「IPv6パケットフィルタ設定(IPoE)」を通過する可能性は十分低いと考えられます。

また、宛先のポート番号とプロトコルは特定しますし、このポートはSoftEther VPN Server以外では使われませんので危険性は低いと思われます。

「IPv6パケットフィルタ設定(IPoE)」の宛先を制限しない場合の設定はこのようになります。

IPv6パケットフィルタ設定(IPoE) すべてのアドレス
OpenVPNのプロファイル ダイナミックDNSホスト名

今回の選択

以上を踏まえて今回は「案3.「IPv6パケットフィルタ設定(IPoE)」の宛先を制限しない」という方針でOpenVPNの設定手順を説明します。

この選択ではセキュリティ的に問題があると思われる場合は、前記の案1、案2も検討してみてください。

まとめ

IPv6アドレスはプライバシー保護のために時間とともに変化する仕組みを持っています。

しかし、ルーターのフィルターは旧来のアドレス指定型なので、セキュリティを重視するかプライバシーを重視するかを決めて、SoftEther VPN Serverとルーターを設定する必要があります。

コメント

タイトルとURLをコピーしました