我已在服务器 A 上安装了 Wireguard,配置如下:
[Interface]
Address = 172.16.0.1/24
ListenPort = 51820
PrivateKey = <server private key>
# Firewall rules
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens160 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens160 -j MASQUERADE
[Peer]
# Client #1 details
PublicKey = <client public key>
AllowedIPs = 172.16.0.2/32
而且我还在(port: 6060)
服务器 A 的本地主机上打开了一个 tcp 端口,如果有人连接到该端口,其所有流量都将通过服务器 B 转发到互联网。(something like dynamic port forwarding)
我如何将所有 Wiregurad VPN 客户端流量转发到此端口,(6060)
以便如果有人连接到我的 VPN 服务器,他们就可以通过服务器 B 访问互联网。
我的操作系统是:Ubuntu 20.04
答案1
您的问题不清楚,我猜您正在尝试将端口转发到您的 WireGuard 客户端?
# Allow communication between WireGuard peers and MASQUERADE traffic
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens160 -j MASQUERADE;
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens160 -j MASQUERADE;
# Port forwarding for single port to 172.16.0.2
PostUp = iptables -t nat -A PREROUTING -p tcp --dport 6000 -j DNAT --to-destination 172.16.0.2; iptables -t nat -A POSTROUTING -p tcp -d 172.16.0.2 --dport 6000 -j SNAT --to-source 172.16.0.1;
PostDown = iptables -t nat -D PREROUTING -p tcp --dport 6000 -j DNAT --to-destination 172.16.0.2; iptables -t nat -D POSTROUTING -p tcp -d 172.16.0.2 --dport 6000 -j SNAT --to-source 172.16.0.1;
这应该可以让您将端口转发到您的客户端 IP。