Ubuntu系统下静态DNS配置详解

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信息全部消失。如下图所示:

Screenshot from 2017-11-13 08:24:46.png

囧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服务器流程应该也是大同小异。若有疏漏,望指点斧正。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏伪君子的梦呓

安装和激活 VMware workstation

1644
来自专栏FreeBuf

用某品牌随身WiFi进行钓鱼测试

本文内容仅代表作者观点且只做测试展示,目的是提醒读者注意 WiFi 联网安全,严禁将内容用于不法用途。 前言 搭建钓鱼 WiFi 来盗取账号密码已经成为一种很...

2245
来自专栏惨绿少年

Zabbix 3.0 从入门到精通(zabbix使用详解)

第1章 zabbix监控 1.1 为什么要监控      在需要的时刻,提前提醒我们服务器出问题了      当出问题之后,可以找到问题的根源      网站/...

9411
来自专栏玄魂工作室

​ kali linux 渗透测试 之 DNS信息收集

从本节开始,我们从头开始,系统的学习基于Kali Linux的web应用渗透测试。

2232
来自专栏西枫里博客

删除QQ内置浏览器,不再为误点烦恼。

事情得从好久之前说起,自从上次火绒说QQ推广管家和浏览器有流氓行为。就对QQ内置的浏览器耿耿于怀。今天boke112群主说不喜欢分享的链接被QQ内置浏览器打开。...

2191
来自专栏PHP在线

php + mysql 分布式事务

事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元; 事务应该具有4个属性:原子性、一致性、隔离性、持续性; 原子性(atomi...

4906
来自专栏JackeyGao的博客

Django小技巧04: 自动日期时间字段

Django 的DateTimeField和DateField有两个非常有用的参数,用于自动管理时间。如果你需要跟踪保存纪录的创建时间和更改时间,则无须手动执行...

2573
来自专栏nice_每一天

sudo apt-get 与 yum安装有啥区别

1412
来自专栏大内老A

谈谈分布式事务之二:基于DTC的分布式事务管理模型[上篇]

通过上一篇的介绍,我们知道了SOA真正需要的是一个能够协调服务操作直接(通过服务自身访问的资源)或者间接(通过被调用服务访问的资源)访问的所有资源的分布式事务管...

1837
来自专栏散尽浮华

Netdata---Linux系统性能实时监控平台部署记录

通常来说,作为一个Linux的SA,很有必要掌握一个专门的系统监控工具,以便能随时了解系统资源的占用情况。下面就介绍下一款Linux性能实时监测工具-Netda...

7748

扫码关注云+社区

领取腾讯云代金券