VTI 経由で IPSec サイト間トンネルを介して 1 つまたは複数のパブリック IP をルーティングします。

VTI 経由で IPSec サイト間トンネルを介して 1 つまたは複数のパブリック IP をルーティングします。

自宅のルーター (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 つのオプションのいずれかを選択):

  1. パブリックIPをホームルーターにルーティングする

    希望するパブリックIPを追加するeth0(または0 ...)デバイスとマークとデフォルトゲートウェイを含むルートテーブルを作成します。0 ...、次にソース出力トラフィックをマークしますiptables

    または

  2. ホームルーターの背後にあるデバイスにパブリックIPをルーティングする

    作成するDNAT: パブリックIP->NATされたデバイス、そしてデフォルトゲートウェイのルートテーブルを作成します。0 ...選択されたNATデバイス(デバイスからインターネットへのすべてのトラフィックは仮想プライベートネットワーク

これで、必要なものが手に入りました。次のステップは、サイト A のサーバーから適切な出力 IP アドレスを設定することです (これで、トラフィックはメインの A サイト サーバーの IP アドレスから出力されます)。

私の解決策がベストプラクティスではない場合は、お知らせください。

私の仮定を実現する他の方法はありますか? おそらくプライベート BGP ピアリングが解決策になるでしょうか?

関連情報