Azure上に自動的にVPNサーバのFQDNを割り当てて、拠点からのNAT接続することで、AzureVPNへアクセスすることで接続できるようになる。
CentOS7にSoftetherVPNをインストールして以下を設定
仮想HUBを作成
ユーザーを作成
SourceNATを有効にする。なんでかっていうと、VPNクライアントとなるマシンは、仮想ルーター?からDHCPが割り当てられる。
ローカルネットワークとはセグメントが異なるため、SourceNatで接続する必要がある。
Azure上に自動的にFQDNを割り当ててくれる。ユーザー側では一切管理する必要もなく、お金もかからないので素敵な設定
本当は、AzureVM上にSoftetherVPNを構築し、拠点間VPN接続できるようにしたかったが、どうやらプロミスキャスモードが無効だと、実現できない構成のよう。
https://ja.softether.org/4-docs/2-howto/2.VPN_for_Cloud/3.Cloud_to_LAN_Bridge_VPN
クライアント側からの設定
AzureVPN接続の場合、SSTP接続のみしか対応していない。
SSTPはVPNの接続方式のひとつで、マイクロソフトが開発した方式。
Windows以外のパソコンも利用できるか、iPhoneなどのモバイル端末は利用することができない。
L2TPよりもセキュアではないので、L2TPが使えればそっちのほうがいいし、Openvpnが一番セキュアな接続方式みたい。
ちなみに、Softetherは内部的にOpenVPNも動作するので、1194でのopenvpn接続方式も対応している。
そして、AzureVMでは、プロミスキャスモードの設定はユーザーには許されておらず、無効になっているみたい。
プロミスキャスモードは、Hyper-VだとMacアドレススプーフィングという名前で、ARPスプーフィングともいう。
通常では、仮想マシン作成時に割り当てられているネットワークインターフェースのMACアドレスのみしか通信を許可しない。
こちらを有効にすると、ほかのMACアドレスの通信も許可することができる。
たとえば、NastedVirtualalizationで、仮想マシンの上に仮想マシンが作成される場合は、仮想マシン上に仮想ネットワークができることになる。
そして、その仮想ネットワークにはMACアドレスが割り当てられることになって、この仮想ネットワークが仮想マシンからそとにまたは内に対して通信できないということ。