写入 /etc/resolv.conf 的DNS,老是在重启或重启网卡后被清除,查了一下,发现 resolv.conf 只是个链接文件,
后来我注意到以下这句话
This file is managed by man:systemd-resolved(8). Do not edit
表示 resolv.conf
文件是被 systemd-resolved
这个服务托管的。
1、
这个服务的配置文件为 /etc/systemd/resolved.conf
大致内容如下:
把第二行的注释去掉
改为 DNS=8.8.8.8 8.8.4.4
保存后,重启systemd-resolved
服务
service systemd-resolved stop
service systemd-resolved start
或者
简单点,直接停掉systemd-resolved
服务,再修改/etc/resolve.conf
就可以一直生效
虽然还有一些别的方法别的方法,但只有上面那方法适合我(主要是不知道为什么安装不上 resolvconf)
这并不影响我推荐你们用第4个方法
2、
安装 resolvconf:
apt-get install resolvconf
修改 /etc/resolvconf/resolv.conf.d/base
nameserver 8.8.8.8
nameserver 114.114.114.114
reboot 或 systemctl restart network-manager,上述内容会被自动写入 /etc/resolv.conf
3、
nano /etc/network/interfaces
auto lo
iface lo inet loopback
auto enp0s8
iface enp0s8 inet static
address 192.168.1.104
gateway 192.168.1.1
netmask 255.255.255.0
dns-nameservers 8.8.8.8 114.114.114.114 #加入这行
reboot后,同样会写入到 /etc/resolv.conf
4、(适用于manjaro和Debian)
打开/etc/resolv.conf第一行是
#Generated by NetworkManager
和 NetworkManager 服务有关
新建
nano /etc/NetworkManager/conf.d/dns-servers.conf
写入
[global-dns-domain-*]
servers=8.8.8.8,114.114.114.114
#不同地址用英文逗号隔开
重启网络
systemctl restart NetworkManager
更详细可以参考:
https://www.cnblogs.com/lanxuezaipiao/p/3613497.html
wiki官网的三种覆盖说明(虽然很详细,但看着费劲,啧啧~)
https://wiki.archlinux.org/index.php/Domain_name_resolution#Overwriting_of_/etc/resolv.conf