一、DNS子域授权
1、创建子域的原因
当一个组织获得一个域后,比如:magelinux.com,但是由于组织规模扩大,需要分配出几个部门,例如技术部、财务部和销售部等。如果都使用magelinux.com域的DNS服务器,性能会降低,那么就需要把magelinux.com域分割成几个区域,我们称从原区域分区的域为子域,原区域为父域。而且子域中有它自己的DNS服务器和www,ftp,mail等主机,下面演示添加子域tech.magelinux.com的过程。
2、BIND子域授权的实现前题
在父域的区域数据文件中添加如下条目:
(1)授权的子区域名称:tech.magelinux.com
(2)子区域的名称服务器:dns.tech.magelinux.com
(3)子区域的名称服务器的IP地:192.168.1.104
3、子域授权的实现
(1)修改父域区域数据文件
[root@www ~]# vim /var/named/magelinux.com.zone $TTL 600 @ IN SOA dns.magelinux.com. admin.magelinux.com. ( 2015092914 2H 10M 7D 1D ) @ IN NS dns @ IN NS dns2 @ IN MX 10 mail dns IN A 192.168.1.112 dns2 IN A 192.168.1.106 mail IN A 192.168.1.107 www IN A 192.168.1.108 pop IN CNAME mail ftp IN CNAME www tech IN NS dns.tech dns.tech IN A 192.168.1.104 |
(2)在子域的DNS服务器上安装BIND
[root@www slaves]# yum install bind |
(3)修改子域配置文件
[root@localhost ~]# cat /etc/named.conf // // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching only nameserver (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // options { // listen-on port 53 { 127.0.0.1; }; // listen-on-v6 port 53 { ::1; }; 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 { localhost; }; recursion yes; // dnssec-enable yes; // dnssec-validation yes; // dnssec-lookaside auto; /* Path to ISC DLV key */ // bindkeys-file "/etc/named.iscdlv.key"; // managed-keys-directory "/var/named/dynamic"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.rfc1912.zones"; //include "/etc/named.root.key"; |
[root@localhost ~]# vim /etc/named.rfc1912.zones file "named.localhost"; allow-update { none; }; }; zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN { type master; file "named.loopback"; allow-update { none; }; }; zone "1.0.0.127.in-addr.arpa" IN { type master; file "named.loopback"; allow-update { none; }; }; zone "0.in-addr.arpa" IN { type master; file "named.empty"; allow-update { none; }; }; zone "tech.magelinux.com." IN { type master; file "tech.magelinux.com.zone"; }; |
(4)创建子域数据文件
[root@localhost named]# vim tech.magelinux.com.zone $TTL 600 @ IN SOA dns.tech.magelinux.com. dnsadmin.tech.magelinux.com. ( 2015100101 1H 5M 3D 1D ) IN NS dns IN MX 10 mail dns IN A 192.168.1.104 mail IN A 192.168.1.120 www IN A 192.168.1.121 |
(5)修改子域数据文件属性
[root@localhost named]# chown root:named tech.magelinux.com.zone [root@localhost named]# chmod 640 tech.magelinux.com.zone [root@localhost named]# ls -l tech.magelinux.com.zone -rw-r----- 1 root named 223 Aug 14 18:00 tech.magelinux.com.zone [root@localhost named]# rndc reload server reload successful |
(6)使用dig命令测试子域
[root@localhost named]# dig -t A www.tech.magelinux.com @192.168.1.104 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> -t A www.tech.magelinux.com @192.168.1.104 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46551 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;www.tech.magelinux.com. IN A ;; ANSWER SECTION: www.tech.magelinux.com. 600 IN A 192.168.1.121 ;; AUTHORITY SECTION: tech.magelinux.com. 600 IN NS dns.tech.magelinux.com. ;; ADDITIONAL SECTION: dns.tech.magelinux.com. 600 IN A 192.168.1.104 ;; Query time: 1 msec ;; SERVER: 192.168.1.104#53(192.168.1.104) ;; WHEN: Fri Aug 14 18:11:04 2015 ;; MSG SIZE rcvd: 90 |
二、DNS的访问控制列表及view功能
1、view功能介绍
view是视图的意思,实现将DNS服务器一切为N片,当来自不同的IP时就用不同的DNS服务器去解析,速度肯定会更快,当然用户体检就更好了,这就叫做DNS智能解析。举个例子来说,中国大陆的网络一直就有北联通,南电信这么一说,造成这一结果的根本原因就是因为两个网络之间的带宽太小了,这就避免不了网络之间的拥堵。比如人一家游戏公司,你用的是电信的网,而它的服务器是联通的,当你进入这个区玩儿游戏的时候,不卡死才怪,这么糟糕的用户体验,如果能留住用户,不得不说是一个奇迹,这也就是为什么游戏一般都有网通区、电信区的原因。而我们今天要做的就是定义这么一个view,让它根据用户IP自动去选择,如果是联通的IP,就走联通的服务器,如果是电信用户就去访问电信的服务器,让其实现智能DNS解析。
2、acl
如果想实现DNS的智能解析,这个必须先介绍清楚了
acl:access control list,顾名思义就是访问抑制列表的意思,定义访问控制列表就是为了能够让其根据IP进行控制,哪些IP可以访问,哪些IP不可以访问,联通的用户走哪条路,电信的用户走哪条路。下面就开始介绍实现这高大上的DNS智能解析功能。
3、view功能配置详解
只要在DNS服务器中使用view功能,那么所有的域都必须放到view中,那么/etc/named.conf中的"."域也必须给它剪切过来,放到view中,否则会报错的。这里定义两个访问控制列表:telecom及unicom,假设联通的IP是192.16段的,电信的IP是172.16段的,这里只是模拟,如果在真实环境中,就需要自己去统计这些联通和电信的IP了。然后定义三个view:telecom,unicom,default,定义default的意义就在于,你统计时肯定会有漏掉的IP,那就让它走这个默认的。
定义telecom这个域,把/etc/named.rfc1912.zones中原来的zones都放在这个view中吧。对于view来说,它是有执行顺序的,如果你是联通的用户多,那就把unicom放到上面,如果是电信的多,那就把telecom放到上面,这里假设电信的多。
更新中……