DNS在企业中的应用
DNS简介
DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。
dns 服务器实现
BIND(Berkeley Internet Name Domain)是现今互联网上最常使用的DNS服务器软件,使用BIND作为服务器软件的DNS服务器约占所有DNS服务器的九成[2]。BIND现在由互联网系统协会(Internet Systems Consortium)负责开发与维护。 PowerDNS 是一个跨平台的开源DNS服务组件,PowerDNS同时有Win32和Linux/Unix的版本。 PowerDNS在Win32下使用 Access的mdb文件记录DNS信息,而在Linux/Unix下则使用MySQL来记录DNS信息。无论是mdb亦或MySQL,备份是非常方便的 事情。
powerdns-ng
案例1:主辅同步
主DNS和辅助DNS能够实现自动同步
网络拓扑:
实验环境
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
编辑DNS区域配置文件
[root@vbird etc]# vim named.rfc1912.zones
编辑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
编辑后重新加载到内存
[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
编辑DNS区域配置文件
[root@vbird etc]# vim named.rfc1912.zones
编辑后重新加载
[root@vbird named]# rndc reload
来到主DNS服务器上查看日志
可以看到已经向辅DNS发送了AXFR(完全DNS传输)
再来到辅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
在主DNS做一点小小的改变看是否能同步到辅DNS
来到主DNS服务器上查看日志
可以看到已经向辅DNS发送了IXFR(增量DNS传输)
再来到辅DNS服务器的/var/named/chroot/var/named/slaves/目录下
查看abc.com.zone文件可以看到已经有了新增项
实现主辅同步。
案例2: 授权与转发
通常自己架设DNS服务器给自己使用的公司都是内部有特殊需求,或者公司内部域名较多,为了方便以后的管理而架设。我们知道一个域名就是一个区域,一般每个区域都会有专人负责管理,当一个公司人员足够多时,这时就会有划分子域给下级部门管理的需求。在一个区域下划分子域,并给子域指定一个新的DNS服务器,这种方法是可以实现的,我们通常称这种划分子区域的方法为子域授权。
网络拓扑:
由于天津离北京很近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
编辑DNS区域配置文件
[root@vbird etc]# vim named.rfc1912.zones
编辑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
[root@vbird named]# cp -p named.localhost tj.a.com.zone
[root@vbird named]# vim tj.a.com.zone
编辑后重新加载到内存
[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
编辑DNS区域配置文件
[root@vbird etc]# vim named.rfc1912.zones
编辑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
编辑后重新加载到内存
[root@vbird named]# rndc reload
实验测试:
可以看到已能正确解析地址
案例三: DNS视图
DNS的view功能可以实现不同网段发出同样的请求却得到不同的DNS解析结果,可以有效地分流网络流量提高访问控制能力。
要求内网用户pc1访问web服务器www.abc.com的时候DNS解析为192.168.2.200而外围用户pc2访问www.abc.com的时候DNS解析为61.130.130.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
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
编辑DNS区域配置文件
[root@vbird etc]# vim named.rfc1912.zones
编辑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
[root@vbird named]# cp -p named.localhost abc.com.wan.zone
[root@vbird named]# vim abc.com.wan.zone
编辑后重新加载到内存
[root@vbird named]# rndc reload
Web server 配置:
我们为了测试用只作了一个小页面
防火墙配置:
在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
打开pc1测试一下
可以看到访问www.abc.com的时候DNS解析为192.168.2.200
打开pc2测试一下
可以看到访问www.abc.com的时候DNS解析为66.130.130.1
实现不同网段发出同样的请求却得到不同的DNS解析的结果!!!
转载于:https://blog.51cto.com/changlinlin/1569398