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

Ubuntu中静态DNS配置的方法详解

程序员文章站 2023-11-14 16:28:34
dns服务的简介: dns(domain name server,域名服务器)是进行域名(domain name)和与之相对应的ip地址 (ip address)转换的服...

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。

系统环境:

系统平台: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服务器

静态ip配置

ubuntu 的网络配置信息放在 /etc/network/interfaces 中,如果配置动态获取ip,则在上述文件中加入以下内容:

使用如下命令打开网络配置信息文件:

sudo gedit /etc/network/interfaces

编辑文件(注意检察你的getway是否正确。):

   auto eth0
   iface eth0 inet static
   address 192.168.8.119
   netmask 255.255.255.0
   gateway 192.168.8.1

配置完成之后重启网络:

sudo /etc/init.d/networking restart

这时查看的就修改好的配置信息了

总结

详细梳理了在debian系列发行版之下linux静态dns服务器的绑定流程,我们可以使用上述三种方法的任意一种。(囧rz,每种方法语法都不一样,坑爹的linux)当然redhat系列的发行版可以参考上述的内容,静态配置dns服务器流程应该也是大同小异。

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。