Linuxの仕様によるところが大きく、まとめると以下となる。
- 仮想NAT(SecureNAT)の設定で仮想NAT機能を有効にした場合
仮に仮想ホストのネットワークインターフェイスが192.168.10.1としてVPN ClientからVPN Serverの 192.168.10.1 やeth0などのIPアドレスへpingはできてもWebサーバなどが同居している場合にアクセスできない。 - ローカルブリッジ設定で仮想HUBとeth0などのLANカードを選んでローカルブリッジを追加する場合、仮想環境やクラウド環境では通常プロミスキャスモードの利用ができないなど制限に当たりやすいが、1と違ってNAT処理などしないので1より通信スピードは早い。
- ローカルブリッジ設定で仮想HUBと新しいtapデバイスを追加した場合、Linux上ではvpn_tap名が作られることで1の問題解消と2のメリットを受ける。
3の場合、VPNサーバー上で
sudo ip a add 192.168.230.2/24 dev tap_vpn
などを実行し、tapデバイスにIPアドレスを追加する必要がある。
1及び3では仮想NAT機能のチェックを外しつつ仮想DHCPサーバー機能だけチェックをつけることでDHCPサーバだけ使うことは可能。
SecureNATの設定画面にあるIPアドレスをtapデバイスにつけないよう注意する。
VPNClient側でVPNServer接続後にDNSサーバを取得させる際、Clientで
dhclient vpn_vpn
を実行すると/etc/resolv.conf記載の聞きに行くDNSサーバ(nameserver)がVPN接続セグメントのものだけになる。
これはVPNClientとServer間の接続が切れても残り続け、VPNServerのIPアドレスがわからず
./vpncmd /client localhost /cmd accountlist
を実行時Connecting….のままになってしまうので注意する。