我正在尝试设置一个 Wireguard 隧道,以便 A 将 B 的 IP 用于出站和入站流量(如代理,而不是标准 VPN 配置)。两个盒子都是 Ubuntu 16.04。
A 是 eth0,位于具有 NAT 和 DMZ 的路由器后面,具有 IP A
B 有两个公共 IP:一个主 IP(ens3 aka B1)和一个辅助 IP(ens3:0 aka B2)。第二个应该专用于 WG 隧道。
A上的工作组:
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 工作组:
[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?
我从 Wireguard 社区得到了很多帮助,这就是有效的方法。
一个客户)
B(服务器)
不要忘记通常的步骤(在 B 上)
net.ipv4.ip_forward = 1
如果 B 上的 wg0 接口显示不断增长的错误计数,您可能希望为 A 禁用 DMZ 或限制 B2 上正在使用的端口上的入站,这些端口也可能通过 A 到 WG 接口的流量。如果您正在运行基于对等的服务,则可能会出现这种情况。