web-dev-qa-db-ja.com

NATおよび動的IPによるipsecの理解

OpenSWANを使用して、net-to-net VPNトンネルを設定しています。次のようにテストシナリオを構成することに成功しました。

test net-to-net scenario

testtest2について:

  • これらは、ubuntu-vm-builderを使用して作成されたUbuntu12.04仮想マシンです。
  • ホストの物理イーサネット(192.168.0.0/24サブネット)へのブリッジネットワークを使用します。
  • 標準のopenswanパッケージをインストールしました。
  • それぞれに、VPNトンネルのもう一方の端からアクセスできるダミーインターフェイスがあります。

これが私がトンネルを設定した方法です:

/ etc/ipsec.conf(左右両方で同一):

version 2.0
config setup
    nat_traversal=yes
    virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
    oe=off
    protostack=netkey

conn net-to-net
    authby=secret
    left=192.168.0.11
    leftsubnet=10.1.0.0/16
    leftsourceip=10.1.0.1
    right=192.168.0.12
    rightsubnet=10.2.0.0/16
    rightsourceip=10.2.0.1
    auto=start

/ etc/ipsec.secrets(左と右の両方で同じ):

192.168.0.11 192.168.0.12: PSK "mytestpassword"

/ etc/rc.local(左側):

modprobe dummy
ifconfig dummy0 10.1.0.1 netmask 255.255.0.0

iptables -t nat -A POSTROUTING -o eth0 -s 10.1.0.0/16 ! -d 10.2.0.0/16 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
for each in /proc/sys/net/ipv4/conf/*
do
    echo 0 > $each/accept_redirects
    echo 0 > $each/send_redirects
done
/etc/init.d/ipsec restart

exit 0

/ etc/rc.local(右側):

modprobe dummy
ifconfig dummy0 10.2.0.1 netmask 255.255.0.0

iptables -t nat -A POSTROUTING -o eth0 -s 10.2.0.0/16 ! -d 10.1.0.0/16 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
for each in /proc/sys/net/ipv4/conf/*
do
    echo 0 > $each/accept_redirects
    echo 0 > $each/send_redirects
done
/etc/init.d/ipsec restart

exit 0

ここで、次のシナリオを設定します。

desired net-to-net configuration

私が理解する必要がある問題:

  • NAT(インバウンドNATトラバーサル))を介してパブリックIPを共有しているVPNゲートウェイを介してIPSecを接続できますか?NAT-TおよびIPSecパススルーはこれに関連していますか、またはそれらはアウトバウンドのためだけですか?NAT(つまり、NATの背後にあるクライアントを処理しますが、ゲートウェイがパブリックIPを持っている場合))? router1からテストするポート、またはそれはIPSecと互換性がありませんか?
  • ドメイン名とダイナミックDNSがある限り、IPSecトンネルの両端にダイナミックIPを設定できますか?
4

NAT(インバウンドNATトラバーサル))を介してパブリックIPを共有しているVPNゲートウェイを介してIPSecを接続できますか?NAT-TおよびIPSecパススルーはこれに関連していますか、またはそれらはアウトバウンドのためだけですか?NAT(つまり、NATの背後にあるクライアントを処理しますが、ゲートウェイがパブリックIPを持っている場合))? router1からテストするポート、またはそれはIPSecと互換性がありませんか?

RFC 3947/3948で定義されているNAT-Tは、IPSecトラフィックのUDPカプセル化です。このカプセル化がない場合、IPSecは、IPの下にある独自のプロトコルタイプ(トランスポートモードとトンネルモードの両方)を使用するため、NATを介して機能することができません。 UDPカプセル化を使用すると、UDPを処理できる任意のNATデバイスで機能します。

NATルーターはステートフルであり、UDP「接続」情報を維持し、NATネットワーク内から開始されたUDP「接続」のみを許可するため、接続確立の方向は確かに重要です。ポート転送ルールの作成IKEが使用するUDPポートとESP(4500/udp)のUDPカプセル化は、この制限を克服しますが、NATデバイス。

ドメイン名とダイナミックDNSがある限り、IPSecトンネルの両端にダイナミックIPを設定できますか?

はい、必要ありません必要静的IPアドレスですが、構成から2つの単一障害点(DDNSプロバイダー/更新プロセス)が削除されるため、作業が楽になる可能性があります。 PSK認証を使用して両端で動的IPアドレスを使用して実行するには、IKEフェーズ1のアグレッシブモードが必要になることに注意してください。

2
the-wabbit

私は一般的に、よく考えられた質問に「何か他のものを使用してください」と答えるような人ではありませんが、IPSecVPNは常に設定の問題です。 NATおよび動的IPを追加することは、フラストレーションの誘いにすぎません。

OpenVPNを見てみましたか?これはSSLベースのVPNであり、UDPポート1194を介してすべてをトンネリングするため、ESPを処理する必要はありません。あなたはおそらくあなたのWANを1時間未満で稼働させることができます。

1
jamieb