Red Hat 6.5 resolv.conf自動還原

   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配置。

        

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章