红联Linux门户
Linux帮助

指定某IP无法上网

发布时间:2008-04-09 00:37:36来源:红联作者:xtvnet
环境及症状描述:

局域网内某机器重装后,不能访问外网。

IP被手动设定为192.168.1.2,内网一切畅通,网关也能正常访问。ping不通路由器的公网地址。设置为其它IP地址或DHCP后则一切正常。内外网均无问题。

环境:使用iptables做防火墙来给内部所有机器做NAT访问公网。

排除了所有问题后,最终还是定位到Iptables上来,执行"#iptables -t nat -L -n"后,发现有下面这么一条记录

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT 0 -- 192.168.1.2 0.0.0.0/0 to:116.*.*.*

这个就很诡异了,俺对iptables不是很熟悉,当时这条命令的用途应该是将所有针对公网IP 116.*.*.*的访问转向到192.168.1.2上,同时由于俺在debian上的网络设置为临时设置,重启后116.*.*.9这个地址丢失了。然后192.168.1.2就没有办法访问公网了。找到可能后执行:

#ifconfig eth0:123 116.*.*.* netmask 255.255.255.248,再测试192.168.1.2机器。一切正常

经查证,应该是下面这这条命令作祟:

iptables -t nat -I POSTROUTING -s 192.168.1.2 -j SNAT --to 116.*.*.*iptables

果然很好很强大。
文章评论

共有 0 条评论