首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查iptables端口转发规则

如何检查iptables端口转发规则
EN

Server Fault用户
提问于 2011-12-22 12:20:34
回答 1查看 51.2K关注 0票数 3

我试过让端口转发在机器上工作。我在这里读过许多关于那个问题的题目,但我无法使它起作用。计划是将端口5000上的ppp0上的所有传入流量转发到eth0上的设备。下面是我尝试过的规则(从这个站点收集):

代码语言:javascript
复制
iptables -t nat -A PREROUTING -p tcp -i ppp0 --dport 5000 -j DNAT --to-destination 192.168.5.242:5000
iptables -A FORWARD -p tcp -d 192.168.5.242 --dport 5000 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -j MASQUERADE -o ppp0

那不管用。下一次尝试如下:

代码语言:javascript
复制
iptables -A PREROUTING -t nat -i ppp0 -p tcp --dport 5000 -j DNAT --to 192.168.5.242:5000
iptables -A INPUT -p tcp -m state --state NEW --dport 5000 -i ppp0 -j ACCEPT
iptables -t nat -A POSTROUTING -j MASQUERADE -o ppp0

在访问该端口上的机器时,如果没有这些规则,就会有一个连接被拒绝,并且连接超时。所以有些东西在起作用,但不是按照预期的方式。

我怎么才能检查我做错了什么?

EN

回答 1

Server Fault用户

发布于 2011-12-22 12:27:33

首先,只允许NEW连接是不够的。所以,你必须使用这样的规则:

代码语言:javascript
复制
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

您可能需要启用IPv4路由。/proc/sys/net/ipv4/ip_forward的值应该是1。尝试使用echo 1 > /proc/sys/net/ipv4/ip_forward作为超级用户。

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

https://serverfault.com/questions/343434

复制
相关文章

相似问题

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