Ubuntu下DNS服务器的配置

Ubuntu下DNS服务器的配置Ubuntu下DNS服务器的配置——Bind9发表于2017/6/1214:35:49 1220人阅读分类:ubuntu服务器DNS

大家好,又见面了,我是你们的朋友全栈君。

Ubuntu下DNS服务器的配置——Bind9

发表于2017/6/12 14:35:49  1220人阅读

分类:
ubuntu
服务器
DNS

Ubuntu下DNS服务器的配置
看到网上关于在Ubuntu下配置DNS的文章很少,自己在配置过程中也掉入了很多坑,最后找到一本书,才把问题解决了。

如果文章有缺漏的地方,或者让你有疑惑的地方,可以联系
QQ:923198645

一、Bind9配置文件介绍
Bind的配置文件,放在/etc/bind9/目录下,主要的配置文件有以下4个,分别是:

  • /etc/bind9/named.conf(主配置文件)
  • /etc/bind9/named.default-zones;
  • /etc/bind9/named.conf.options;
  • /etc/bind9/named.conf.local

其中,/etc/bind9/named.conf是Bind的主配置文件,不过他并不包含DNS数据。查看/etc/bind9/named.conf文件可以发现,主配置文件里面使用了include关键字来加载其它3个配置文件。
在/etc/bind9/named.conf.options文件中,有一句默认的配置(如下),该语句的所示的目录的作用是存放正向解析以及反向解析的一些配置文件,该配置告诉Bind,到/var/cache/bind目录下去寻找数据文件。

directory “var/cache/bind”
 
 
 
  • 1

二、配置Bind9
1、完全卸载(如果你是首次安装,请忽略)
在你看这篇文章的时候,也许你已经在DNS配置里面挣扎了很久,然后没有成功,那么,请你执行以下命令(卸载bind9,并且删除配置文件)

sudo apt-get purge bind9
 
 
 
  • 1

2、安装Bind9

sudo apt-get -y install bind9
 
 
 
  • 1

3、创建正向Zone文件
正向Zone文件是用来做正向解析的,即将域名解析为IP地址
(1)首先,修改/etc/bind/named.conf.local文件

sudo mv /etc/bind/named.conf.local /etc/bind/named.conf.local-bak
sudo vim /etc/bind/named.conf.local
 
 
 
  • 1
  • 2

添加下列信息:

zone "kevin.com" {
    type master;
    file "db.kevin.com";
};
 
 
 
  • 1
  • 2
  • 3
  • 4

该配置指定Bind作为kevin.com域的主域名服务器,db. kevin.com文件包含所有*.kevin.com 形式的域名转换数据。文件 db.kevin.com 没有指定路径,所以默认是/var/cache/bind/。
(2)然后,我们复制一个现有的文件作为Zone文件的模板:

sudo cp /etc/bind/db.local /var/cache/bind/db.kevin.com
 
 
 
  • 1

现在,我们来修改该Zone文件:

sudo vim /var/cache/bind/db.kevin.com
 
 
 
  • 1

将其改为如下内容(其中的192.168.191.4是我的局域网IP地址,通过命令行ifconfig可查看主机的局域网IP地址)

