将 UFW 中的所有端口转发到 Ubuntu 服务器上的 VPN 客户端

将 UFW 中的所有端口转发到 Ubuntu 服务器上的 VPN 客户端

我在 Ubuntu 22.04 上运行 VPN Wireguard 服务器。我试图将服务器的所有端口转发到 10.10.10.2 上的 VPN 客户端。到目前为止,我已经完善了单个端口的端口转发。在 中/etc/ufw/before.rules,执行此操作的行如下所示:

# Port forward port 80 to VPN Client at 10.10.10.2
-A PREROUTING -i enp1s0 -d my.public.server.ip  -p tcp --dport 80 -j DNAT --to-destination 10.10.10.2:80

这成功将端口 80 从 VPN 服务器的公共 IP 转发到 10.10.10.2 上的 VPN 客户端。现在,我想转换此规则以将来自 my.public.server.ip 的所有流量转发到我的 VPN 客户端 10.10.10.2 上的所有端口,而不必转发单个端口。

我怎样才能在一行中将所有流量从 VPN 服务器端口转发到 VPN 客户端/etc/ufw/before.rules

谢谢您的帮助。

答案1

所有 udp/tcp 端口的正确/etc/ufw/before.rules端口转发行如下(注意:这假设您的以太网接口名为enp1s0,您的以太网 IP(您的 VPN 服务器的公共 IP 地址)地址为xx.xx.xxx.xxx,并且您的 wireguard 客户端 IP 地址为10.10.10.2。请进行相应的更改):

### /etc/ufw/before.rules
## NAT table rules
*nat
# Nat Pre-Routing
:PREROUTING ACCEPT [0:0]
# DMZ FORWARDING
# Forward all TCP ports from enp1s0 to wireguard client at 10.10.10.2
-A PREROUTING -i enp1s0 -p tcp -d xx.xx.xxx.xxx -j DNAT --to-destination 10.10.10.2
# Forward all UDP ports from enp1s0 to wireguard client at 10.10.10.2
-A PREROUTING -i enp1s0 -p udp -d xx.xx.xxx.xxx -j DNAT --to-destination 10.10.10.2

COMMIT

相关内容