web-dev-qa-db-ja.com

WireguardVPNのアウトバウンドとインバウンド

AがBのIPをアウトバウンドおよびインバウンドトラフィック(標準VPN構成ではなくプロキシのように)に使用するようにWireguardトンネルをセットアップしようとしています。どちらのボックスもUbuntu16.04です。

Aはeth0であり、NATのルーターの背後にあり、DMZではIPAを使用しています

Bには2つのパブリックIPがあります。メインIP(ens3別名B1)とセカンダリIP(ens3:0別名B2)です。 2番目のトンネルはWGトンネル専用にする必要があります。

AのWG:

Interface Address = 10.200.1.2/24 SaveConfig = true ListenPort = 50614 FwMark = 0xca6c PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [Peer] PublicKey = yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy AllowedIPs = 0.0.0.0/0 Endpoint = <B2>:51820 PersistentKeepalive = 10

BのWG:

[Interface] Address = 10.200.1.1/24 SaveConfig = true ListenPort = 51820 PrivateKey = wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww [Peer] PublicKey = zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz AllowedIPs = 10.200.1.0/24 Endpoint = A:50614

Aのルート:

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

Bのルート:

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 B1.B1.B1.1 0.0.0.0 UG 0 0 0 ens3 B2.B2.B2.0 0.0.0.0 255.255.255.0 U 0 0 0 ens3 B1.B1.B1.0 0.0.0.0 255.255.254.0 U 0 0 0 ens3 169.254.169.254 B1.B1.B1.1 255.255.255.255 UGH 0 0 0 ens3

AからのすべてのアウトバウンドパケットがB2経由で送信され、B2にインバウンドされるすべてのパケットがAに送信されるように、どのルートを追加する必要がありますか?

1
Gaia

Wireguardコミュニティから多くの助けを得ましたが、これが機能します。

A (client)

[Interface]
Address = B2/32
PrivateKey = yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy

[Peer]
PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
AllowedIPs = 0.0.0.0/0
Endpoint = B2:51820
PersistentKeepalive = 10

B (server)

[Interface]
ListenPort = 51820
PrivateKey = yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy

[Peer]
PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
AllowedIPs = B2/32

通常の手順(B)を忘れないでください

  • ファイアウォールで51820/udpを開く
  • セットする net.ipv4.ip_forward = 1

Bのwg0インターフェイスでエラー数が絶えず増加している場合は、AのDMZ)を無効にするか、B2で使用されているポートのインバウンドを制限することをお勧めします。 WGインターフェース。これは、ピアベースのサービスを実行している場合に当てはまる可能性があります。

2
Gaia