Linux之DNS服务器配置

服务器 0

 一、安装DNS服务

1、安装DNS服务相关软件包

bind: DNS服务器软件包

bind-utils: DNS测试工具,包括dig,host与nslookup等。

bind-chroot: 使BIND运行在指定的目录中二点安全增强工具。

我们选择bindbind-utils就够了:yum install bind bind-utils

2、BIND的启动

systemctl start named     //开启DNS服务

systemctl enable named  //开机自启动DNS服务

rndc status                        //查看域名服务器的运行状态

3、防火墙配置

摘要:防火墙默认是不允许DNS服务通过的,需要管理员添加允许防火墙通过DNS服务的策略

systemctl start firewalld     //开启防火墙

firewall-cmd --get-services  //显示防火墙预定义的服务(我们可以通过该命令找到dns)

firewall-cmd --permanent  --add-service=dns  //允许防火墙通过DNS服务

firewall-cmd --reload            //重新载入防火墙 

 接下来还有创建DNS服务正向查找区域和反向查找区域,为了更好理解,我们根据一个实训任务   展开讲解。                                                                                                                        ​                                                                                                                                                 

实训任务:

某公司要求在内部网络部署DNS服务器,用内部DNS服务器为内部网络中的计算机提供内部网络和Internet的域名解析服务。

部署信息如下:

任务一:在server1上安装DNS服务,并将其配置为主DNS服务器

(1) 安装DNS服务

(2) 创建正向查找区域,并根据上表提供的信息在区域中添加资源记录;

          创建反向查找区域,并根据上表提供的信息在区域中添加资源记录。

(3) 检查区域数据文件语法错误

(4) 启动/重启DNS服务

(5) 开启防火墙,添加对应的服务

任务二:使用client对主DNS服务器和辅助DNS服务器进行测试

(1) client网络配置

(2) 在客户端执行DNS域名查询测试,对DNS服务器进行域名查询测试

二、创建DNS服务器正向查找区域

1、配置DNS服务器主配置文件(正向查找)

vim /etc/named.conf

options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };
        forwarders { 211.136.192.6;120.196.165.24; };  //转发DNS服务器IP地址
        forward only;

        recursion yes;

        dnssec-enable no;
        dnssec-validation no;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.root.key";

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

zone "junyi.com" IN {  //此处的xxx.com由自己命名
  type master;
  file "junyi.com.zone";
  allow-update { none; };
};


include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
 

named-checkconf     //检查DNS服务主配置文件的语法

2、创建区域数据文件(正向查找区域)

cd /var/named

cp -a named.localhost junyi.com.zone    //此处的xxx.com.zone与主配置文件中定义的一致

vim junyi.com.zone

$TTL 1D
@       IN SOA  server 3094588253.qq.com. (   //邮箱改为自己的
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      server
server  A       192.168.1.10
www     A       192.168.1.100
ftp     CNAME   server
mail    A       192.168.1.200
@       MX 10   mail
~                              

named-checkzone junyi.com /var/named/junyi.com.zone    //检查区域文件的语法(正向)

三、创建DNS服务器反向查找区域

1、配置DNS服务器主配置文件(反向查找)

vim /etc/named.conf

摘要:在正向查找的基础上编辑。

options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };
        forwarders { 211.136.192.6;120.196.165.24; };  //转发DNS服务器IP地址
        forward only;

        recursion yes;

        dnssec-enable no;
        dnssec-validation no;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.root.key";

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

zone "junyi.com" IN {  //此处的xxx.com由自己命名
  type master;
  file "junyi.com.zone";
  allow-update { none; };
};

zone "1.168.192.in-addr.arpa" IN {
  type master;
  file "1.168.192.zone";
  allow-update { none; };
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

2、创建区域数据文件(反向查找区域)

cd /var/named

cp -a named.loopback 1.168.192.zone      //将模板文件复制到区域数据文件

vim 1.168.192.zone

$TTL 1D
@       IN SOA @ 3094588253.qq.com. (   //邮箱改为自己的
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       192.168.1.10
10       PTR     server.junyi.com.
100     PTR     www.junyi.com.
100     PTR     ftp.junyi.com.
200     PTR     mail.junyi.com.

named-checkzone 1.168.192 /var/named/1.168.192.zone  //检查区域文件语法(反向)

四、重启DNS服务

systemctl restart named

五、测试

1、客户端IP配置

cd /etc/sysconfig/network-scripts/
vim ifcfg-ens33 

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static

IPADDR=192.168.1.20
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=ee00f1c4-4501-4750-bb76-a1b226380d07
DEVICE=ens33

ONBOOT=yes
DNS1=192.168.1.10

2、正向域名查询和反向域名查询

正向域名查询:

反向域名查询:

至此,DNS服务器搭建完成!

也许您对下面的内容还感兴趣: