银河麒麟操作系统DNS无法解析解决方案

第1章、 处理DNS无法解析问题

1.1、 问题描述

可以ping通外网地址,单ping域名无法ping通,并出现“未知的域名或服务”报错。如下图所示。

 

1.2、 问题分析

1.2.1、 查看网卡配置文件里是否配置DNS

cat /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=none

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=ens33

#UUID=0faac61f-d569-473e-9842-0fd11bf5712f

DEVICE=ens33

ONBOOT=yes

IPADDR=10.0.0.201

PREFIX=24

GATEWAY=10.0.0.2

DNS1=223.5.5.5

DNS2=223.6.6.6

IPV6_PRIVACY=no

1.2.2、 重启网卡

systemctl restart network.service

1.2.3、 检查防火墙配置

systemctl restart firewalld.service

1.2.4、 检查hosts文件

编辑/etc/hosts文件,将域名和IP地址写入到该文件中,查看是否可以正常解析

1.2.5、 检查nsswitch文件

检查/etc/nsswitch.conf配置文件

grep hosts /etc/nsswitch.conf

hosts:      files myhostname

通过以上步骤进行排查,发现/etc/nsswitch.conf配置文件中hosts行未配置dns选项(如下图所示),导致解析域名时不会读取/etc/resolv.conf文件,从而导致域名解析失败。

 

1.3、 解决方案

编辑/etc/nsswitch.conf配置文件,执行如下命令:

vim /etc/nsswitch.conf

将该文件中以下内容:hosts:       files myhostname

改为如下内容:hosts:       files dns myhostname
【提示】/etc/nsswitch.conf配置文件中hosts项的值代表按优先级顺序列出服务,这些服务用于查找域名的IP地址。

1.4、 验证DNS解析

 

posted @ 2025-12-14 10:16  呼长喜  阅读(6)  评论(0)    收藏  举报