Centos 6 DNS 配置 解决 Unknown host
测试服务器Maven 打包时遇到了如下的错误
maven.aliyun.com: Name or service not known: Unknown host maven.aliyun.com: Name or service not known
看上去应该是对 maven.aliyun.com的DNS 域名解析出问题了。
登录到服务器上 ping maven.aliyun.com 果然ping 不通, 而本地机器上是可以的。基本可以确定是 DNS的问题。
于是百度了下centos6 如何配置DNS 。 较多的结果是。
vi /etc/resolv.conf
在resolv.conf中增加一行,配置一个有效的dns 服务器保存如下。
nameserver 114.114.114.114
重新ping了下也确实解决了。 能够正常解析了。但是 resolve.conf文件中的一行文字引起了我的注意。
; generated by /sbin/dhclient-script
这应该说明这个文件是被自动生成的, 在这里的修改会不会不持久呢。 于是进一步搜索了下。果然发现这不是个持久的修改,重启后,会被覆盖。
查看下网卡的网络配置。单网卡通常是 ifcfg-eth0,有几个网卡有几个 ethX ,具体可以通过 ifconfig查看
vi /etc/sysconfig/network-scripts/ifcfg-eth0
其中也存在对应DNS的相关配置
DNS1=192.168.1.2
那么 /etc/sysconfig/network-scripts/ifcfg-eth0 与 resolve.conf 中对于DNS的配置是什么关系呢?网上没有找到比较确切的说法。
在官网查到了网卡配置文件的说明。在这里
相关的几个配置指令
DNS{1,2}=address
指定一个DNS服务器地址, 当 PEERDNS指令 设置为YES时,将被写入 /etc/resolv.conf 文件。
上面提到了resolv.conf 确实会被这里的DNS配置修改。
再看下PEERDNS指令
PEERDNS=answer
当为YES时,如果使用了DNS设置, 或者启用了DHCP,或者 使用了那啥(Microsoft's RFC 1877 IPCP extensions with PPP),/etc/resolv.conf 文件将会被修改。默认为YES
当为NO时, 不修改 /etc/resolv.conf
测试了下, 如果只修改resolv.conf中的DNS, 重启系统后, 确实会被刷新为ifcfg-ethX中的配置。
总结如下
1. 系统需要进行域名解析时,是会优先使用resolv.conf中的DNS配置。所以直接修改resolv.conf DNS配置是可以生效的。
2. resolv.conf中的配置可能会被ethX中的DNS配置覆盖,规则如上PEERDNS指令说明。
所以就都改下呗。。
本文来自博客园,作者:锅叔
转载请注明原文链接:https://www.cnblogs.com/uncleguo/p/15900339.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库