搭建主DNS服务器

DNS是在网络中将计算机名转换成IP的一个服务,在LINUX中可以很轻松的搭建一台DNS服务器,我们需要在LINUX系统中安装DNS服务(安装包名:bind)为了安全我们通常用一起安装bind-chroot为DNS的牢目录、根目录。为了放便还可以安装DNS配置文件的模板包(caching-nameserver).安装完后,我们需要对DNS进行配置我们要监听的IP、端口、解析的域名,配置好后我们重启服务就好了,然后我们可以找别一台,本机也可以,指定DNS地址然后进行测试。

下面是我们的一个搭建过程

拓扑:

DNS Slave

-----DNS Master(vmnet1)----------(vmnet1)

Win7 Client

实验一:搭建主DNS服务器

tarena.com

www.tarena.com192.168.10.253

bbs.tarena.com    192.168.10.100

blog是bbs别名

1、安装软件包

[[email protected] ~]# yum -y install bind bind-chroot caching- nameserver

2、修改主配置文件

[[email protected] ~]# cd /var/named/chroot/etc/                               //牢目录/var/named/chroot

[[email protected]]# cp -p named.caching-nameserver.confnamed.conf      //拷贝模板成为主配置文件

[[email protected]]# vimnamed.conf

...

15         listen-on port 53 { 192.168.10.253; };                    监听本机端口

16 //      listen-on-v6 port 53 { ::1; };                                IPV6模式

...

27         allow-query     { any; };                                                          访问权限

28         allow-query-cache { any; };

...

37         match-clients      { any; };

38         match-destinations { any; };

[[email protected]]# vim named.rfc1912.zones

...

51 zone "tarena.com" IN {                                         解析的域名

52         type master;                                            类型   主

53         file "tarena.com.zone";                                 解析数据库文件

54 };

55

56 zone "10.168.192.in-addr.arpa" IN {                             解析的IP地址段(反向解析)

57         type master;

58         file "tarena.com.arpa";

59 };

[[email protected]]# named-checkconfnamed.conf                  检验配置文件语法

3、修改数据库文件

[[email protected]]# cd /var/named/chroot/var/named/                   进入数据库文件目录

[[email protected] named]# cp -p named.localtarena.com.zone               建立两个文件(与主配置文件中设置同名)

[[email protected] named]# cp -p named.localtarena.com.arpa

[[email protected] named]# vimtarena.com.zone编辑文件,写入信息

$TTL    86400

@       IN      SOA     localhost. root.localhost.  (

2014061701 ; Serial

28800      ; Refresh

14400      ; Retry

3600000    ; Expire

86400 )    ; Minimum

IN      NS      dns01.tarena.com.

dns01    IN      A       192.168.10.253

www     IN      A       192.168.10.253

bbs     IN      A       192.168.10.100

blog    IN      CNAME   bbs

[[email protected] named]# cattarena.com.arpa

$TTL    86400

@       IN      SOA     localhost. root.localhost.  (

2014061701; Serial

28800      ; Refresh

14400      ; Retry

3600000    ; Expire

86400 )    ; Minimum

IN      NS      dns01.tarena.com.

253      IN      PTR     dns01.tarena.com.

253      IN      PTR     www.tarena.com.

100      IN      PTR     bbs.tarena.com.

100      IN      PTR     blog.tarena.com.

[[email protected] named]# named-checkzone tarena.com  tarena.com.zone                //检验解析库语法

zone tarena.com/IN: loaded serial 1997022700

OK

[[email protected] named]# named-checkzonetarena.com  tarena.com.arpa

zone tarena.com/IN: loaded serial 1997022700

OK

4、启动服务

[[email protected] named]# service named restart

[[email protected] named]# chkconfig named on

5、测试

取消之前hosts文件定义

把DNS指向服务器

nslookup

实验二:DNS高级应用

实现DNS负载均衡,当用户访问www.tarena.com的时候,2/3用户访问10.253,1/3用户访问10.100

确保用户访问tarena.com的时候仍然可以访问www.tarena.com 的网站

实现用户在访问的时候只要域名正确就可以访问www.tarena.com 的网站

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

