centos/ubuntu指定配置DNS IP的方法

在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



上一篇: