欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ubuntu 18.04设置dns

程序员文章站 2022-06-03 21:25:14
...

最近使用了最新版的ubuntu 18.04运行一些服务,然后发现服务器经常出现网络不通的情况,主要是一些域名无法解析。

检查/etc/resolv.conf,发现之前修改的nameserver总是会被修改为127.0.0.53,无论是改成啥,过段时间,总会变回来。

查看/etc/resolv.conf这个文件的注释,发现开头就写着这么一行:

# This file is managed by man:systemd-resolved(8). Do not edit.

这说明这个文件是被systemd-resolved这个服务托管的。

通过netstat -tnpl| grep systemd-resolved查看到这个服务是监听在53号端口上。

查了下,这个服务的配置文件为sudo leafpad /etc/systemd/resolved.conf,大致内容如下:

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

如果我们要想让/etc/resolve.conf文件里的配置生效,需要添加到systemd-resolved的这个配置文件里DNS配置项(如上面的示例,已经完成修改),然后重启systemd-resolved服务即可。

另一种更简单的办法是,我们直接停掉systemd-resolved服务,这样再修改/etc/resolve.conf就可以一直生效了。

 

chongqi cmd

 sudo systemctl restart systemd-resolved

clean dns

sudo /etc/init.d/dns-clean start

 

停止方法

sudo systemctl disable systemd-resolved.service
sudo service systemd-resolved stop
 https://superuser.com/questions/1153203/ubuntu-17-04-systemd-resolved-dns-lookups-randomly-fail
 
网络检测
1. sudo lshw -numeric -class network
2. sudo ip addr show
3. sudo ip route show
4. sudo tracepath forum.ubuntu.org.cn
5. sudo traceroute forum.ubuntu.org.cn
http://forum.ubuntu.org.cn/viewtopic.php?t=487423
 

从 NetworkManager 切换到 Systemd-networkd

从 NetworkManager 切换到 systemd-networkd 其实非常简答(反过来也一样)。

首先,按照下面这样先停用 NetworkManager 服务,然后启用 systemd-networkd。

  1. sudosystemctl disable NetworkManager
  2. sudosystemctl enable systemd-networkd

你还要启用 systemd-resolved 服务,systemd-networkd用它来进行域名解析。该服务还实现了一个缓存式 DNS 服务器。

  1. sudosystemctl enable systemd-resolved
  2. sudosystemctl start systemd-resolved

当启动后,systemd-resolved 就会在 /run/systemd 目录下某个地方创建它自己的 resolv.conf。但是,把 DNS 解析信息存放在 /etc/resolv.conf 是更普遍的做法,很多应用程序也会依赖于 /etc/resolv.conf。因此为了兼容性,按照下面的方式创建一个到 /etc/resolv.conf 的符号链接。

  1. sudorm/etc/resolv.conf
  2. sudoln-/run/systemd/resolve/resolv.conf /etc/resolv.conf

 

 

https://www.linuxidc.com/Linux/2015-11/125430.htm

 

sudo dpkg-reconfigure resolvconf

 

sudo systemctl restart systemd-resolved



/etc/resolv.conf
nameserver 8.8.8.8   << or another if you don't trust google
nameserver 8.8.4.4

sudo systemctl disablesystemd-resolved.service

sudo service systemd-resolved stop
 

 https://superuser.com/questions/1153203/ubuntu-17-04-systemd-resolved-dns-lookups-randomly-fail

Ubuntu 17.04 systemd-resolved DNS lookups randomly fail