首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用钢绞线进行端口转发

用钢绞线进行端口转发
EN

Server Fault用户
提问于 2021-06-24 18:44:38
回答 1查看 25.7K关注 0票数 4

使用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看起来的样子:

代码语言:javascript
复制
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
EN

回答 1

Server Fault用户

回答已采纳

发布于 2021-06-25 19:25:35

由于您使用的是UFW,首先要确保为端口56000添加的UFW规则不是常规的输入规则,而是一个“路由”(也称为转发)规则,如下所示(假设它用于TCP端口;将tcp替换为udp for UDP):

代码语言:javascript
复制
ufw route allow proto tcp to 10.66.66.2 port 56000

然后,对于要转发的每个端口(其中eth0是WAN接口的名称),您需要这样的iptables规则:

代码语言:javascript
复制
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 56000 -j DNAT --to-destination 10.66.66.2

如果要转发一组单独的端口,可以使用--dports模块的s标志(注意multiport )将所有端口(最多15个端口)放在同一条规则中:

代码语言:javascript
复制
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规则的内容):

代码语言:javascript
复制
# /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。

票数 5
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1067746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档