背景
最近在使用ubuntu操作系统的时候,系统重新启动之后,浏览器突然无法上网了。在排查之后发现是域名解析的地方出现了问题,本文主要记录了故障排查过程。
排查过程
- 发现服务器无法上网之后,第一件事情就是查看网卡状态。执行
ifconfig
命令,返回结果如下:
网卡状态正常。
- 查看路由表,执行
route
命令
路由也正常。
3.在确认路由正常的情况下,使用ping
继续测试:
返回异常,错误很明显,无法解析域名。
修复
systemd-resolved
是 Ubuntu 中默认的域名解析服务守护进程。它处理本地应用程序的 DNS 解析请求。配置文件位于 /etc/systemd/resolved.conf
。配置文件内容如下:
less
[Resolve]
# Some examples of DNS servers which may be used for DNS= and FallbackDNS=:
# Cloudflare: 1.1.1.1#cloudflare-dns.com 1.0.0.1#cloudflare-dns.com 2606:4700:4700::1111#cloudflare-dns.com 2606:4700:4700::1001#cloudflare-dns.com
#Google: 8.8.8.8#dns.google 8.8.4.4#dns.google 2001:4860:4860::8888#dns.google 2001:4860:4860::8844#dns.google
# Quad9: 9.9.9.9#dns.quad9.net 149.112.112.112#dns.quad9.net 2620:fe::fe#dns.quad9.net 2620:fe::9#dns.quad9.net
#DNS=
#FallbackDNS=
#Domains=
#DNSSEC=no
#DNSOverTLS=no
#MulticastDNS=no
#LLMNR=no
#Cache=no-negative
#CacheFromLocalhost=no
#DNSStubListener=yes
#DNSStubListenerExtra=
#ReadEtcHosts=yes
#ResolveUnicastSingleLabel=no
#DNS=127.0.0.1
#FallbackDNS=114.114.114.114
#DNSStubListener=no
在以上内容下面添加
ini
DNS=114.114.114.114
FallbackDNS=8.8.8.8 8.8.4.4
重启服务,执行如下命令:
sudo systemctl restart systemd-resolved.service
查看当前域名解析服务的状态,执行systemctl status systemd-resolved.service
,结果如下所示:
可以看到配置已经生效。重新ping
一下百度的域名,返回正常。