lloridy 2024-07-09 10:59 采纳率: 0%
浏览 38

arm开发板下 解析不了DNS的问题

按照网上的资料 在/etc目录下增加了hosts文件,内容如下

127.0.0.1 localhost

增加了host.conf文件

order hosts,bind
multi on

增加了nsswitch.conf文件

passwd:         files 
group:          files 
shadow:         files
gshadow:        files

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

自带resolv.conf

nameserver 8.8.8.8
nameserver 114.114.114.114

将libnss_dns.so.2 libnss_files.so.2 放入/usr/lib 下
以上文件权限全设为了 777 仍然无法ping通 localhost 只能ping通ip 望指点

  • 写回答

2条回答 默认 最新

  • 阿里嘎多学长 2024-07-09 10:59
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    看起来你在ARM开发板上遇到了DNS解析问题,这通常涉及到系统如何解析主机名到IP地址的配置。根据你提供的信息,我会给你一些可能的解决方案和检查步骤:

    1. 检查hosts文件:确保你的/etc/hosts文件中的localhost条目是正确的,通常应该是这样的:

      127.0.0.1       localhost
      

      注意localhost前后不应该有空格。

    2. 检查文件权限:虽然你已经将权限设置为777,但通常不建议这样做,因为这可能会带来安全风险。对于/etc/hosts文件,通常建议使用644权限。

    3. 检查/etc/nsswitch.conf文件:你的配置看起来是正确的,确保hosts:行是files dns,这意味着系统会先查找本地文件,然后是DNS。

    4. 检查/etc/host.conf文件:你的配置也是正确的,multi on允许多个名称服务同时运行。

    5. 检查resolv.conf文件:你已经设置了Google的公共DNS和114.114.114.114,这是正确的。但请确保这个文件没有被其他进程覆盖。

    6. 检查网络配置:确保你的开发板网络配置正确,并且能够访问外部网络。

    7. 使用getent命令:这个命令可以用来测试主机名解析。运行getent hosts localhost,看是否返回127.0.0.1。

    8. 重启网络服务:有时候更改配置后需要重启网络服务或者整个系统。

    9. 检查防火墙设置:确保防火墙规则没有阻止ping命令。

    10. 查看系统日志/var/log/syslog/var/log/messages可能会有关于DNS解析失败的有用信息。

    如果上述步骤都不能解决问题,可能需要更深入地检查系统配置或考虑是否有其他系统级的问题。由于我没有提供具体的参考链接,你可以根据上述步骤自行搜索更详细的信息或寻求社区的帮助。希望这些信息能帮助你解决问题!

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 7月9日