AWS Ubuntu设置DNS解析(解决resolve.conf被覆盖问题)

众所周知:

Ubuntu在域名解析时,最直接使用的是/etc/resolve.conf文件,它是/run/systemd/resolve/resolve.conf的软链接,而对于刚装完的ubuntu系统,该文件的内容如下

bash 复制代码
ubuntu@ip-172-31-36-184:/etc$ cat resolv.conf
# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients directly to
# all known uplink DNS servers. This file lists all configured search domains.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver 172.31.0.2
search ap-northeast-1.compute.internal

第1步, 修改/etc/systemd/resolved.conf,例如:

谷歌的dns=8.8.8.8 cloudflare的dns: 1.1.1.1

bash 复制代码
ubuntu@ip-172-31-36-184:/etc/systemd$ ls
journald.conf  logind.conf  network  networkd.conf  pstore.conf  resolved.conf  sleep.conf  system  system.conf  timesyncd.conf  user  user.conf
ubuntu@ip-172-31-36-184:/etc/systemd$ cat 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=8.8.8.8 1.1.1.1
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#DNSOverTLS=no
#Cache=no-negative
#DNSStubListener=yes
#ReadEtcHosts=yes

个人猜测,这个时候,系统在往/run/systemd/resolve/resolv.conf里面写域名解析服务器地址的时候,会从/etc/systemd/resolved.conf中取得DNS相关的配置。

复制代码
    2,重启域名解析服务

            systemctl restart systemd-resolved
            systemctl enable systemd-resolved

    3,备份当前的/etc/resolve.conf,并重新设置/run/systemd/resolve/resolv.conf  到/etc/resolve.conf的软链接

            mv    /etc/resolv.conf    /etc/resolv.conf.bak
            ln  -s   /run/systemd/resolve/resolv.conf    /etc/

验证:

bash 复制代码
ubuntu@ip-172-31-36-184:/etc$ cat resolv.conf
# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients directly to
# all known uplink DNS servers. This file lists all configured search domains.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver 8.8.8.8
nameserver 1.1.1.1
nameserver 172.31.0.2
search ap-northeast-1.compute.internal

参考:
1-华为云开发者论坛

2-csdn https://blog.csdn.net/booklijian/article/details/116491288

相关推荐
HIT_Weston16 小时前
26、【Ubuntu】【远程开发】内网穿透:密钥算法介绍(二)
linux·运维·ubuntu
请叫我阿杰20 小时前
Ubuntu系统安装.NET SDK 7.0
数据库·ubuntu·.net
路人甲ing..1 天前
Ubuntu 怎么把树莓派内存卡备份制作成为镜像
linux·运维·ubuntu
longerxin20201 天前
ubuntu所有版本镜像下载链接
linux·运维·ubuntu
李昊哲小课1 天前
Ubuntu 24.04 安装开源WebRTC信令服务器
服务器·ubuntu·mediasoup·janus·信令服务器
wsad05321 天前
Ubuntu 24.04 更换国内软件源(以阿里云为例)
linux·ubuntu·阿里云
玖剹1 天前
多线程编程:从日志到单例模式全解析
java·linux·c语言·c++·ubuntu·单例模式·策略模式
BD_Marathon1 天前
将 CentOS 风格的命令行提示符(如 [root@slave1 ~]#)修改为 Ubuntu 风格
linux·ubuntu·centos
q***96581 天前
如何在 Ubuntu 22.04 上安装 MySQL
linux·mysql·ubuntu
剑动山河1 天前
ubuntu 22.04 升级openssh默认版本8.9p1 到10.1p1
linux·ubuntu