在CentOS下永久修改DNS的方法
说明:
某些linux系统重启后发现原来配置的dns消失了,centos/rhel从7以后推荐使用NetworkManager管理网络,原本独立的resolv.conf配置也由NetworkManager进行自动化管理。而每次重启NetworkManager后resolv.conf会被重写,下面就介绍下如何配置DNS。
centos6、7(使用NetworkManager启动)
方法一: 使用传统方法,手工修改 /etc/resolv.conf
修改 /etc/NetworkManager/NetworkManager.conf 文件,在main部分添加 “dns=none” 选项:
[main]
plugins=ifcfg-rh
dns=none
此时便可以手工修改 /etc/resolv.conf,手动添加dns
nameserver 114.114.114.114
nameserver 8.8.8.8
重新加载NetworkManager应用修改的配置 systemctl restart NetworkManager.service
方法二: 使用命令行工具 nmcli 来设置
查看网卡信息
nmcli c show 2448e28a-57c3-3f30-8f2c-557933ccd97b | grep ipv4.dns
ipv4.dns: 10.21.1.11
ipv4.dns-search: —
ipv4.dns-options: “”
ipv4.dns-priority: 0
修改dns地址(需要restart NetworkManager使dns写入resolv.conf配置中(测试reload不生效))
nmcli c modify 2448e28a-57c3-3f30-8f2c-557933ccd97b
ipv4.dns 8.8.8.8 # 多个dns地址 ”114.114.114.114 8.8.8.8”
nmcli c show 2448e28a-57c3-3f30-8f2c-557933ccd97b | grep ipv4.dns
ipv4.dns: 8.8.8.8
ipv4.dns-search: —
ipv4.dns-options: “”
ipv4.dns-priority: 0
设置网卡自动连接(系统默认不会自动连接网络)
nmcli c show(查看网卡信息)
NAME UUID TYPE DEVICE
Wired connection 1 68b5019e-bee1-3d8b-8d1f-1f24d8a86d97 ethernet ens192
ens192 e5c8b474-a5e5-36aa-9153-83c8435fcfe9 ethernet —
设置ens192网卡自动连接
nmcli c modify ens192 connection.autoconnect yes
centos5(使用network服务启动)
方法一:手工修改 /etc/resolv.conf
vi /etc/resolv.conf
nameserver 114.114.114.114
nameserver 8.8.8.8
方法二: 通过网卡配置文件配置DNS
修改网卡配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ethX
…
DNS1=114.114.114.114
Ubuntu下永久修改dns的方法
方法一:修改resolv配置文件
ubuntu的resolv不归NetworkManager管理,配置文件里提示edit by hand
(/etc/resolvconf/resolv.conf.d/head)
cat /etc/resolv.conf
# dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# do not edit this file by hand — your changes will be overwritten
修改源文件,把需要的dns配置加到这个文件中,重启虚拟机时,
生成的/etc/resolv.conf文件会带着期望的的解析。
vi /etc/resolvconf/resolv.conf.d/head
方法二:使用网卡配置文件
在interfaces文件中配置dhcp获取ip,并指定dns-nameservers IP。
vi /etc/network/interfaces
…