
自宅のルーター (UBNT Edgerouter) と OVH の専用サーバー (Ubuntu 16.04) の間に、IPSec サイト間トンネルを介した VTI を正常に作成しました。各側の内部プライベート ネットワークを VTI デバイス経由でルーティングし、他のサイトからアクセスできます (サイト A の NAT されたデバイス (たとえば、ルーターの背後にあるコンピューター) からサイト B のプライベート範囲のデバイスにアクセスでき、これは素晴らしいことです)。ただし、パブリック ネットワークをルーティングする際に問題が発生します。
サイトA: ホームルーター:
パブリックメインIP: 89.xx81
プライベート IP (NAT されたホームデバイス): 10.100.10.1/24
10.255.12.1/30 のVTI
~# ip r
default via 89.x.x.1 dev eth0 proto zebra
10.100.10.0/24 dev eth1 proto kernel scope link src 10.100.10.1
10.255.12.0/30 dev vti0 proto kernel scope link src 10.255.12.1
89.x.x.0/22 dev eth0 proto kernel scope link src 89.x.x.81
172.16.0.0/12 dev vti0 proto zebra
~# ip tunnel
vti0: ip/ip remote 51.x.x.136 local 89.x.x.81 ttl inherit nopmtudisc ikey 0 okey 1234
ip_vti0: ip/ip remote any local any ttl inherit nopmtudisc key 0
サイト B: OVH のサーバー:
パブリック IP: 51.xx136
サーバーに割り当て/ルーティングされたパブリック IP ブロック: 51.xx128/28 (サーバー上で構成されているのは .136 のみ)
プライベート IP (OVH vRack): 172.16.0.1/12
10.255.12.2/30 のVTI番号
~# ip r
10.100.10.0/24 dev vti0 scope link
10.255.12.0/30 dev vti0 proto kernel scope link src 10.255.12.2
51.x.x.142 dev eth0 scope link
172.16.0.0/12 via 172.16.0.1 dev eth0 scope link
172.16.0.0/12 dev eth0 proto kernel scope link src 172.16.0.1
~# ip tunnel
ip_vti0: ip/ip remote any local any ttl inherit nopmtudisc key 0
vti0: ip/ip remote 89.x.x.81 local 51.x.x.136 ttl inherit nopmtudisc key 1234
ゴール:
OVH サーバー ブロック (51.xx128/28) から、ホーム ルーターの VTI デバイス経由で 1 つまたは複数のパブリック IP を構成するか (その後、ルーターの背後にあるサーバーに IP を割り当てるために 1:1 NAT を作成します)、可能な場合はホーム ルーターの背後にあるデバイスで直接構成します。
VTI でも可能ですが、VTI から GRE への変更を検討して、次の手順に従ってください。https://serverfault.com/a/557949?
答え1
はい、数日前に自分で解決しました。
サイトA:
パブリックIP(自宅にルーティングしたい)のルートを追加しました0 ...デバイス
~# ip r
...
51.x.x.134 dev vti0 scope link
サイト B (2 つのオプションのいずれかを選択):
パブリックIPをホームルーターにルーティングする
希望するパブリックIPを追加するeth0(または0 ...)デバイスとマークとデフォルトゲートウェイを含むルートテーブルを作成します。0 ...、次にソース出力トラフィックをマークしますiptables。
または
ホームルーターの背後にあるデバイスにパブリックIPをルーティングする
作成するDNAT: パブリックIP->NATされたデバイス、そしてデフォルトゲートウェイのルートテーブルを作成します。0 ...選択されたNATデバイス(デバイスからインターネットへのすべてのトラフィックは仮想プライベートネットワーク)
これで、必要なものが手に入りました。次のステップは、サイト A のサーバーから適切な出力 IP アドレスを設定することです (これで、トラフィックはメインの A サイト サーバーの IP アドレスから出力されます)。
私の解決策がベストプラクティスではない場合は、お知らせください。
私の仮定を実現する他の方法はありますか? おそらくプライベート BGP ピアリングが解決策になるでしょうか?