搭建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

安装服务并启动

[[email protected]~]#yum -y install bind bind-chroot bind-utils
[[email protected]~]#chkconfig named on
[[email protected]~]#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。配置内容如下:

[[email protected] ~]# 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";

检查配置文件

[[email protected] /]# named-checkconf

2、创建zone文件:

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

[[email protected] ~]# cd /var/named/chroot/var/named/

[[email protected] 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 SOA dns1.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小时

重启服务

[[email protected] ~]# service named restart

停止 named:.                                              [确定]

启动 named:                                               [确定]

3、从DNS服务器的配置

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

安装程序:

[[email protected] ~]# yum -y install bind bind-chroot bind-utils
[[email protected] ~]# chkconfig named on
[[email protected] ~]# service named start
Generating /etc/rndc.key:                                  [确定]
启动 named:                                        [确定]
[[email protected] ~]# cd /var/named/chroot/etc/
[[email protected] 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服务器上获取的数据

检查配置文件

[[email protected] /]# named-checkconf
重启测试:
[[email protected] ~]# service named restart                 
停止 named:.                                              [确定]
启动 named:                                               [确定]
[[email protected] ~]# ls /var/named/chroot/var/named/slaves/
linux.com.zone.file
[[email protected] ~]# ll /var/named/chroot/var/named/slaves/
总用量 4
-rw-r--r-- 1 named named 370 8月   3 01:09 linux.com.zone.file  #看到这个文件,说明成功了
[[email protected] ~]# cat /var/named/chroot/var/named/slaves/linux.com.zone.file  #文件具体内容
[[email protected] slaves]#cat linux.com.zone.file 
$ORIGIN .
$TTL 86400      ; 1 day
linux.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.200
ns2                       A       192.168.24.201
web                       CNAME     www
www                       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服务

[[email protected] ~]# service named restart

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

[[email protected]DNS1-server2 ~]# cat /var/named/chroot/var/named/slaves/linux.com.zone.file 
$ORIGIN .
$TTL 86400      ; 1 day
linux.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     www
ns1                     A       192.168.24.200
ns2                     A       192.168.24.201
web                     CNAME      www
www                     A       192.168.24.200

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

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

配置客户端

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

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

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

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


时间: 2024-11-29 06:59:37

搭建DNS服务器实现域名解析的相关文章

Linux搭建DNS服务器

DNS相关概念 DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析).DNS协议运行在UDP协议之上,使用端口号53. 作用:解析域名 区域:正向区域.反向区域 记录: A记录 MX记录:搭建邮件服务器 PTR记录:反向记录,出现在反向区域中 CNAME记录:别名记录 NS记录:DNS授权服

详解Linux 6&7上搭建DNS服务器

整个hteret大家庭中连接了数以亿计的服务器个人主机,其中大部分的网站,部件等服务器都使用了域名形式的地址,如www.google.com.mail 163.com 等.很显然这种地址形式要比使月01231317202103 7A 的户地址形式更加直观而且更容易被用户记住. DNS系统在网络中的 作用处是维护着一个地址数现连,其中记录了各种主机城名与户地址的技关系上内便光安户租序现供正向的地址解析服务正向解析根据域名查IP 地址即将指定的域名解析为相对应的P地址,域名的正向解 析是DNS服务器

Linux搭建DNS二 多域名解析

Linux搭建DNS二 多域名解析继续上一篇文章svr5 服务端 Centtos6 192.168.4.5pc205 客户端 Centos6 192.168.4.405域名hellc.cnhellc.com.cn---------------------------------------- 添加hellc.cn区域 (在配置文件追加) [[email protected] ~]# vim /etc/named.conf options {        directory   "/var/na

Linux DNS (2)搭建DNS服务器

注意:实验很简单,环境很重要.大家在做实验的时候一定要注意环境的配置,不然实验做的再好最后的结果也和我们想的要的结果不一样的. 首先我们先准备环境: 虚拟机一个 RedHat5.9系统两个操作系统 我们把他们的网路连接在同一个"VMnet"里 配置IP地址,都配置在一个网段的IP. 注释: DNS有几点要注意的 DNS可以一个域名对应很多IP DNS可以一个IP对应很多域名 注意:首先要关闭防火墙和selinux [[email protected] ~]#  /etc/init.d/

搭建DNS服务器+邮件服务器

一·搭建DNS服务器 试验要求:完成DNS的正反向解析 试验前准备: 服务器 192.168.203.201 server1.example.com 客户机 192.168.203.202 server2.example.com 192.168.203.203 database.example.com 修改DNS nmcli c modify eno16777736 ipv4.dns 8.8.8.8 systemctl restat network 1.1 安装相关程序 yum install

自己动手搭建DNS服务器

前言: 在我们平时上网中,访问的都是域名,那么域名是如何转换为IP地址的呢?进而访问我们的服务器主机的呢?这时候就需要用到DNS服务器了.DNS是由域名解析器和域名服务器组成的,域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器. 那么接下就开始搭建DNS服务器吧! 1.首先搭建主DNS服务器,ch1主机配置如下: [[email protected] ~]# yum -y install bind        ## 安装bind程序 [[emai

CentOS6.6下bind搭建DNS服务器

我们通过浏览器访问互联网需要输入网址,而这个网址是我们比较容易记忆的,互联网上的服务器却并不能识别这一串有意义的地址,互联网之间的通信是靠ip地址来实现的,ip地址是数字组成的,对于我们日常访问都需要输入一串数字,这是一件很痛苦的事情,所以才有了上面说的有意义的网址,那么网址是如何转换成IP地址的呢?这就是DNS服务器的作用了. DNS全称是Domain Name System域名系统,那么域名又是什么呢?域名就是我们容易记忆的的一串字符,如果想拥有自己的域名则需要向域名代理商进行注册,代理商会

CentOS 7.4搭建DNS服务器实现主从同步

CentOS 7.4搭建DNS服务器实现主从同步相关概念:正向解析:将域名解析成IP地址反向解析:将IP地址解析成域名第一步:准备工作systemctl stop firewalld //关闭防火墙setenforce 0 //关闭selinuxyum install bind //安装DNS服务第二步:编辑配置文件1.编辑主配置文件vi /etc/named.conf //主配置文件options {listen-on port 53 { 192.168.80.101; }; //改成自己服务

搭建DNS服务,正向解析和反向解析搭建DNS服务器

搭建DNS服务器 DNS系统在网络中的作用:维护着一个地址数据库,其中记录了各种主机域名与IP地址的对于关系,以方便为客户程序提供正向或反向的地址查询服务,即正向解析与方向解析. 正向解析:将指定的域名解析为相对应的IP地址. 反向解析:将制定的IP地址解析为相对应的域名.   实验环境:在虚拟机Linux(redhat6.5)系统上搭建DNS服务,实现域名与IP地址的正向解析和反向解析. 一.正向解析 1. 安装DNS软件包 2. 更改主配置文件,开启监听端口53. 3. 更改区域配置文件 4