您的位置:首页 > 运维架构 > Linux

Linux系统无法ping通外网主机

2015-09-21 10:38 603 查看
最近,经常遇到Linux主机无法上网的问题,百度也都是复制文章,只能给予有限的帮助。
总结了下,出现不能正常上网的几种现象及解决办法:
1. DNS配置错误。现象是:可以ping通dns主机的IP地址,无法ping域名。

关于DNS配置的文件主要有2个:/etc/sysconfig/network-scripts/ifcfg-eth0(一般是这个,我的是/etc/sysconfig/network-scripts/ifcfg-p3p1) 和 /etc/resolv.conf 。前一个配置文件是重启服务生效,后一个配置文件立即生效。2个文件同时存在的情况下,若不重启网络服务,后一个配置文件生效,若重启网络服务,前一个配置文件生效。

网络服务未重启前:

[root@controller ~]# cat /etc/sysconfig/network-scripts/ifcfg-p3p1
DEVICE=p3p1
HWADDR=B0:83:FE:AF:76:51
TYPE=Ethernet
UUID=bd3da90d-ef66-46cb-9888-c236d6112ed3
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.27.253
NETMASK=255.255.255.0
GATEWAY=192.168.27.254
DNS1=192.168.35.36

[root@controller ~]# cat /etc/resolv.conf
nameserver 192.168.35.35

重启网络服务后,DNS改为:
[root@controller ~]# cat /etc/resolv.conf
nameserver 192.168.35.36

还有2个可能会影响上网的配置文件:/etc/nsswitch.conf 和 /etc/hosts
/etc/nsswitch.conf配置文件默认:
hosts:   files dns  #这条主要用来配置解析主机名时,先使用/etc/hosts文件还是先使用dns。
此时,如果/etc/hosts文件中也存在一条到某个相同域名的记录,就会使用/etc/hosts配置。
2. 网络配置错误。现象是:ping不通dns主机的IP地址。
此类排错需要具备一些基础的网络知识。
首先,查看本机的IP地址的设置是否正常。
[root@controller ~]# ifconfig
lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:16436  Metric:1
RX packets:6976400 errors:0 dropped:0 overruns:0 frame:0
TX packets:6976400 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1291802428 (1.2 GiB)  TX bytes:1291802428 (1.2 GiB)
p3p1      Link encap:Ethernet  HWaddr B0:83:FE:AF:76:51
inet addr:192.168.27.253  Bcast:192.168.27.255  Mask:255.255.255.0
inet6 addr: fe80::b283:feff:feaf:7651/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:2217287 errors:0 dropped:0 overruns:0 frame:0
TX packets:1849320 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:357729528 (341.1 MiB)  TX bytes:238314566 (227.2 MiB)
其次,测试主机与默认网关的连通性。
[root@controller ~]# ping -c 1 192.168.27.254
PING 192.168.27.254 (192.168.27.254) 56(84) bytes of data.
64 bytes from 192.168.27.254: icmp_seq=1 ttl=255 time=0.889 ms
--- 192.168.27.254 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 1ms
rtt min/avg/max/mdev = 0.889/0.889/0.889/0.000 ms
最后,检测下防火墙的配置。 由于访问域名时,需要使用53端口,如果防火墙禁用了此端口,也是无法通过域名放问的。
暂时也就想到了这些。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息