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配置。
转载于:https://blog.51cto.com/cubix/1736280