Answers:
这取决于。请仔细阅读。
如果您没有安装软件包resolvconf,那么很简单:以您喜欢的方式更改它后,发出命令
 sudo chattr +i /etc/resolv.conf
该命令更改文件属性,使其生效immutable(+ i选项)。
但是,如果您安装了resolvconf软件包,则文件/etc/resolv.conf可能会转换为符号链接,
 # file /etc/resolv.conf
 /etc/resolv.conf: symbolic link to `../run/resolvconf/resolv.conf'
这是虚拟文件系统上的文件,是非永久版本的缩影。有趣的是,您可能不知道已经安装了resolvconf,因为预装了Debian-like OS的最新版本。您可以通过发出以下命令来确定发行版是否已为您安装了发行版:
 #whereis resolvconf
 resolvconf: /sbin/resolvconf /etc/resolvconf /lib/resolvconf /usr/share/man/man8/resolvconf.8.gz
甚至最重要的是,您可以/etc/resolv.conf通过上面的命令(文件/etc/resolv.conf)确定是否已将您转换为链接。如果答复是ASCII text,请使用chattr,否则...
如果您使用静态IP,最简单的方法是添加以下行(或类似的内容)
 dns-nameservers 8.8.4.4 8.8.8.8
到在/ etc / network / interfaces中定义静态接口属性的节。
如果您使用的是始终连接到不同网络的笔记本电脑,则可以遵循LawrenceC的出色建议。但是,如果您的系统上装有resolvconf,则提供一组固定的DNS的正确(最简单)方法是使用/etc/resolvconf/resolv.conf.d中的文件。特别是,使用了以下文件(请参阅Stephane Graber的页面):
base:当找不到其他数据时使用
head:用于resolv.conf的标头,可用于确保DNS服务器始终是列表中的第一个服务器
tail:任何在tail中的条目都将附加在结果resolv.conf的末尾。
因此,将您喜欢的名称服务器放在head中,如下所示
  nameserver 8.8.8.8
到此为止。
LawrenceC,这是下面的一个。
                    /etc/resolvconf/在Ubuntu 18.04上默认不存在。
                    添加与/etc/dhcp/dhclient.conf使用根终端类似的行:
supersede domain-name-servers 74.122.198.48, 50.116.23.211;
这将导致dhclient发出DHCP请求并根据响应的内容进行更改的程序在进行更改之前,用上述内容替换从DHCP服务器获得的信息。  
上面是两个OpenNIC DNS服务器。根据需要替换您要使用的任何服务器。
由于这种情况每当您从DHCP获取配置信息时都会发生,因此请使用dhclient -v eth0或任何接口刷新它并查看更改。
prepend domain-name-servers 8.8.8.8。这将在可用时使用ISP的DNS。
                    有同样的问题,但我使用静态IP地址。解决方法是在/ etc / network / interfaces中添加dns
iface eth0 inet static
    address [your ip>
    netmask [your netmask]
    network [your network]
    broadcast [your broadcast]
    gateway [your gateway]
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers [dns server1] [dns server2]
    dns-search [your domain]
              /etc/network/interfaces。接得好!
                    chattr +i最多只能通过一种快速的方法来解决问题,并且应该尽可能避免(至少是长期的–如所说,这是一种短期的解决方法,直到有时间找到真正的解决方案为止) 。如前所述,这是NetworkManager的工作,它提供了我们可以用于的CLI:
#查找要调整的界面 nmcli设备 #输出看起来像: #设备类型状态连接 #enp0s3以太网连接我的办公室 #lo loopback不受管- #从那开始,我们需要连接。 #现在添加我们的“搜索域”: nmcli连接修改my-office ipv4.dns-search example1.com nmcli con mod我的办公室+ ipv4.dns-search example2.com #和我们的名称服务器: nmcli con修改我的办公室ipv4.dns 213.73.91.35 nmcli con修改我的办公室+ ipv4.dns 87.118.100.175 #注意第二行中的“ +”:再添加一个, #而第一行覆盖现有条目。 #我们可以通过一个调用来做到这一点: nmcli con修改我的办公室ipv4.dns“ 213.73.91.35 87.118.100.175” #确定,现在让我们告诉它忽略来自DHCP服务器的更新: nmcli con修改我的办公室ipv4.ignore-auto-dns是 #并将修改应用于我们的运行配置 nmcli联络我的办公室
如果您使用静态IP地址,也可以使用kanelbolle的答案中的解决方案。
NetworkManager(如第一行中所述)。每次引导时都会重新生成此文件NetworkManager。如何访问this取决于您的linux发行版(您没有提到)NetworkManager。