問題:vim
[root@test01 ~]# ping www.baidu.com
ping: unknown host ww.baidu.com #ping百度找不到主機名ide
解決方案:字體
ps: 紅字字體爲重要部分, 仔細看spa
一、 首先確保該機器有獨立IP地址.rest
[root@Centos1 ~]# ifconfigorm
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:Linserver
…………………………/省略繼承
二、 檢查路由條目(無路由條目則添加)dns
[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
三、添加路由條目 PS: 刪除路由條目"將add改成del"
[root@test01 ~]#route add -net 目標網段 netmask 目標子網掩碼 gw 下一跳地址
四、檢查是否能與網關設備通訊
[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
五、查看是否開啓IP、域名解析
[root@test01 ~]# grep host /etc/nsswitch.conf
#hosts: db files nisplus nis dns
hosts: files dns
六、修改域名解析文件,新增DNS地址
[root@test01 ~]# vim /etc/resolv.conf
nameserver 114.114.114.114
七、再次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
八、不讓/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內容時,已爲空.