在一台服务器中使用 wireguard 进行链式设置

在一台服务器中使用 wireguard 进行链式设置

因此,我有一台服务器(服务器 A)和另一台服务器(服务器 B)的 wireguard 隧道文件。(我无法在服务器 B 上编辑配置)

我想通过 wireguard 连接到服务器 A,然后通过服务器 B 传递我的流量。

客户端 -> 服务器 A -> 服务器 B -> 互联网

首先通过以下配置(wg0)我可以连接到服务器 A:

客户端配置:

[Interface]
PrivateKey = Censored
Address = 10.0.0.3/32
DNS = 8.8.8.8

[Peer]
PublicKey = Censored
AllowedIPs = 0.0.0.0/0
Endpoint = serverip:port
PersistentKeepalive = 25

服务器 A wg0 配置:

[Interface]
Address = 10.0.0.1/32
SaveConfig = true
PostUp = iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT; iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -F POSTROUTING; iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = port
PrivateKey = Server A private key

[Peer]
PublicKey = Client Public Key
AllowedIPs = 10.0.0.3/32

到目前为止,我可以从客户端连接到服务器 A,然后连接到互联网。

我的问题是,如何通过另一个 wg 接口将客户端流量通过服务器 B 传递到服务器 A?我不想将服务器 A 视为服务器 B 的客户端,我只想为 wg0 接口拆分隧道。

相关内容