Bind+DLZ构建企业智能DNS

目录:
一、简介
二、服务规划
三、安装BIND及基本环境
四、配置Bind-View-DLZ-MYSQL
五、添加相关记录并进行测试
六、配置从DNS
七、补充

一、简介:
1、智能DNS(Bind-view):
智能DNS 原理很简单:在用户解析一个域名的时候的,判断一下用户使用的IP,然后跟DNS 服务器内部的IP 表匹配一下,看看用户是电信还是网通用户,然后给用户返回对应的IP 地址。目前的域名服务运营商不提供智能DNS 服务,所以必须自行架设DNS 服务或者使用网上免费的智能DNS 服务.
2.Bind-DLZ
Bind-DLZ主页:
DLZ(Dynamically Loadable Zones)与传统的BIND9不同,BIND的不足之处:
* BIND从文本文件中获取数据,这样容易因为编辑错误出现问题。
* BIND需要将数据加载到内存中,如果域或者记录较多,会消耗大量的内存。
* BIND启动时解析Zone文件,对于一个记录较多的DNS来说,会耽误更多的时间。
* 如果近修改一条记录,那么要重新加载或者重启BIND 才能生效,那么需要时间,可能会影响客户端查询。
而Bind-dlz 即将帮你解决这些问题, 对Zone文件操作也更方便了,直接对数据库操作,可以很方便扩充及开发管理程序。

二、服务规划:
1、nameserver服务器注册(需要到域名服务商那里注册)
主从dns之间实现mysql主从数据库同步:
主DNS:      ns1.linuxidc.com    192.168.1.60
从DNS:        ns2.linuxidc.com    192.168.1.61

网站(cnc):      192.168.1.51
网站(ct):      192.168.1.52
网站(cmcc):    192.168.1.53
网站(edu):      192.168.1.54
网站(any):      192.168.1.55
:当一个网通用户向本地DNS发的请求时,本地DNS会递归查询,最后把请求发给ns1.linuxidc.com这台DNS服务器上,ns1.linuxidc.com会根据请求的用户IP所属的范围来择优选择,将在网通的ip返回给本地DNS.

2、Bind-view规划:
网通CNC      cnc.txt
电信CT      ct.txt
移动CMCC    cmcc.txt
教育网EDU    edu.txt
include "/usr/local/bind/etc/view.conf";(ip库里面没有的IP,属于any区域)
IP库及ACL,如果你有比较详细的按城市或者地域的IP库,在设计BIND-VIEW这个字段的时候,VIEW就可以以城市或地区来命名和规划.

三、安装BIND及基本环境:
1、安装mysql:

wget  groupadd mysql useradd -g mysql -s /sbin/nologin -M  mysql tar zxvf mysql-5.1.54.tar.gz cd mysql-5.1.54 ./configure --prefix=/usr/local/mysql/ --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client -with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=partition,innobase,myisammrg make && make install chown mysql:mysql -R /usr/local/mysql/ /usr/local/mysql/bin/mysql_install_db   --basedir=/usr/local/mysql   --datadir=/usr/local/mysql/var  --user=mysql cd /usr/local/mysql/ cp share/mysql/my-medium.cnf? /etc/my.cnf cp share/mysql/mysql.server? /etc/rc.d/init.d/mysqld chmod 755 /etc/rc.d/init.d/mysqld chkconfig --add mysqld sed -i 's/skip-locking/skip-external-locking/g' /etc/my.cnf echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf echo "/usr/local/lib" >>/etc/ld.so.conf ldconfig ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql ln -s /usr/local/mysql/include/mysql /usr/include/mysql /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql & echo 'export PATH=$PATH:/usr/local/mysql/bin' >>/etc/profile source /etc/profile /etc/init.d/mysql start /usr/local/mysql/bin/mysqladmin -u root password 123456

2、编译安装bind:

wget  tar zxvf bind-9.6.0-P1.tar.gz cd bind-9.6.0-P1 ./configure --with-dlz-mysql --enable-largefile --enable-threads=no --prefix=/usr/local/bind --disable-openssl-version-check make && make install

3、创建相关配置文件:

cd /usr/local/bind/etc/ ../sbin/rndc-confgen >rndc.conf tail -n10 rndc.conf | head -n9 | sed -e s/#\//g >named.conf

vim localhost.zone
ttl 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.

dig >named.root(需要连接外网)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/57fe31d7215feef2715b5ee3d13e37d4.html