Red Hat6.5 DNS客戶端的配置。
修改/etc/resolv.conf文件,添加了一行nameserver 114.114.114.114,然後可以進行正常的DNS解析。
[root@TestServer bin]# cat /etc/resolv.conf # Generated by NetworkManager # No nameservers found; try putting DNS servers into your # ifcfg files in /etc/sysconfig/network-scripts like so: # # DNS1=xxx.xxx.xxx.xxx # DNS2=xxx.xxx.xxx.xxx # DOMAIN=lab.foo.com bar.foo.com nameserver 114.114.114.114 [root@TestServer bin]# ping www.baidu.com -c 1 PING www.a.shifen.com (14.215.177.37) 56(84) bytes of data. 64 bytes from 14.215.177.37: icmp_seq=1 ttl=55 time=2.53 ms --- www.a.shifen.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 30ms rtt min/avg/max/mdev = 2.534/2.534/2.534/0.000 ms
重啓網卡之後,發現DNS無法正常解析了,查看/etc/resolv.conf後發現添加的內容被自動重置了。
[root@TestServer bin]# service network restart 正在關閉接口 eth0: 設備狀態:3 (斷開連接) [確定] 關閉環回接口: [確定] 彈出環回接口: [確定] 彈出界面 eth0: 活躍連接狀態:激活的 活躍連接路徑:/org/freedesktop/NetworkManager/ActiveConnection/1 [確定] [root@TestServer bin]# ping www.baidu.com -c 1 ping: unknown host www.baidu.com [root@TestServer bin]# cat /etc/resolv.conf # Generated by NetworkManager # No nameservers found; try putting DNS servers into your # ifcfg files in /etc/sysconfig/network-scripts like so: # # DNS1=xxx.xxx.xxx.xxx # DNS2=xxx.xxx.xxx.xxx # DOMAIN=lab.foo.com bar.foo.com [root@TestServer bin]#
仔細看了/etc/resolv.conf的內容後發現,此文檔的內容由NetworkManager生成,需要把dns信息寫入到/etc/sysconfig/network-scripts中,格式爲DNS1=xxx.xxx.xxx.xxx。
查看了下NetworkManager,發現這個服務是管理多網卡,無線網絡切換時候使用的,映像中好像這個服務一般都會被關掉。然後測試了下,發現有兩種方法可以解決/etc/resolv.conf自動重置。
方法1:在不關閉NetworkManager的前提下,修改網卡的配置文件,在尾端添加DNS1=xxx.xxx.xxx.xxx 的配置,修改完成後在/etc/resolv.conf中會自動生成DNS的配置。
[root@TestServer bin]# service NetworkManager status NetworkManager (pid 15323) 正在運行... [root@TestServer bin]# tail -1 /etc/sysconfig/network-scripts/ifcfg-eth0 DNS1=114.114.114.114 [root@TestServer bin]# cat /etc/resolv.conf # Generated by NetworkManager nameserver 114.114.114.114
方法2:關閉NetworkManager服務,直接在/etc/resolv.conf中添加nameserver=xxx.xxx.xxx.xxx
[root@TestServer bin]# cat /etc/resolv.conf # Generated by NetworkManager nameserver 114.114.114.114 [root@TestServer bin]# service NetworkManager status NetworkManager 已停 [root@TestServer bin]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 |grep DNS [root@TestServer bin]# service network restart 正在關閉接口 eth0: [確定] 關閉環回接口: [確定] 彈出環回接口: [確定] 彈出界面 eth0: Determining if ip address 108.88.3.253 is already in use for device eth0... [確定] [root@TestServer bin]# cat /etc/resolv.conf # Generated by NetworkManager #nameserver 114.114.114.114 nameserver 114.114.114.114
使用方法2,需要記住關閉NetworkManager的開機自啓,以免重啓機器後服務自動啓動
[root@TestServer bin]# chkconfig NetworkManager off [root@TestServer bin]# chkconfig --list |grep NetworkManager NetworkManager 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉
另外,在關閉NetworkManager的情況下,如果/etc/sysconfig/network-scripts/下的網卡配置文件中存在DNS的配置,也會自動被生成到/etc/resolv.conf中,替換原先的nameserver配置。