您尚未登录。

#1 2022-08-29 18:28:02

KimJungWha
会员
注册时间: 2020-08-10
帖子: 2

请教 hosts 记录解析规则

当 hosts 文件中一个域名存在内外网两个 IP 时,有些系统优先访问内网,而有些顺序访问外网,想请问下这是什么原因导致的

hosts 内容如下

114.114.114.114 baidu.com
192.168.2.254    baidu.com

我记忆里访问一个域名时首先逐行读取 hosts 文件,读到返回访问,读不到就去找 DNS
在 Rocky Linux(vbox vm)、Debian (vbox vm) 上会按顺序优先访问外网地址
但是在 RHEL(vmware vm)、Ubuntu (vmware vm)、ArchLinux(实体笔记本)、Debian(Arm 盒子)上会优先访问内网地址

在我的 vbox 虚拟机里是顺序执行的
b9c3a61d15f7b5a3.jpg
b9e7d92ebb7881a3.jpg

在实体机上是优先访问内网
78cf107aaab114c6.jpg

离线

#2 2022-08-29 18:43:33

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,934
个人网站

Re: 请教 hosts 记录解析规则

检查一下 /etc/gai.conf 里的优先级设置?

离线

#3 2022-08-29 18:47:57

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,934
个人网站

Re: 请教 hosts 记录解析规则

哦,还要看一下 /etc/nsswitch.conf 里是不是 resolve 优先了。这个是 systemd-resolved,它的行为和 glibc 会不一样。

离线

#4 2022-08-29 19:00:36

KimJungWha
会员
注册时间: 2020-08-10
帖子: 2

Re: 请教 hosts 记录解析规则

收到,确实是 system-resolved 的问题,已经解决了,谢谢依云姐

离线

页脚