现象描述
Linux 实例无法解析 mirrors.tencentyun.com 和 mirror.ccs.tencentyun.com 等域名。
可能原因
未配置 DNS 地址或者 DNS 地址错误。
防火墙设置了 53 端口的相关规则。
开启了 DNS 的 NSCD 缓存服务。
/lib64/libnss_dns.so.2 库文件丢失导致无法解析域名。
解决方案
请按照以下方法进行排查并定位问题,然后根据现场实际情况,选择对应的处理方式:
1. 执行以下命令,查看是否正确配置 DNS 服务器。
cat /etc/resolv.conf #(tlinux/redhat/centos/rockylinux)cat /run/systemd/resolve/resolv.conf #(ubuntu)
腾讯云的 DNS 服务器:
nameserver 183.60.82.98nameserver 183.60.83.19
2. 执行以下命令,查看防火墙是否添加了53端口的相关规则。
iptables -L
3. 执行以下命令,查看是否启动了 DNS 的 NSCD 缓存服务。
systemctl status nscd
若启动了 NSCD 缓存服务,请执行
systemctl stop nscd
命令,关闭 NSCD 缓存服务。4. 查看 /lib64/libnss_dns.so.2 等关键 lib 库文件是否丢失或被修改。
ls -l /lib64/libnss_dns.so.2#/lib64/libnss_dns.so.2库文件由glibc包产生,可以通过校验glibc查看包是否被修改。rpm -V glibc
进一步判断是否存在软链接对应源文件,如 CentOS 7的是 /usr/lib64/libnss_dns-2.17.so,如果不存在则可在同 OS 版本的正常服务器上下载替换。
如果还存在 /usr/lib64/libnss_dns-2.17.so,可以通过软链接修复。
ln -s /usr/lib64/libnss_dns-2.17.so /usr/lib64/libnss_dns.so.2