千家信息网

搭建DNS服务器实现域名解析

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,搭建DNS服务器实现域名解析在公司配置一个内网DNS服务器,可以在内网解析域名 www.linux.com为IP:192.168.24.200;另外为保证DNS服务器稳定,还要搭建成一个从DNS服务器
千家信息网最后更新 2026年11月02日搭建DNS服务器实现域名解析

搭建DNS服务器实现域名解析


在公司配置一个内网DNS服务器,可以在内网解析域名 www.linux.com为IP:192.168.24.200;另外为保证DNS服务器稳定,还要搭建成一个从DNS服务器;为DNS服务器做冗余。

测试内容:配置PC客户端的DNS服务器地址为:192.168.24.200和192.168.24.201 ;当模拟192.168.24.200 DNS服务意外关闭时,ping www.linux.com 还可以通过dns2-server正常解析该域名。


实验环境

主DNS服务器 dns1-server : 192.168.24.200

从DNS服务器 dns2-server: 192.168.24.201

客户机 windows


安装服务并启动

[root@DNS1-server~]#yum -y install bind bind-chroot bind-utils[root@DNS1-server~]#chkconfig named on[root@DNS1-server~]#service named start
bind-9.7.3-8.P3.el6.x86_64.rpm         #该包为DNS 服务的主程序包。bind-chroot-9.7.3-8.P3.el6.x86_64.rpm     #提高安全性。#bind-chroot是bind的一个功能,使bind可以在一个chroot 的模式下运行.也就是说,bind运行时的/(根)目录,并不是系统真正的/(根)目录,只是系统中的一个子目录而已.这样做的目的是为了提高安全性.因为在chroot的模式下,bind可以访问的范围仅限于这个子目录的范围里,无法进一步提升,进入到系统的其他目录中.bind-utils-9.7.3-8.P3.el6.x86_64.rpm     #该包为客户端工具,默认安装,用于搜索域名指令

1、搭建一个主DNS服务器dns1.cn。配置内容如下:

[root@DNS1-server ~]# vim /var/named/chroot/etc/named.conf

