ubuntu kylin/debian/manjaro的/etc/resolv.conf重启恢复问题

解决resolv.conf重启恢复问题

(推荐用第4个方法)

写入 /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

rebootsystemctl 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
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/bell_love/article/details/105039859