centos 修改resolv.conf后重启系统恢复原状
2012-10-11 17:46:01| 分类: | 标签: |举报 |字号大中小
最近配置bind时,修改/etc/resolv.conf后,dns解析是服务器ip,但下次启动电脑时dns的ip变成外网dns.觉得奇怪上网搜索资料发现原因:
CentOS 5.4以上版本(我用的是centos 6.2)下面直接修改/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 //你的ip地址 GATEWAY=xxx.xxx.xxx.xxx //网关 DNS1=202.96.134.133 // dns我设的本机ip192.168.128.138DNS2=202.96.128.166
这样设置后,/etc/resolv.conf里面根本就不需要设置。service network restart 后,可以发现/etc/resolv.conf里面就有两个dns的解析ip了。配置好以后重启网络,cat /etc/resolv.conf,可以看到如下参数:
# Generated by NetworkManager
nameserver 202.96.134.133 nameserver 2202.96.128.166 search localdomainDNS解析设置成功。
在此要强调一点的是,直接修改/etc/resolv.conf这个文件是没用的,网络服务重启以后会根据/etc/sysconfig /network-scripts/ifcfg-eth0来重载配置,如果ifcfg-eth0没有配置DNS,那么resolv.conf会被冲掉,重 新变成空值。