WindowsNATが作れない人向け
記事が長くなるため、Dockerホストのネットワークの設定は別記事でまとめます。
Windows10からPowerShell上でWindowsNATと呼ぼれるNATを作成できるため、本記事は、WindowsNATが作れない(もしくは何らかの理由でうまく動かない)人向けとしています。
また、WindowsNATは一つしか作れないため、複数のNATが欲しい時に良いかもしれません。
本記事では、NATとしてソフトイーサのSecureNATを利用します。
この記事でNATを構成すると、以下のような構成になります。
行う流れ
- SoftetherVPN(サーバとクライアント)をインストール
- 仮想HUBを作る
- 仮想HUBにSecureNATを作る
- SoftEtherVPNの仮想NICを作りIPを静的に決める
- 仮想HUBにSoftEtherVPNの仮想NICを繋ぐ
- Hyper-Vマネージャから仮想スイッチを作る。
1. SoftEtherVPN(サーバとクライアント)をインストール
使用する端末ではSoftEtherVPNのサーバとクライアント両方とも入れます。
特に気をつけるところもないため、普通にインストールしてください。
2. 仮想HUBを作る
SoftEtherVPNで仮想HUBを作ります。図ではSecureNATがホストOSのNICとブリッジと書いてありますが、実際はこの仮想HUBがブリッジしています。
3. 仮想HUBにSecureNATを作る
SecureNATを有効にします。DHCPを有効にするかどうかは好みで。
私は払い出しするIPを一つにしてDHCPで実質固定IPにしています。
そして、任意のネットワークにつながっているNICと仮想HUBをブリッジします。
無線LANのNICの場合そのままではブリッジできないため、ここを見てconfigを設定します。ShowAllInterfacesとNoPromiscuousModeをtrueにします。
また、複数のパソコンが存在する場合、アクセスリストでSSDPとLLMNRパケット(どちらもUDPでポートはそれぞれ1900と5355)を破棄するようにしておくと良いです。
これは仮想HUBのIPアドレステーブルが溢れないようにするためです。
4. SoftEtherVPNの仮想NICを作る
SoftEtherVPNで仮想NICを作りましょう。
5. 仮想HUBにSoftEtherVPNの仮想NICを繋ぎ、IPを静的に割り振る
4.で作ったNICを仮想HUBにつなぎます。この仮想NICはIPを静的に割り振ります。DockerホストのNICに実質固定のIPを振らない場合はDHCPで取得しても良いです。
6.Hyper-Vマネージャから仮想スイッチを作る。
Hyper-Vマネージャから仮想スイッチを作ります。この仮想スイッチは種類は外部ネットワークに設定し、接続先は先程作った仮想NICにします。そして、管理オペレーティングシステムに~のチェックボックスをつけます。
ここまでで、Dockerのネットワーク以外のネットワークが作成できました。続きます。