我正在尝试构建链式 WireGuard 隧道。目前正在测试,但我遇到了困难。
我有两个 WireGuard 服务器,第一个在印度,第二个在新加坡。以下是我正在尝试的操作。
Client < 10.26.26.0/24 > India < 10.26.27.0/24 > Singapore
IN 隧道对等体:10.26.26.20/32 SG 隧道对等体:10.26.27.20/32
我能够在两台服务器上部署 WireGuard。现在我正尝试通过创建新的 tnl0 接口在印度 <> 新加坡之间建立连接。每当我建立连接时,它都会将我从 SSH 中踢出。我认为我必须在这里做一些防火墙工作。以下是服务器配置。印度链 WG 接口:
#Server:
[Interface]
Address = 10.26.26.1/24
ListenPort = 443
PrivateKey = YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
SaveConfig = true
## Firewall Rules
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
#PC-PEER:
[Peer]
Public Key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
AllowedIPs = 10.26.26.2/32
#Tnl-PEER:
[Peer]
PublicKey = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
AllowedIPs = 10.26.26.20/32
新加坡服务器:
#Server:
[Interface]
Address = 10.26.27.1/24
ListenPort = 443
PrivateKey = YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
SaveConfig = true
## Firewall Rules
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
#Tnl-PEER:
[Peer]
PublicKey = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
AllowedIPs = 10.26.27.20/32
印度至新加坡隧道配置:
[Interface]
PrivateKey = YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
Address = 10.26.27.20/32
DNS = 1.1.1.1
[Peer]
PublicKey = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
AllowedIPs = 10.26.27.0/24
Endpoint = 1.2.3.4:443
PersistentKeepalive = 21
我尝试遵循本指南https://www.ckn.io/blog/2017/12/28/wireguard-vpn-chained-setup/ 但是这个已经很旧了,无法使用。我尝试复制尽可能多的内容,但没有成功。我认为我必须在隧道配置中添加一些路由表,这样我才能通过印度将客户端的流量传递到新加坡服务器。