阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu系统下静态DNS配置详解

246次阅读
没有评论

共计 1406 个字符,预计需要花费 4 分钟才能阅读完成。

1.DNS 服务的简介:

DNS(Domain Name Server,域名服务器)是进行域名 (domain name) 和与之相对应的 IP 地址 (IP address)转换的服务器。DNS 中保存了一张域名 (domain name) 和与之相对应的 IP 地址 (IP address)的表,以解析消息的域名。

因为实验室实现的拟态存储系统需要实现动态变更 ip 地址,所以需要搭建一个 dns 服务器,并且将需要查询变更 ip 地址的服务器都绑定到同一台 dns 服务器之上。通常在 RedHat 系列 (eg:Fedora,CentOS) 的系统之中, 当我们需要变更 dns 服务器是一件很简单的事情, 可以直接修改对应的 /etc/resolv.conf 文件。添加或修改 nameserver 后面的 ip 地址就可以了。但是我傻乎乎的以为在 Debian 系列 (eg:Ubuntu,Mint) 之下也是这样的设置的,似乎一改也能用,我就没有细究了。

某天断电重启之后,Ubuntu 系统上 DNS 服务集体失效,而后排查发现 /etc/resolv.conf 文件被覆盖写了,原先配置的 dns 信息全部消失。如下图所示:

Ubuntu 系统下静态 DNS 配置详解

囧 rz!Ubuntu 都告诉你了,DO NOT EDIT THIS FILE BY HAND — YOUR CHANGES WILL BE OVERWRITTEN。

2. 系统环境:

系统平台:Ubuntu 14.04

我们来梳理一遍 Ubuntu 下对 resolv.conf 的编辑规则,就可以总结出来怎么对症下药去处理静态 dns 的配置重启失效的问题了。

流程分析:
    1. 在 Ubuntu 系统网络设备启动的流程中,会依赖 /etc/network/interface 的配置文件初始化网络接口,所以直接在 /etc/network/interface 之中配置好对应的 dns 服务器会最先写入 /etc/resolv.conf。所以我们可以在其中添加如下内容:

             dns-nameservers 180.76.76.76 // 支持一下,百度的 DNS 服务器
  • 2. 接下来 NetworkManager 会接力填充 /etc/resolv.conf。依赖配置文件/etc/NetworkManager/NetworkManager.conf,通过修改这个配置文件中的 dns 项,我们也可以实现静态 dns 配置的目的:

    dns=119.29.29.29  // 腾讯的 DNS 服务器
  • 3. 如果你错过了前面两步,没关系,我们还有机会补救。接下来 resolv 会读取自己的 dns 配置文件,写入 /etc/resolv.conf。依赖的配置文件是/etc/resolvconf/resolv.conf.d/tail。通过添加 dns 服务器的方式,我们也可以实现写入我们静态配置的 dns 服务器。

    nameserver=223.5.5.5  // 阿里的 DNS 服务器

    小结 : 详细梳理了在 Debian 系列发行版之下 Linux 静态 DNS 服务器的绑定流程,我们可以使用上述三种方法的任意一种。( 囧 rz,每种方法语法都不一样,坑爹的 Linux)当然 RedHat 系列的发行版可以参考上述的内容, 静态配置 dns 服务器流程应该也是大同小异。若有疏漏,望指点斧正。

更多 Ubuntu 相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-12/149055.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1406字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中