Ubuntu 18.04设置dns

最近使用了最新版的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

 

转载于:https://www.cnblogs.com/marklove/p/9196045.html

Ubuntu 18.04 上,可以使用 BIND(Berkeley Internet Name Domain)软件包来安装 DNS 服务器。下面是安装步骤: 1. 打开终端,更新软件包列表: ``` sudo apt update ``` 2. 安装 BIND 软件包: ``` sudo apt install bind9 ``` 3. 安装完成后,进入 BIND 配置目录: ``` cd /etc/bind/ ``` 4. 备份原始配置文件: ``` sudo cp named.conf.options named.conf.options.bak sudo cp named.conf.local named.conf.local.bak ``` 5. 编辑 named.conf.options 文件,添加以下内容: ``` options { directory "/var/cache/bind"; recursion yes; allow-recursion { any; }; forwarders { 8.8.8.8; 8.8.4.4; }; dnssec-validation auto; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; }; ``` 这里的配置项含义如下: - directory:指定缓存文件的存放目录; - recursion:允许递归查询; - allow-recursion:允许任何人进行递归查询; - forwarders:指定转发器,这里使用 Google 的公共 DNS 服务器; - dnssec-validation:启用 DNSSEC 验证; - auth-nxdomain:如果查询的域名不存在,则不返回“不可知的域名”错误; - listen-on-v6:监听 IPv6 地址。 6. 编辑 named.conf.local 文件,添加以下内容: ``` zone "example.com" { type master; file "/etc/bind/db.example.com"; }; ``` 这里的配置项含义如下: - zone:指定域名; - type:指定 DNS 服务器的类型,这里是主服务器; - file:指定域名的资源记录文件。 7. 创建资源记录文件 db.example.com,添加以下内容: ``` $TTL 604800 @ IN SOA ns1.example.com. admin.example.com. ( 3 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns1.example.com. @ IN A 192.168.1.10 ns1 IN A 192.168.1.10 www IN CNAME example.com. ``` 这里的配置项含义如下: - $TTL:指定缓存时间(以秒为单位); - @:表示域名本身; - SOA:Start of Authority,指定域名服务器的授权信息; - NS:Name Server,指定主 DNS 服务器; - A:Address Record,指定域名对应的 IP 地址; - CNAME:Canonical Name,指定域名的别名。 8. 重新启动 BIND 服务: ``` sudo systemctl restart bind9 ``` 至此,DNS 服务器的安装和配置就完成了。你可以使用 nslookup 命令测试域名解析是否正常: ``` nslookup example.com ``` 输出应该包含以下信息: ``` Server: 127.0.0.53 Address: 127.0.0.53#53 Name: example.com Address: 192.168.1.10 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值