DNS在企业中的应用

DNS简介

DNSDomain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)

dns  服务器实现

    BINDBerkeley Internet Name Domain)是现今互联网上最常使用的DNS服务器软件,使用BIND作为服务器软件的DNS服务器约占所有DNS服务器的九成[2]BIND现在由互联网系统协会(Internet Systems Consortium)负责开发与维护。                 PowerDNS 是一个跨平台的开源DNS服务组件,PowerDNS同时有Win32Linux/Unix的版本。 PowerDNSWin32下使用 Accessmdb文件记录DNS信息,而在Linux/Unix下则使用MySQL来记录DNS信息。无论是mdb亦或MySQL,备份是非常方便的 事情。

                

    powerdns-ng

 

案例1:主辅同步

        DNS和辅助DNS能够实现自动同步

网络拓扑:

758F885488354BBB99374910B5AF4544

    实验环境 

  DNS server平台: Os     centos 6.4  版本号2.6.32-431.el6.i686  

32位操作系统

                   软件包  bind-9.8.2-0.17.rc1.el6_4.6.i686.rpm

                          bind-chroot-9.8.2-0.17.rc1.el6_4.6.i686.rpm

                          bind-utils-9.8.2-0.17.rc1.el6_4.6.i686.rpm

DNS配置:

开启DNS服务

[root@vbird ~]# cd /var/named/chroot/etc/

[root@vbird etc]# service named start

Starting named:                                            [  OK  ]

编辑DNS的配置文件

[root@vbird etc]# vim named.conf

58D0B7275BCC44A8AB95A30DB9E2B734

编辑DNS区域配置文件

[root@vbird etc]# vim named.rfc1912.zones

BEF0F3FFD80F4CC891E91A5AA94572E7

编辑DNS区域文件

[root@vbird ~]# cd /var/named/chroot/var/named

[root@vbird named]# cp -p named.localhost abc.com.zone

[root@vbird named]# vim abc.com.zone

C1F12D3F99A24E3EB0E5510B1EB50E44

编辑后重新加载到内存

[root@vbird named]# rndc reload

 

DNS配置:

开启DNS服务

[root@vbird ~]# cd /var/named/chroot/etc/

[root@vbird etc]# service named start

Starting named:                                            [  OK  ]

编辑DNS的配置文件

[root@vbird etc]# vim named.conf

D3EEE1A129394966802A3A5B1153A579

编辑DNS区域配置文件

[root@vbird etc]# vim named.rfc1912.zones

6DB5105AC8A947E4942520D198E7F059

编辑后重新加载

[root@vbird named]# rndc reload

来到主DNS服务器上查看日志

可以看到已经向辅DNS发送了AXFR(完全DNS传输)

FEE9C794B9624D5595797341C28E94C9

再来到辅DNS服务器的/var/named/chroot/var/named/slaves/目录下

可以看到已经有一个abc.com.zone文件

[root@vbird slaves]# ll

total 4

-rw-r--r--. 1 named named 332 Aug 11 12:16 abc.com.zone

 

3F0CA17284094666BA1D5B2A18DA6BE4

在主DNS做一点小小的改变看是否能同步到辅DNS

8CB7E5C12815461D82BAAA7FE2A87DEE

来到主DNS服务器上查看日志

可以看到已经向辅DNS发送了IXFR(增量DNS传输)

927CFDE2B4EF4DD0BD10FBC89905FDB7

再来到辅DNS服务器的/var/named/chroot/var/named/slaves/目录下

查看abc.com.zone文件可以看到已经有了新增项

1AC3DD647DA64F3E838A16DA9E540426

实现主辅同步。

 

 

 

 案例2:  授权与转发

通常自己架设DNS服务器给自己使用的公司都是内部有特殊需求,或者公司内部域名较多,为了方便以后的管理而架设。我们知道一个域名就是一个区域,一般每个区域都会有专人负责管理,当一个公司人员足够多时,这时就会有划分子域给下级部门管理的需求。在一个区域下划分子域,并给子域指定一个新的DNS服务器,这种方法是可以实现的,我们通常称这种划分子区域的方法为子域授权。

 网络拓扑:

A7297549110645D195F732C8A93A3F18

由于天津离北京很近DNS 1 同时管理北京和天津两地的域名

实验环境 

  DNS server平台: Os     centos 6.4  版本号2.6.32-431.el6.i686  

32位操作系统

                   软件包  bind-9.8.2-0.17.rc1.el6_4.6.i686.rpm

                             bind-chroot-9.8.2-0.17.rc1.el6_4.6.i686.rpm

                         bind-utils-9.8.2-0.17.rc1.el6_4.6.i686.rpm

 

DNS 1 配置:

开启DNS服务

[root@vbird ~]# cd /var/named/chroot/etc/

[root@vbird etc]# service named start

Starting named:                                            [  OK  ]

编辑DNS的配置文件

[root@vbird etc]# vim named.conf

E3A834DCBC6C49C2AA279A7A4295CD68

编辑DNS区域配置文件

[root@vbird etc]# vim named.rfc1912.zones

79CE87C78F984649BC30B712453F1D48

