环境
Linux 3.10内核
busybox 1.29.3 文件系统
问题描述
文件系统没有/etc/hosts文件
手动创建/etc/hosts,然后追加了静态域名映射关系:
127.0.0.1 xxx.com
10.10.34.29 www.xjj.com
183.2.172.177 www.baidu.com
然后ping 域名发现没作用:
[rsu7012: ~]# ping xxx.com
ping: unknown host xxx.com
正常情况下,即使ping不通也会出现类似如下域名和IP的转换关系:
[rsu7012: ~]# ping xxx.com
PING xxx.com (127.0.0.1) 56(84) bytes of data.
解决
问了AI和google搜索后得到解决方法,还需要配置/etc/nssswitch.conf(name service switch configuration,域名服务切换配置)文件。
系统也没有/etc/nssswitch.conf文件,手动创建该文件。
参考PC主机ubuntu系统,将如下语句追加到/etc/nssswitch.conf文件中:
hosts: files mdns4_minimal [NOTFOUND=return] dns mymachines
或者使用AI提供的:
hosts: files dns
- `files 表示优先使用/etc/hosts
- dns 表示后续使用 DNS 解析。
再次ping域名测试正常:
[rsu7012: ~]# ping xxx.com
PING xxx.com (127.0.0.1) 56(84) bytes of data.
64 bytes from xxx.com (127.0.0.1): icmp_seq=1 ttl=64 time=0.209 ms
64 bytes from xxx.com (127.0.0.1): icmp_seq=2 ttl=64 time=0.200 ms
64 bytes from xxx.com (127.0.0.1): icmp_seq=3 ttl=64 time=0.178 ms
64 bytes from xxx.com (127.0.0.1): icmp_seq=4 ttl=64 time=0.198 ms
64 bytes from xxx.com (127.0.0.1): icmp_seq=5 ttl=64 time=0.195 ms
64 bytes from xxx.com (127.0.0.1): icmp_seq=6 ttl=64 time=0.180 ms
64 bytes from xxx.com (127.0.0.1): icmp_seq=7 ttl=64 time=0.180 ms
64 bytes from xxx.com (127.0.0.1): icmp_seq=8 ttl=64 time=0.177 ms
64 bytes from xxx.com (127.0.0.1): icmp_seq=9 ttl=64 time=0.194 ms
64 bytes from xxx.com (127.0.0.1): icmp_seq=10 ttl=64 time=0.189 ms
--- xxx.com ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 8998ms
rtt min/avg/max/mdev = 0.177/0.190/0.209/0.010 ms