Ubuntu下DNS服务器的配置

2022-09-02 10:25:41 浏览数 (1)

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

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目录下去寻找数据文件。

代码语言:text复制
directory “var/cache/bind”

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

代码语言:shell复制
sudo apt-get purge bind9

2、安装Bind9

代码语言:shell复制
sudo apt-get -y install bind9

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

代码语言:perl复制
sudo mv /etc/bind/named.conf.local /etc/bind/named.conf.local-bak
sudo vim /etc/bind/named.conf.local

添加下列信息:

代码语言:text复制
zone "kevin.com" {
    type master;
    file "db.kevin.com";
};

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

代码语言:text复制
sudo cp /etc/bind/db.local /var/cache/bind/db.kevin.com

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

代码语言:shell复制
sudo vim /var/cache/bind/db.kevin.com

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

代码语言:text复制
;
; 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

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

代码语言:shell复制
sudo vim /etc/bind/named.conf.local

添加下列信息:

代码语言:text复制
zone "191.168.192.in-addr.arpa" {
    type master;
    file "db.192.168.191";
};

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

代码语言:shell复制
sudo cp /etc/bind/db.127 /var/cache/bind/db.191.168.192

修改该Zone文件

代码语言:shell复制
sudo vim /var/cache/bind/db.191.168.192

将其改为如下内容:

代码语言:text复制
;
; 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.

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

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

代码语言:text复制
sudo vim /etc/resolv.conf

修改为
search kevin.com
nameserver 192.168.191.4

(2)重启Bind9

代码语言:shell复制
sudo service bind9 restart

四、测试

代码语言:text复制
ping kevin.com

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

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

0 人点赞