无法上外网、ping域名(DNS)

问题:

[root@test01 ~]# ping www.baidu.com      
ping: unknown host ww.baidu.com             #ping百度找不到主机名


解决方案:

ps: 红字字体为重要部分, 仔细看

1、 首先确保该机器有独立IP地址.

[root@Centos1 ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:5B:40:E0 
          inet addr:192.168.15.11  Bcast:192.168.15.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe5b:40e0/64 Scope:Lin

…………………………/省略

2、 检查路由条目(无路由条目则添加)

[root@test01 ~]# route -n                      

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.X.0    0.0.0.0         255.255.255.0   U     1      0        0 eth0

3、添加路由条目   PS: 删除路由条目"将add改为del"

[root@test01 ~]#route add -net  目标网段 netmask 目标子网掩码 gw 下一跳地址 

4、检查是否能与网关设备通信                 

[root@test01 ~]# ping 网关IP地址 

PING X.X.X.X (X.X.X.X) 56(84) bytes of data.
64 bytes from X.X.X.X: icmp_seq=1 ttl=128 time=1.63 ms

5、查看是否开启IP、域名解析

[root@test01 ~]# grep host /etc/nsswitch.conf

#hosts:     db files nisplus nis dns
hosts:      files dns

6、修改域名解析文件,新增DNS地址

[root@test01 ~]# vim /etc/resolv.conf           

nameserver   114.114.114.114

7、再次ping百度域名

[root@test01 ~]# ping www.baidu.com            #ping百度

PING www.a.shifen.com (111.13.100.91) 56(84) bytes of data

64 bytes from X.X.X.X: icmp_seq=1 ttl=128 time=1.63 ms

8、不让/etc/resolv.conf文件内的DNS继承ifcfg-eth0内的DNS

[root@Centos1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0            #查看eth0网卡配置参数

DEVICE=eth0
HWADDR=00:0C:29:5B:40:E0
TYPE=Ethernet
UUID=9315dbdf-ae02-4814-af4c-00e29504e82d
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.15.11
NETMASK=255.255.255.0
GATEWAY=192.168.15.2
PEERDNS=no                                                         # 新增此参数,意思为要求程序不要去打扰resolv.conf文件
DNS1=114.114.114.114
DNS2=8.8.8.8

[root@Centos1 ~]# cat /etc/resolv.conf

# Generated by NetworkManager

nameserver 114.114.114.114

nameserver 8.8.8.8

[root@Centos1 ~]# ps -ef | grep dhclient                                           #查看dhclient进程的PID号

[root@Centos1 ~]# kill -9  添加dhclient的PID号                                  #杀掉dhclient进程

[root@Centos1 ~]# ps -ef | grep NetworkManager                            #查看NetworkManager进程PID号

root     22371 20984  0 01:38 Mar 02?   00:00:00  NetworkManager  --pid-file=/var/run/NetworkManager/NetworkManager.pid

[root@Centos1 ~]# kill -9  22371                                                     #杀掉NetworkManager进程

[root@Centos1 ~]# echo "" > /etc/resolv.conf                                #清空resolv.conf文件内容

[root@Centos1 ~]#  service network restart                                   #重启network服务

[root@Centos1 ~]# cat /etc/resolv.conf                                        #当把dhclient、NetworkManager两个进程杀敌后, resolv.conf的内容为空


总结: 当杀掉dhclient进程后, 重启network服务后/etc/resolv.conf文件内仍然会有内容.  查看/etc/resolv.conf时发现有NetworkManager字样, 然后杀掉NetworkManager进程后, 重启network服务在次查看/etc/resolv.conf内容时,已为空.



你可能感兴趣的:(ping,dns,外网)