关于CentOS 配成nat 网关后,无法ping通部份内网机器的问题(该机器未设置网关就ping不通)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于CentOS 配成nat 网关后,无法ping通部份内网机器的问题(该机器未设置网关就ping不通)相关的知识,希望对你有一定的参考价值。

CentOS 6.2 双网卡(内eth0:192.168.1.1 外eth1:a,b,c d) ,配nat 作局域网网关,配完后,现在内网机器设置网关192.168.1.1后,能成功访问外网。
但问题是,该CentOS6.2 网关服务器,却ping 不通那些没有设置网关的内网机器(设置了网的的机器都能ping通),但可以ping 通那些设置了网关的机器。

求各位大神解答一下,这困扰了我一个一星期。

#cat /etc/sysconfig/iptabls
_________________________________________________________________
# Generated by iptables-save v1.4.7 on Mon Mar 12 10:29:33 2012
*nat
:PREROUTING ACCEPT [351:66076]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source a.b.c.d
COMMIT
# Completed on Mon Mar 12 10:29:33 2012
# Generated by iptables-save v1.4.7 on Mon Mar 12 10:29:33 2012
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [2699:283736]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
#-A INPUT -j REJECT --reject-with icmp-host-prohibited
#-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Mon Mar 12 10:29:33 2012
_______________________________________________________________________
例如:主机A(IP:192.168.1.2 ,gw:192.168.1.1) 主机B(IP:192.168.1.3,GW:无)
主机A ping NAT网关 正常 ----- ping 192.168.1.1 正常
主机A ping www.baidu.com 正常 ---- ping www.baidu.com 正常
NAT网关 ping 主机A 正常 -----ping 192.168.1.2 正常

主机B(未设网关) ping NAT网关 正常 ----ping 192.16.1.1 正常
NAT网关 ping 主机B(未设网关) 不通 ------ping 192.168.1.3 不通

在NAT网关上运行tracepath
#tracepath 192.168.1.2
1: a.b.c.d (a.b.c.d) 0.397ms pmtu 1500
1: 192.168.1.2 (192.168.1.2) 2.475ms !H
1: 192.168.1.2 (192.168.1.2) 0.717ms !H
Resume: pmtu 1500

#tracepath 192.168.1.3
1: a.b.c.d (a.b.c.d) 0.417ms pmtu 1500
2: no reply
3:no reply
4:no reply

从上面的tracepath 来看,有可能是从nat 主机出去的包源地址是eth1:a.b.c.d 到达目标192.168.1.3后,主机192.18.1.3因未配路由,无法返回eth1:a.b.c.d

该问题自己已解决,谢谢大家!

参考技术A service iptables stop再试试追问

谢谢回答,我只要
#iptables -tnat -D POSTROUING -s 192.168.1.0/24 -J SNAT --to-source a.b.c.d 就可以ping 通那些没设多关的机器了。
但这样就起不到网关作用了啊。

同样,sevice iptables stop 后可以ping通内网所有机器了,但就nat也同样失效了

追答

service iptables stop
iptables -t nat -A POSTROUTING……
里面有几个重定向的命令,是不是它们造成的,或者你没贴全。有兴趣可以逐条注释并重启iptables,总会有那么一条或几条注释掉后,问题全消失。

追问

# service iptables stop
#iptables -t nat -A POSTROUING -s 192.168.1.0/24 -J SNAT --to-source a.b.c.d
问题依旧

以上是关于关于CentOS 配成nat 网关后,无法ping通部份内网机器的问题(该机器未设置网关就ping不通)的主要内容,如果未能解决你的问题,请参考以下文章

nat转换之后终端PC无法ping通外部网关?

虚拟机nat能ping通内外,无法访问外网

centos设置NAT模式连接外网连不通,ping主机ping不通,主机ping虚拟机可以通,为啥,附带配置如下

VM NAT模式 宿主机无法ping通网关

VMware虚拟机在NAT模式下无法ping通网关解决办法

VMware虚拟机在NAT模式下无法ping通网关解决办法