1、修改 DNS 配置:

方法一(临时修改,重启失效)

修改下面文件:

1
vi /etc/resolv.conf

加入想要修改的 DNS:

1
2
nameserver 1.1.1.1
nameserver 8.8.8.8

如果多个 DNS,就一行一个,修改之后保存退出即可;

此方法修改后即刻生效,但重启后失效

方法二(生成钩子阻止 DHCP 修改 resolv.conf)

Debian/Ubuntu 下生成 nodnsupdate 文件:

1
2
3
4
5
6
vim /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate

#!/bin/sh
make_resolv_conf(){
:
}

给文件 nodnsupdate 添加可执行权限:

1
chmod +x /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate

重启系统,现在你就可以修改 /etc/resolv.conf 文件而且不会担心被回滚了。

方法三(写保护锁定 resolv.conf 文件)

1
2
rm -f /etc/resolv.conf
vim /etc/resolv.conf

# 填写上指定的 DNS 服务器:

1
2
3
nameserver 1.1.1.1
nameserver 1.0.0.1

1
chattr +i /etc/resolv.conf

此时 resolv.conf 文件的内容就会被锁定不会被重启覆盖,想要解锁的话运行:

1
chattr -i /etc/resolv.conf

2、使修改的 DNS 生效:

修改完保存了并不是立即生效的。输入下面命令使配置生效:

使网卡配置生效

1
/etc/init.d/networking restart

使 DNS 生效

1
/etc/init.d/resolvconf restart

查看是否已经生效:

1
systemd-resolve --status

如果已经变成了你设置的 DNS,那就设置成功了。

3、nslookup 解析命令:

安装 nslookup:

1
apt-get install dnsutils
1
nslookup www.baidu.com

说明:
nslookup 你需要解析的域名
示例:

1
2
3
4
5
6
7
8
9
10
11
root@ubuntu:~# nslookup www.baidu.com
Server: 8.8.8.8
Address: 8.8.8.8#53

Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
www.a.shifen .com canonical name = www.wshifen.com.
Name: www.wshifen.com
Address: 104.193.88.77
Name: www.wshifen.com
Address: 104.193.88.123