使用qbittorrent和airdcpp等应用程序共享文件。它们都需要转发一些端口才能成为“可连接的”。
在家庭连接中,我会进入路由器设置192.168.1.1,然后转发端口,例如。56000到我的PC的本地ip地址:192.168.1.124。服务也会正常的。
稍后,在Linode VPS上设置wireguard,希望我能够将vpn放入其中并屏蔽我的IP。但是当我这样做的时候,我的ip地址会在我去像https://whoer.net这样的地方时改变。但是使用的港口,例如。56000不被转发,因此应用程序不能“连接”。
为了让VPS像我的主路由器一样转发那些端口,我需要在iptables中添加哪些内容?
在活动的VPS 56000防火墙中,端口ufw设置为allow。
非常感谢你的寻找。
这就是我的VPS wireguard conf看起来的样子:
Address = 10.66.66.1/24,fd42:42:42::1/64
ListenPort = 49503
PrivateKey = ***
[Peer]
PublicKey = ***
PresharedKey = ***
AllowedIPs = 10.66.66.2/32,fd42:42:42::2/128发布于 2021-06-25 19:25:35
由于您使用的是UFW,首先要确保为端口56000添加的UFW规则不是常规的输入规则,而是一个“路由”(也称为转发)规则,如下所示(假设它用于TCP端口;将tcp替换为udp for UDP):
ufw route allow proto tcp to 10.66.66.2 port 56000然后,对于要转发的每个端口(其中eth0是WAN接口的名称),您需要这样的iptables规则:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 56000 -j DNAT --to-destination 10.66.66.2如果要转发一组单独的端口,可以使用--dports模块的s标志(注意multiport )将所有端口(最多15个端口)放在同一条规则中:
iptables -t nat -A PREROUTING -i eth0 -p tcp -m multiport --dports 123,456,789 -j DNAT --to-destination 10.66.66.2由于您使用的是UFW,您可能希望将PREROUTING规则放在/etc/ufw/before.rules配置文件的*nat块中,如下所示(假设您可能已经有类似于POSTROUTING规则的内容):
# /etc/ufw/before.rules
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -i eth0 -p tcp --dport 56000 -j DNAT --to-destination 10.66.66.2
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT如果您的*nat文件中还没有一个/etc/ufw/before.rules块,那么将其添加到文件的末尾。更改后重新启动UFW。
https://serverfault.com/questions/1067746
复制相似问题