[[email protected] named]# cat tarena.com.zone

...

www     IN      A       192.168.10.253

www     IN      A       192.168.10.253

www     IN      A       192.168.10.100

tarena.com.  IN A    192.168.10.253

$GENERATE 20-50 station$ IN A   192.168.10.$

*       IN      A       192.168.10.253

实验三:搭建从DNS服务器

给上面的主DNS搭建一个辅助DNS

1、安装软件包

[[email protected] ~]# yum -y install bind bind-chroot caching- nameserver

2、修改从DNS的主配置文件

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

[[email protected]]# cp -p named.caching-nameserver.confnamed.conf

[[email protected]]# vimnamed.conf

15         listen-on port 53 { 192.168.10.100; };

...

27         allow-query     { any; };

28         allow-query-cache { any; };

...

37         match-clients      { any; };

38         match-destinations { any; };

编辑主配置连接文件,这个文件包含域名,域库文件的相关设置,解析方式。

[[email protected] etc]# vim named.rfc1912.zones

...

51 zone "tarena.com" IN {                                                 需要解析的域名

52         type slave;                                                 从DNS服务器

53         file "slaves/tarena.com.zone";                                更新来的库文件存放位置

54         masters { 192.168.10.253; };                                  从192.168.10.253处更新

55 };

56

57 zone "10.168.192.in-addr.arpa" IN {

58         type slave;

59         file "slaves/tarena.com.arpa";

60         masters { 192.168.10.253; };

61 };

[[email protected] etc]# named-checkconfnamed.conf

3、修改主DNS的主配置文件,添加授权信息

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

[[email protected]]# vim named.conf    //添加21行内容

21         allow-transfer { 192.168.10.100; };                              只允许192.168.10.100更新库文件

...

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

[[email protected] named]# cattarena.com.zone

$TTL    86400

@       IN      SOA     tarena.com. root.tarena.com.  (

2014041802 ; Serial   //序列号加1

28800      ; Refresh

14400      ; Retry

3600000    ; Expire

86400 )    ; Minimum

IN      NS      dns01.tarena.com.

IN      NS      dns02.tarena.com.    //添加从DNS服务器

IN      A       192.168.10.253

dns01    IN      A       192.168.10.253

dns02    IN      A       192.168.10.100  //为从DNS正向解析

www    IN      A       192.168.10.253

www    IN      A       192.168.10.253

www     IN      A       192.168.10.100

bbs     IN      A       192.168.10.100

blog    IN      CNAME   bbs

$GENERATE 20-50 station$ IN A   192.168.10.$

*       IN      A       192.168.10.101

[[email protected] named]# cattarena.com.arpa

$TTL    86400

@       IN      SOA     tarena.com. root.tarena.com.  (

2014041802 ; Serial      //序列号加1

28800      ; Refresh

14400      ; Retry

3600000    ; Expire

86400 )    ; Minimum

IN      NS      dns01.tarena.com.

IN      NS      dns02.tarena.com.           //添加从DNS服务器

253      IN      PTR     dns01.tarena.com.

100     IN      PTR     dns02.tarena.com.       //为从DNS反向解析

253      IN      PTR     www.tarena.com.

100      IN      PTR     bbs.tarena.com.

[[email protected]]# service named restart

4、启动从DNS服务器并验证

[[email protected]]# service named restart

[[email protected]]# chkconfig named on

[[email protected]]# ls /var/named/chroot/var/named/slaves/

tarena.com.zonetarena.com.arpa

【DNS子域授权配置】
使子域同样具有DNS解析的能力。只需要在子域中以子域为域名来建立DNS服务器
例:总部:tarena.com
    分部:sh.tarena.com
    分部DNS服务器:www.sh.tarena.com

【DNS子域授权配置】
kvm_node2(子域)上面操作:
[[email protected] ~]# cd /var/named/chroot/etc/
[[email protected] etc]# vim named.rfc1912.zones
...
 51 zone "sh.tarena.com" IN {
 52         type master;
 53         file "sh.tarena.com.zone";
 54         allow-transfer { none; };
 55 };