;
; BIND data file for local loopback interface
;
$TTL   604800
@   IN  SOA localhost. root.localhost. (
                  2     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
@   IN  NS  ns.
@   IN  A   192.168.191.4
www IN  A   192.168.191.4
@   IN  AAAA    ::1
 
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

4、创建反向Zone文件
反向Zone文件是用来做反向解析的,即把IP地址解析为域名。
(1)首先,修改/etc/bind/named.conf.local文件

sudo vim /etc/bind/named.conf.local
 
 
 
  • 1

添加下列信息:

zone "191.168.192.in-addr.arpa" {
    type master;
    file "db.192.168.191";
};
 
 
 
  • 1
  • 2
  • 3
  • 4

(2)然后,我们复制一个现有的文件作为Zone文件的模板(注意文件名是局域网IP地址前三个段的倒写,我的局域网IP是192.168.191.4):

sudo cp /etc/bind/db.127 /var/cache/bind/db.191.168.192
 
 
 
  • 1

修改该Zone文件

sudo vim /var/cache/bind/db.191.168.192
 
 
 
  • 1

将其改为如下内容:

;
; BIND reverse data file for local loopback interface
;
$TTL   604800
@   IN  SOA localhost. root.localhost. (
                  1     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
@   IN  NS  ns.
4   IN  PTR www.kevin.com
1.0.0   IN  PTR localhost.
 
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

左下角中的4代表IP的最后一个字节号,例如,我的局域网IP地址是192.168.191.4,那么最后一个字节就是4

三、修改主机域名解析地址,重启Bind9
(1)修改主机域名解析地址

sudo vim /etc/resolv.conf

修改为
search kevin.com
nameserver 192.168.191.4
 
 
 
  • 1
  • 2
  • 3
  • 4
  • 5

(2)重启Bind9

sudo service bind9 restart
 
 
 
  • 1

四、测试

ping kevin.com
 
 
 
  • 1

如果有数据的收发,则表示配置成功。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138965.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Django(53)二次封装Response

    Django(53)二次封装Response前言有时候我们使用drf的Response,会发现默认返回的格式不太友好,每次我们都需要写入以下的格式returnResponse({"status":0,"

    2022年7月31日
  • 10_linux内核定时器实验

    10_linux内核定时器实验一、linux时间管理和内核定时器简介1、内核时间管理简介1)宏HZ​ 硬件定时器产生的周期性中断,中断频率就是系统频率(拍率)。系统拍率可以设置,单位是HZ,可在编译内核时通过图形化界面设置,设置路径如下:KernelFeatures->Timerfrequency([=y])​ 配置完以后,可在内核源码根目录下的.config文件找到CONFIG_HZ的值为所设置的系统频率。而文件include/asm-generic/param.h中的宏:#defineHZ

    2022年7月16日
  • elasticsearch系列二:索引详解(快速入门、索引管理、映射详解、索引别名)

    elasticsearch系列二:索引详解(快速入门、索引管理、映射详解、索引别名)

    2022年4月3日
  • 数据库的事务隔离级别总结[通俗易懂]

    数据库的事务隔离级别总结[通俗易懂]学习数据库的时候常常会接触到事务,ACID等概念,那么到底什么是数据库的事务,数据库事务又具有哪些特点,和ACID有怎样的关系,事务的隔离级别又是做什么的呢?。事务及其四大特性?事务(Transaction):访问并可能更新数据库中各种数据项的一个程序执行单元(unit),它通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起。当在数据库中更改数据成功时…

    2022年5月13日
  • 13典藏AutoHotKey脚本让您生活更轻松

    13典藏AutoHotKey脚本让您生活更轻松AutoHotKey是最好的Windows自动化程序之一,可以执行最简单的操作到最艰巨的任务。AutoHotKey是一个免费的开源程序,通过这种脚本语言您的任何Windows日常任务。即使“脚本语言”听起来令人生畏,实际它非常易于使用,并且您可以做各种很酷的事情。让我分享我最喜欢和最常用的AutoHotKey脚本,这些脚本使我的日常任务更加轻松,这可能会对您有所帮助。在开始之前,假定您已经知道如何安装和配置AutoHotKey。此外,请注意以英文分号开头的行是注释。1.搜索快捷方式…

    2022年7月21日
  • python中数组(numpy.array)的基本操作「建议收藏」

    python中数组(numpy.array)的基本操作「建议收藏」 为什么要用numpy   Python中提供了list容器,可以当作数组使用。但列表中的元素可以是任何对象,因此列表中保存的是对象的指针,这样一来,为了保存一个简单的列表[1,2,3]。就需要三个指针和三个整数对象。对于数值运算来说,这种结构显然不够高效。   Python虽然也提供了array模块,但其只支持一维数组,不支持多维数组(在TensorFlow里面偏向于矩阵理解),也…

    2022年8月13日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号