编辑DNS区域文件

[root@vbird ~]# cd /var/named/chroot/var/named

[root@vbird named]# cp -p named.localhost a.com.zone

[root@vbird named]# vim a.com.zone

93A8FE4254124C1AB85EFA15668F32F8

[root@vbird named]# cp -p named.localhost tj.a.com.zone

[root@vbird named]# vim tj.a.com.zone

DADEE4A7B7B3483C88216B4AD491C422

编辑后重新加载到内存

[root@vbird named]# rndc reload

DNS 2 配置:

开启DNS服务

[root@vbird ~]# cd /var/named/chroot/etc/

[root@vbird etc]# service named start

Starting named:                                            [  OK  ]

编辑DNS的配置文件

[root@vbird etc]# vim named.conf

6AA4E4AB889F4B5CAB5090DD7476B630

编辑DNS区域配置文件

[root@vbird etc]# vim named.rfc1912.zones

B731489550044847AE4276D880AC3E59

编辑DNS区域文件

[root@vbird ~]# cd /var/named/chroot/var/named

[root@vbird named]# cp -p named.localhost sh.a.com.zone

[root@vbird named]# vim sh.a.com.zone

EAFC76080498436B800FD58A174B83E5

编辑后重新加载到内存

[root@vbird named]# rndc reload

 

 

实验测试:

可以看到已能正确解析地址

3605BACE48434058901DCC29EBEE267A  8D7D80837D5B40F1997243319A522E80  FDB5ECC07CE04326935F879714D11442

B4E24758C9644D8BBC4556BB59A8B41A  DB7E6E66EB8D4FF98416B94D4BCC12E7

 

 

案例三:  DNS视图  

DNSview功能可以实现不同网段发出同样的请求却得到不同的DNS解析结果,可以有效地分流网络流量提高访问控制能力。

要求内网用户pc1访问web服务器www.abc.com的时候DNS解析为192.168.2.200而外围用户pc2访问www.abc.com的时候DNS解析为61.130.130.1

 

网络拓扑:

0721EBECB2264F5DB3D633BA3BE1B07C

实验环境 

  DNS server平台: Os     centos 6.4  版本号2.6.32-431.el6.i686  

32位操作系统

                   软件包  bind-9.8.2-0.17.rc1.el6_4.6.i686.rpm

                          bind-chroot-9.8.2-0.17.rc1.el6_4.6.i686.rpm

                          bind-utils-9.8.2-0.17.rc1.el6_4.6.i686.rpm

 

 Web server平台:   OS     windows-server 2003              

防火墙           OS     centos 6.4  版本号2.6.32-431.el6.i686  

32位操作系统

  pc1  pc2       OS      windows-xp

DNS server 配置:

开启DNS服务

[root@vbird ~]# cd /var/named/chroot/etc/

[root@vbird etc]# service named start

Starting named:                                            [  OK  ]

编辑DNS的配置文件

[root@vbird etc]# vim named.conf

EB911A21864540708E7EC8E91AE350F9

EB55C42D930D4E93A476F9283C59C380  D60F65703F3F49BC88EE018A7A73624A

6AA4E4AB889F4B5CAB5090DD7476B630

编辑DNS区域配置文件

[root@vbird etc]# vim named.rfc1912.zones

20D6252AA2744B9281B781F02A276C02

编辑DNS区域文件

[root@vbird ~]# cd /var/named/chroot/var/named

[root@vbird named]# cp -p named.localhost abc.com.zone

[root@vbird named]# vim abc.com.zone

80605DF4930044BD9976C906DF679F57

[root@vbird named]# cp -p named.localhost abc.com.wan.zone

[root@vbird named]# vim abc.com.wan.zone

BD8112B0D8D746D1951E030D188A53A6

编辑后重新加载到内存

[root@vbird named]# rndc reload

Web server 配置:

我们为了测试用只作了一个小页面

89EB8B940CB74F5E9D99F960B7F20E1B

防火墙配置:

eth1 上配置两条DNAT

[root@vbird ~]# iptables -t nat -A PREROUTING  -i eth1 -d 66.130.130.1 -p udp --dport 53 -j DNAT --to 192.168.2.20

[root@vbird ~]# iptables -t nat -A PREROUTING -i eth1 -d 66.130.130.1 -p tcp  --dport 80 -j DNAT --to 192.168.2.200

 

打开ipv4的包转发功能

[root@vbird etc]# vim sysctl.conf

AAA5B3B30F4C49D193B2349B66E96974

 

 

打开pc1测试一下

可以看到访问www.abc.com的时候DNS解析为192.168.2.200

AC5FF4A524AC4F1B8F2FC867706DAAB7  92D344BC51954E2C838026D926AF5393  212E6C4FB0CD4E32B9E421E6DD7D625C

 

打开pc2测试一下

可以看到访问www.abc.com的时候DNS解析为66.130.130.1

  43CA2ABA28B04F64BD76D86430DA688C

60ABA4ECAA6744B58A9B6EDCDA239BD7

38F29F94FC5442319DD675E625AF381A

 

 

实现不同网段发出同样的请求却得到不同的DNS解析的结果!!!