options {        listen-on port 53 { any ; };   #监听所有网段的IP        listen-on-v6 port 53 { any; };   #监听所有网段的IP        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";        allow-query     { any; };      #允许所有网段IP的请求        recursion no ;              #默认支持递归查询,这里关闭递归查询                   dnssec-enable yes;                         #是否支持DNSSEC开关,默认为yes        dnssec-validation yes;                     #是否进行DNSSEC确认开关,默认为yes           dnssec-lookaside auto;                     #当设置dnssec-lookaside,它为验证器提供另外一个能在网络区域的顶层验证DNSKEY的方法。        /* Path to ISC DLV key */        bindkeys-file "/etc/named.iscdlv.key";};logging {        channel default_debug {                file "data/named.run";                severity dynamic;        };}zone "." IN {        type hint;        file "named.ca";};zone "linux.com" IN {            #定义区域文件dns1.cn        type master;         #定义角色为主DNS        file "linux.com.zone";     #读取的域配置文件also-notify { 192.168.24.201; };          #当主服务器配置发生修改时,通知从服务器自动更新        allow-transfer { 192.168.137.0/24; }; #指定允许哪个网段的从DNS服务器,可以同步主DNS服务器zone文件,不写默认为所有。(none代表不允许)};include "/etc/named.rfc1912.zones";


检查配置文件

[root@DNS1-server /]# named-checkconf


2、创建zone文件:

注:主DNS记录中应该有两NS记录,一条是主DNS的NS记录,一条是从DNS服务器的域名记录。

[root@DNS1-server ~]# cd /var/named/chroot/var/named/

[root@DNS1-server named]#vim linux.com.zone

linux.com.zone中的内容如下:

  1 $TTL 86400  2 @       IN      SOA     ns1.linux.com.  root.linux.com. (  3                                         2015060101  4                                         1D  5                                         1H  6                                         1W  7                                         3H )  8        IN      NS      ns1.linux.com.  9        IN      NS      ns2.linux.com. 10 ns1     IN      A       192.168.24.200 11 ns2     IN      A       192.168.24.201 12 www     IN      A       192.168.24.200 13 web     IN      CNAME   www.linux.com.

配置文件参数说明:

$TTL 86400 ;设置有效地址解析记录的默认缓存时间,默认为1天也就是1D=86400秒。

linux.com.IN SOAdns1.linux.com. root.linux.com.

#原来的@表示当前的域linux.com.为方便大家记忆,我们这里,直接写成linux.com.

#设置SOA记录为:dns1.linux.com

#在此配置文件中写域名时,都把根. 也要写上。

#域管理邮箱root.linux.com. 由于@有其他含义,所以用"."代替@。

201506010 ;更新序列号,用于标示数据库的变换,可以在10位以内,如果存在辅助DNS区域,建议每次更新完数据库,手动加1.

1D ;刷新时间,从域名服务器更新该地址数据库文件的间隔时间,默认为1天

1H ;重试延时,从域名服务器更新地址数据库失败以后,等待多长时间,默认为为1小时

1W ; 到期,失效时间,超过该时间仍无法更新地址数据库,则不再尝试,默认为一周

3H ;设置无效地址解析记录(该数据库中不存在的地址)默认缓存时间。设置无效记录,最少缓存时间为3小时


重启服务

[root@DNS1-server ~]# service named restart

停止 named:. [确定]

启动 named: [确定]


3、从DNS服务器的配置

##主从时间一定要保持一致

安装程序:

[root@DNS1-server2 ~]# yum -y install bind bind-chroot bind-utils[root@DNS1-server2 ~]# chkconfig named on[root@DNS1-server2 ~]# service named startGenerating /etc/rndc.key:                                  [确定]启动 named:                                        [确定]
[root@DNS1-server2 ~]# cd /var/named/chroot/etc/[root@DNS1-server2 etc]# vim named.conf
options {        listen-on port 53 { any; };        listen-on-v6 port 53 { any; };        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";        allow-query     { any; };        #recursion no;        recursion yes;        #dnssec-enable yes;        #dnssec-validation yes;        #dnssec-lookaside auto;        bindkeys-file "/etc/named.iscdlv.key";};logging {        channel default_debug {                file "data/named.run";                severity dynamic;        };};zone "." IN {        type hint;        file "named.ca";};zone "linux.com.zone" IN {        type slave;        file "slaves/linux.zone.file";        masters { 192.168.24.200 ; };  #指定主服务器};include "/etc/named.rfc1912.zones";

第一次重启从DNS服务器会在:/var/named/chroot/var/named/slaves文件夹下自动创建一个文件linux.com.zone.file 这个文件是从DNS服务器去主DNS服务器上获取的数据

检查配置文件

[root@DNS1-server /]# named-checkconf重启测试:[root@DNS1-server2 ~]# service named restart                 停止 named:.                                              [确定]启动 named:                                               [确定][root@DNS1-server2 ~]# ls /var/named/chroot/var/named/slaves/linux.com.zone.file[root@DNS1-server2 ~]# ll /var/named/chroot/var/named/slaves/总用量 4-rw-r--r-- 1 named named 370 8月   3 01:09 linux.com.zone.file  #看到这个文件,说明成功了
[root@DNS1-server2 ~]# cat /var/named/chroot/var/named/slaves/linux.com.zone.file  #文件具体内容[root@DNS2-server slaves]#cat linux.com.zone.file $ORIGIN .$TTL 86400      ; 1 daylinux.com               IN SOA  ns1.linux.com. root.linux.com. (                                2015060101 ; serial                                86400    ; refresh (1 day)                                10800    ; retry (3 hours)                                604800    ; expire (1 week)                                10800    ; minimum (3 hours)                                )                        NS      ns1.linux.com.                        NS      ns2.linux.com.$ORIGIN linux.com.ns1                       A       192.168.24.200ns2                       A       192.168.24.201web                       CNAME     wwwwww                       A       192.168.24.200


验证当主服务器配置发生修改时,通知从服务器自动更新

  1 $TTL 86400  2 @       IN      SOA     ns1.linux.com.  root.linux.com. (  3                                         2015060101  4                                         1D  5                                         3H  6                                         1W  7                                         3H )  8         IN      NS      ns1.linux.com.  9         IN      NS      ns2.linux.com. 10 ns1       IN      A       192.168.24.200 11 ns2       IN      A       192.168.24.201 12 www       IN      A       192.168.24.200 13 web       IN      CNAME     www.linux.com. 14 bbs       IN      CNAME     www.linux.com.      #新添加的条目

重启主DNS服务

[root@DNS1-server ~]# service named restart

查看从服务器的zone区域文件

[root@DNS1-server2 ~]# cat /var/named/chroot/var/named/slaves/linux.com.zone.file $ORIGIN .$TTL 86400      ; 1 daylinux.com               IN SOA  ns1.linux.com. root.linux.com. (                                2015060101 ; serial                                86400      ; refresh (1 day)                                10800      ; retry (3 hours)                                604800     ; expire (1 week)                                10800      ; minimum (3 hours)                                )                       NS      ns1.linux.com.                       NS      ns2.linux.com.$ORIGIN linux.com.bbs                     CNAME     wwwns1                     A       192.168.24.200ns2                     A       192.168.24.201web                     CNAME      wwwwww                     A       192.168.24.200

#可以看出更新序列号以修改,并多了条刚才添加的web记录

通过关闭主DNS解析服务,模拟主DNS服务器挂掉,从DNS还能正常解析出linux.com的域名

配置客户端

在未关闭主服务器网卡时先ping一下www.linux.com,查看是否能正常解析


接着关闭主DNS服务器的named服务 servive named stop

接着ping一下www.linux.com,查看是否能正常解析

可以看出是可以正常解析的。



服务 服务器 文件 配置 域名 时间 更新 数据 地址 数据库 内容 区域 客户 网段 目录 系统 缓存 验证 安全 也就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 小米移动互联网科技园 百单网互联网科技有限公司怎么样 哈尔滨大商圈互联网科技有限公司 互联网科技工作委员会毛军 互联网 科技创新 浩特互联网科技 银优互联网科技有限公司 互联网金融科技委员会 金融科技和互联网金融 新华互联网科技2019 全球顶尖互联网科技公司 允成互联网科技有限公司融资 互联网科技和法律行业 广州互联网高科技取餐柜 广州梦谷互联网科技有限公司领导 昆明中奇联合互联网科技 珠海东科互联网科技有限公司 10位科技互联网大佬 上海互联网科技园景观 广州全民伙伴互联网科技有限公司 中智农互联网科技 中关村互联网科技集团 A股互联网金融科技公司 智能科技公司是互联网公司吗 互联网科技网站 青岛中康互联网医疗科技有限公司 湖南诚度互联网科技有限公司 互联网科技圈年度人物 工业互联网科技成果转化 半导体行业属于互联网高科技类吗
0