(轉自http://blog.csdn.net/qq_29923439/article/details/51100413)
新裝一台機器環境為服務器主板,雙網卡,系統為CentOS5.4 ,eth0為內網ip,eth1為公網ip。但是由於在本地測試,設置的內網ip,域名服務器同樣使用的是上海本地的域名解析,沒有問題,可以上網,可以解析。
放到外地公網上去,ip地址已經設好了。使用setup更改了一下外地公網的dns,保存退出。重啟service network restart后發現不能解析了。用ip地址可以連,但是不能ping www.sina.com.cn
總是這樣,設置一次可以,過一會或者重啟一下服務器,重啟一下network都不能解析了。發現/etc/resolv.conf又恢復到原來的狀態,里面什么都沒有了。手動加入nameserver也不行。
后來到網上查找,發現有人與我同樣的問題。原來在CentOS5.4下面直接修改/etc/resolv.conf不行。必須要在/etc /sysconfig/network-scripts/ifcfg-eth0里面最后加上dns的設置。要不然,重啟后,肯定使用eth0設置中沒有設 dns的相關信息,使/etc/resolv.conf恢復到原來的狀態。
打開/etc/sysconfig/network-scripts/ifcfg-eth0,為了保險起見,可以同樣修改eth1的設置
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:xx:19:xx:xx:xx
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes
NETMASK=255.255.255.0
IPADDR=xxx.xxx.xxx.xxx
GATEWAY=xxx.xxx.xxx.xxx
DNS1=202.96.209.5 #上海dns,根據實際情況更換 (一定要帶上數字)
DNS2=202.96.209.133 #上海dns,根據實際情況更換
這樣設置后,/etc/resolv.conf里面根本就不需要設置。service network restart 后,可以發現/etc/resolv.conf里面就有兩個dns的解析ip了。配置好以后重啟網絡,cat /etc/resolv.conf,可以看到如下參數:
# Generated by NetworkManager
nameserver 202.96.209.5
nameserver 202.96.209.133
search localdomain
DNS解析設置成功。
在此要強調一點的是,直接修改/etc/resolv.conf這個文件是沒用的,網絡服務重啟以后會根據/etc/sysconfig /network-scripts/ifcfg-eth0來重載配置,如果ifcfg-eth0沒有配置DNS,那么resolv.conf會被沖掉,重 新變成空值。
不過對於其他的CentOS系統是否也是這樣的,要是遇到同樣的問題。就這樣設一下試試