Ubuntu 18.04 永久修改DNS的方法

Ubuntu 18.04/18.10 永久修改DNS的方法

问题

发现每次在/etc/resolv.conf 修改DNS之后,重启就会失效。

解决过程

在执行

sudo vi /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 
# 127.0.0.53 is the systemd-resolved stub resolver. 
# run "systemd-resolve --status" to see details about the actual nameservers.

于是查找systemd-resolve相关资料
结果如下:

  • 创建 /etc/resolv.conf 软连接,并将其指向 /usr/lib/systemd/resolv.conf 文件(其中仅设置了单独一个 127.0.0.53 DNS服务器)。 这是推荐的首选方式。
  • 创建 /etc/resolv.conf 软连接, 并将其指向由 systemd-resolved 实时更新的 /run/systemd/resolve/resolv.conf 文件。注意,此文件中只包含所有已知的全局DNS服务器,而不包含针对特定网络接口设置的DNS服务器。 注意,应用程序不应该直接使用 /run/systemd/resolve/resolv.conf 文件, 而是应该继续使用 /etc/resolv.conf 文件。 使用这种方式,所有绕过本地 DNS API 的客户端也将同样绕开 systemd-resolved 服务, 直接使用已知的DNS服务器。
  • 由其他软件包或系统管理员维护 /etc/resolv.conf 的内容。 在这种情况下, systemd-resolved 将会从中读取全局DNS配置。 也就是说,systemd-resolved 只是一个读取 /etc/resolv.conf 配置文件的使用者, 而非此文件的提供者。

注意,上述三种处理方式是自动感知的(不需要特别的配置),完全取决于 /etc/resolv.conf 是否为软连接, 以及软连接指向的目标。

于是:

ls -l /etc/resolv.conf
lrwxrwxrwx 1 root root 39 Feb 10 00:36 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

显然与上面的第二种情况类似,也就是说resolv.conf 现在归systemd管,果然找到了/etc/systemd/resolved.conf 文件:

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See resolved.conf(5) for details

[Resolve]
#DNS=
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=yes

而里面也有我想找的DNS

解决方法

sudo vim /etc/systemd/resolved.conf 

然后修改DNS,例如:

[Resolve]
DNS=114.114.114.114
DNS=8.8.8.8
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=yes

然后

systemctl restart systemd-resolved.service

查看结果:

$ systemd-resolve --status
Global
         DNS Servers: 114.114.114.114
                      8.8.8.8
          DNSSEC NTA: 10.in-addr.arpa
                      16.172.in-addr.arpa
                      168.192.in-addr.arpa
                      17.172.in-addr.arpa
                      18.172.in-addr.arpa
                      19.172.in-addr.arpa

参考

systemd-resolved.service 中文手册[金步国]

  • 18
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
要在Ubuntu 18.04上实现永久挂载硬盘,您可以编辑 `/etc/fstab` 文件来添加相应的挂载项。请按照以下步骤操作: 1. 打开终端。 2. 运行以下命令以获取要挂载硬盘的设备的UUID或设备路径: ``` sudo blkid ``` 该命令将列出所有已连接设备的信息。找到您要挂载的硬盘设备,并记录下其UUID或设备路径(例如:/dev/sdb1)。 3. 运行以下命令来备份 `/etc/fstab` 文件: ``` sudo cp /etc/fstab /etc/fstab.bak ``` 这样,您就可以在需要时恢复原始的 `/etc/fstab` 文件。 4. 编辑 `/etc/fstab` 文件: ``` sudo nano /etc/fstab ``` 5. 在文件的末尾添加一行,指定要挂载的硬盘设备的UUID或设备路径以及挂载点和其他选项。例如: ``` UUID=your_device_UUID /mnt/mydisk ext4 defaults 0 0 ``` 将 `your_device_UUID` 替换为您在第2步中记录下的硬盘设备的UUID,`/mnt/mydisk` 替换为您想要将硬盘挂载到的目录路径(确保该目录已经存在),`ext4` 替换为硬盘分区的文件系统类型,`defaults` 是一组默认的挂载选项,`0 0` 是用于文件系统检查的选项。 6. 保存并关闭文件(按下 `Ctrl + X`,然后按下 `Y` 确认保存,最后按下 `Enter`)。 7. 运行以下命令来重新加载 `/etc/fstab` 文件以使更改生效: ``` sudo mount -a ``` 8. 检查硬盘是否成功挂载。您可以通过在终端中运行以下命令来查看已挂载的硬盘列表: ``` df -h ``` 您应该能够看到您刚刚挂载的硬盘。 通过以上步骤,您应该能够在Ubuntu 18.04上实现永久挂载硬盘。如果您有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值