iptables 内网无法ping通外网。谢谢

发布于 2022-09-29 13:40:01 字数 2784 浏览 18 评论 0

从抓包上看,外网机器已收到并回复了ping包,但是内网机器无法仍然显示timeout。

iptabes-save 如下:
[root@gw2 ~]# iptables-save
# Generated by iptables-save v1.2.11 on Sun Jan  5 17:19:49 2003
*nat
REROUTING ACCEPT [1568:180161]
OSTROUTING ACCEPT [28:1712]
:OUTPUT ACCEPT [27:1652]
-A PREROUTING -d 10.16.13.251 -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.16.13.251:8080
-A PREROUTING -d 10.16.13.251 -i eth0 -p tcp -m tcp --dport 5200 -j DNAT --to-destination 192.168.2.1:5200
-A POSTROUTING -s 192.168.2.0/255.255.255.0 -o eth0 -p tcp -j SNAT --to-source 10.16.13.251
-A POSTROUTING -s 192.168.2.0/255.255.255.0 -o eth0 -p udp -j SNAT --to-source 10.16.13.251
COMMIT
# Completed on Sun Jan  5 17:19:49 2003
# Generated by iptables-save v1.2.11 on Sun Jan  5 17:19:49 2003
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [51748:2769101]
:ZXECS - [0:0]
-A INPUT -j ZXECS
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -j ACCEPT
-A ZXECS -i lo -j ACCEPT
-A ZXECS -p icmp -j ACCEPT
-A ZXECS -p tcp -m tcp --dport 22 --tcp-flags SYN,RST,ACK SYN -j ACCEPT
-A ZXECS -i eth0 -p icmp -m icmp --icmp-type any -j ACCEPT
-A ZXECS -i eth1 -p icmp -m icmp --icmp-type any -j ACCEPT
-A ZXECS -p tcp -m tcp --dport 21 --tcp-flags SYN,RST,ACK SYN -j ACCEPT
-A ZXECS -p tcp -m tcp --dport 25 --tcp-flags SYN,RST,ACK SYN -j ACCEPT
-A ZXECS -p tcp -m multiport --dports 80,8080,9090,9091,5222,5223,5200,5201,1099,9999 -m tcp --tcp-flags SYN,RST,ACK SYN -j ACCEPT
-A ZXECS -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A ZXECS -p tcp -m tcp --dport 0:1023 --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with icmp-port-unreachable
-A ZXECS -p tcp -m tcp --dport 2049 --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with icmp-port-unreachable
-A ZXECS -p udp -m udp --dport 0:1023 -j REJECT --reject-with icmp-port-unreachable
-A ZXECS -p udp -m udp --dport 2049 -j REJECT --reject-with icmp-port-unreachable
-A ZXECS -p tcp -m tcp --dport 6000:6009 --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with icmp-port-unreachable
-A ZXECS -j DROP
COMMIT
不知道怎么回事,麻烦告诉下,

ip_forward 文件内容为1.

[ 本帖最后由 hiei1321 于 2007-6-13 11:56 编辑 ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

爱人如己 2022-10-06 13:40:01

等了一个小时了,都米人理一下, 想换个地方发 还说不能发重复帖,极度郁闷。

旧街凉风 2022-10-06 13:40:01

原帖由 hiei1321 于 2007-6-13 11:55 发表于 2楼  
等了一个小时了,都米人理一下, 想换个地方发 还说不能发重复帖,极度郁闷。

  1. -A POSTROUTING -s 192.168.2.0/255.255.255.0 -o eth0 -p tcp -j SNAT --to-source 10.16.13.251
  2. -A POSTROUTING -s 192.168.2.0/255.255.255.0 -o eth0 -p udp -j SNAT --to-source 10.16.13.251

复制代码

你有沒有對 icmp protocol 提供 SNAT,這樣 private ip 封包出去後當然回不來。

好一點寫法,請用 -j MASQUERADE 即可。

  1. -A POSTROUTING -s 192.168.2.0/255.255.255.0 -o eth0 -j MASQUERADE

复制代码

--

佼人 2022-10-06 13:40:01

谢谢版主,看来是我理解错了。 可是我的是固定ip,不是说用snat的吗?

画骨成沙 2022-10-06 13:40:01

原帖由 hiei1321 于 2007-6-13 13:49 发表于 4楼  
谢谢版主,看来是我理解错了。 可是我的是固定ip,不是说用snat的吗?

MASQUERADE 就是 SNAT,只是你不用指定 snat 的 ip

--

贱贱哒 2022-10-06 13:40:01

iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE
这个不论是固定IP还是动态IP都可以!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文