欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Centos 6 DNS 配置 解决 Unknown host

程序员文章站 2024-01-05 08:54:28
...

镜像下载、域名解析、时间同步请点击 阿里云开源镜像站

测试服务器Maven 打包时遇到了如下的错误

  1. 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 。 较多的结果是。

  1. vi /etc/resolv.conf

在resolv.conf中增加一行,配置一个有效的dns 服务器保存如下。

  1. nameserver 114.114.114.114

重新ping了下也确实解决了。 能够正常解析了。但是 resolve.conf文件中的一行文字引起了我的注意。

  1. ; generated by /sbin/dhclient-script

这应该说明这个文件是被自动生成的, 在这里的修改会不会不持久呢。 于是进一步搜索了下。果然发现这不是个持久的修改,重启后,会被覆盖。

查看下网卡的网络配置。单网卡通常是 ifcfg-eth0,有几个网卡有几个 ethX ,具体可以通过 ifconfig查看

  1. vi /etc/sysconfig/network-scripts/ifcfg-eth0

其中也存在对应DNS的相关配置

  1. DNS1=192.168.1.2

那么 /etc/sysconfig/network-scripts/ifcfg-eth0 与 resolve.conf 中对于DNS的配置是什么关系呢?网上没有找到比较确切的说法。

在官网查到了网卡配置文件的说明。在这里

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/s1-networkscripts-interfaces

相关的几个配置指令

  1. DNS{1,2}=address

指定一个DNS服务器地址, 当 PEERDNS指令 设置为YES时,将被写入 /etc/resolv.conf 文件。</pre>

上面提到了resolv.conf 确实会被这里的DNS配置修改。

再看下PEERDNS指令

  1. PEERDNS=answer

当为YES时,如果使用了DNS设置, 或者启用了DHCP,或者 使用了那啥(Microsoft’s RFC 1877 IPCP extensions with PPP),/etc/resolv.conf 文件将会被修改。默认为YES
当为NO时, 不修改 /etc/resolv.conf</pre>

测试了下, 如果只修改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