[[email protected] etc]# cd /var/named/chroot/var/named/
[[email protected] named]# cp -p named.zero sh.tarena.com.zone
[[email protected] named]# cat sh.tarena.com.zone
$TTL    86400
@               IN SOA  dns1.sh.tarena.com.      root.sh.tarena.com. (
                                        2014062401      ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
              IN      NS      dns1.sh.tarena.com.
dns1      IN      A       192.168.100.20
www     IN      A       192.168.100.100
[[email protected] named]# service named restart

kvm_node1(父域)上面操作:
[[email protected] ~]# cd /var/named/chroot/var/named/
[[email protected] named]# cat tarena.com.zone
$TTL    86400
@               IN SOA  dns1.tarena.com.      root.tarena.com. (
                                        2014062401      ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
        IN      NS      dns1.tarena.com.
sh.tarena.com.              IN      NS      dns1.sh.tarena.com.        //标记子域DNS服务器
dns1.sh.tarena.com.     IN      A       192.168.100.20
dns1     IN      A       192.168.100.10
www     IN      A       192.168.100.1
blog      IN      CNAME   www
$GENERATE       1-100   station$        IN      A       192.168.100.$
[[email protected] named]# service named restart
测试:
[[email protected] ~]# host www.sh.tarena.com 192.168.100.10

反过来客户端dns指向子域,解析父域条目
[[email protected] named]# vim /var/named/chroot/etc/named.conf
 21         forwarders { 192.168.100.10; };                  //指定父域
[[email protected] named]# service named restart

测试:
[[email protected] ~]# host www.tarena.com 192.168.100.20
Using domain server:
Name: 192.168.100.20
Address: 192.168.100.20#53
Aliases:

www.tarena.com has address 192.168.100.1

【DNS分离解析/视图】
判断不同的来源地址访问相同域名给解析不同结果,这样我们需要不同的配置文件,在主配置文件中进行判断,判断后指向不同的配置文件,来查找不同的解析库文件

[[email protected] ~]# cd /var/named/chroot/etc/
[[email protected] etc]# vim named.conf
...
 15         listen-on port 53 { 192.168.100.10; };
 16 //      listen-on-v6 port 53 { ::1; };
...
 27         allow-query     { any; };
 28         allow-query-cache { any; };
...
 36 view lt {
 37         match-clients      { 192.168.100.20; };        //判断依据
 38         match-destinations { any; };
 39         recursion yes;
 40         include "/etc/named.rfc1912.zones";           //执行的文件
 41 };
 42
 43 view yd {
 44         match-clients      { any; };
 45         match-destinations { any; };
 46         recursion yes;
 47         include "/etc/named.rfc1913.zones";
 48 };
[[email protected] etc]# cp -p named.rfc1912.zones named.rfc1913.zones
[[email protected] etc]# vim named.rfc1912.zones
...
 51 zone "tarena.com" IN {
 52         type master;
 53         file "lt.tarena.com.zone";
 54         allow-transfer { none; };
 55 };
[[email protected] etc]# vim named.rfc1913.zones
 51 zone "tarena.com" IN {
 52         type master;
 53         file "yd.tarena.com.zone";
 54         allow-transfer { none; };
 55 };
[[email protected] etc]# cd /var/named/chroot/var/named/
[[email protected] named]# cp -p named.zero lt.tarena.com.zone
[[email protected] named]# cp -p named.zero yd.tarena.com.zone
[[email protected] named]# cat lt.tarena.com.zone
$TTL    86400
@               IN SOA  dns1.tarena.com.      root.tarena.com. (
                                        2014062401      ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
        IN      NS      dns1.tarena.com.
dns1    IN      A       192.168.100.10
www     IN      A       1.1.1.1
[[email protected] named]# cat yd.tarena.com.zone
$TTL    86400
@               IN SOA  dns1.tarena.com.      root.tarena.com. (
                                        2014062401      ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
        IN      NS      dns1.tarena.com.
dns1    IN      A       192.168.100.10
www     IN      A       2.2.2.2
[[email protected] named]# service named restart

测试:
用192.168.100.20和其他客户机分别测试

搭建主DNS服务器,布布扣,bubuko.com

时间: 2024-10-07 05:06:41

搭建主DNS服务器的相关文章

Linux搭建DNS服务器

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

自己动手搭建DNS服务器

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

NDS服务器的正向解析、反向解析、站点轮询(负载均衡)、泛域名解析、主从DNS服务器以及主从DNS更新测试

  1.什么是DNS? DNS是域名系统(Domain Name System)的缩写,简单地说就是把域名解析成IP地址. 2.DNS分为哪几种类型? 主域名服务器 辅助域名服务器(从域名服务器) 转发域名服务器 缓存域名服务器 3.DNS查询类型分为哪几种? 从查询方式来分为递归查询(要么查询成功,要么查询失败)和迭代查询(从一台DNS查询另一台DNS过程) 从查询内容来分为正向查询(由域名查找IP地址过程)和反向查询(有IP地址查询域名的过程) 实验(一) 实验名称:搭建主DNS服务器 实验

Linux—CentOS7.4-DNS二(搭建主、从域名同步服务器)

环境:两台Linux服务器主服务器IP地址:192.168.80.10从服务器IP地址:192.168.80.20 第一步:主服务器配置[[email protected] ~]# yum install bind //安装DNS服务[[email protected] ~]# systemctl stop firewalld //关闭防火墙[[email protected] ~]# setenforce 0 //关闭selinux--------------1.编辑主配置文件--------

利用ansible批量管理windows2008 R2 以上dns服务器

准备:安装dns服务器net3.5  PowerShell DnsShell插件用到.DnsShell插件附件里面 ansible 支持环境也要安装的 ansible 目录结构说明: . ├── DnsShell #PowerShell dns支持模块 cp to C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules 正在文件夹 │   ├── DNSShell.dll │   ├── DnsShell.Format.ps1xml │   ├── 

DNS服务器的配置与应用: BIND9 的安装与配置

3. BIND9 的安装与配置 3.1 bind简介 BIND (Berkeley Internet Name Domain)是Domain Name System (DNS) 协议的一个实现,提供了DNS主要功能的开放实现,包括 域名服务器 (named) DNS解析库函数 DNS服务器运行调试所用的工具 是一款开放源码的DNS服务器软件,由美国加州大学Berkeley分校开发和维护的, 按照ISC的调查报告,BIND是世界上使用最多最广泛的域名服务系统.不论你的邮件服务器,WEB服务器或者其

centos7 DNS服务器搭建

DNS,全称Domain Name System,即域名解析系统. DNS帮助用户在互联网上寻找路径.在互联网上的每一个计算机都拥有一个唯一的地址,称作"IP地址"(即互联网协议地址).由于IP地址(为一串数字)不方便记忆,DNS允许用户使用一串常见的字母(即"域名")取代.比如,您只需键入www.baidu.com,而不是"119.75.217.109".即可访问ICANN的官方网站.DNS命名用于Internet等TCP/IP网络中,通过用户

一步一步搭建主从DNS服务器

DNS服务作为基础的网络服务在互联网中到处存在,学习搭建DNS服务器是网络管理员的基本技能之一. 准备环境:vmware workstation 10 redhat 5.10 x86_64  虚拟机2台 主DNS:192.168.195.129  ns1.jwh5566.com 192.168.1.114  连外网   主要是客户端用来测试DNS是否递归查询的 从DNS:192.168.195.128    ns2.jwh5566.com 域名:jwh5566.com 代理的客户端:192.16

DNS之配置子域DNS服务器

写在前面:如果此文有幸被某位朋友看见并发现有错的地方,希望批评指正.如有不明白的地方,愿可一起探讨. 假设某个网段很大,你只想负责上层的DNS管理,下层的DNS希望直接交给各单位的负责人去管理,要怎么设置呢?子域授权DNS服务器可以解决这样的问题. 那么如何开放子域授权呢?以在"DNS之配置Master DNS服务器"博文中建立的Master DNS服务器为基础,假设有人想向你申请domain name,他要的domain是"ll.muluhe.com",那该如何处