智能DNS --BIND DLZ+MYSQL

一.概念介绍:

1.智能DNS:

智能DNS就是根据用户的来路,自动智能化判断来路IP返回给用户,而不需要用户进行选择。

智能DNS与普通DNS区别:

普通的DNS服务器只负责为用户解析出IP记录,而不去判断用户从哪里来,这样会造成所有用户都只能解析到固定的IP地址上。智能DNS颠覆了这个概念。智能DNS会判断用户的来路,而做出一些智能化的处理,然后把智能化判断后的IP返回给用户。

2.Bind dlz:Bind-DLZ主页:http://bind-dlz.sourceforge.net/DLZ(Dynamically Loadable Zones)与传统的BIND9不同,BIND的不足之处课归纳为下面几点:1BIND从文本文件中获取数据,这样容易因为编辑错误出现问题。2BIND需要将数据加载到内存中,如果域或者记录较多,会消耗大量的内存。3BIND启动时解析Zone文件,对于一个记录较多的DNS来说,会耽误更多的时间。4如果近修改一条记录,那么要重新加载或者重启BIND才能生效,那么需要时间,可能会影响客          户端查询。而Bind-dlz 即将帮你解决这些问题, 对Zone文件操作也更方便了,直接对数据库操作,可以很方便扩充及开发管理程序。

二.具体案例:

1).拓扑:

实验要求:

试验要求:

1.LAN 内的主机能通过dns服务器能解析到web服务器的地址为web服务器地址192.168.2.100;

2.WAN 内的主机能通过LAN 内的dns服务器解析到web的地址为广域网接口的地址61.130.130.1;

(试验环境,dns服务器为CentOS 6.0 32位系统搭建;防火墙为H3C )

2).具体配置过程:

1.准备配置:

1.1配置dns服务器IP地址:如图;

[root@centos ~]# service network restart    重启网络服务

1.2 安装源代码前,我们要先安装开发环境;

[root@centos ~]# mount /dev/cdrom /media/cdrom  挂载光盘

[root@centos ~]# yum --disablerepo=* --enablerepo=c6-media groupinstall "Development Tools"  安装开发工具

1.3拖包:把bind和mysql的源代码拖进服务器主机;

2.Mysql的安装:

[root@centos local]# tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz-C /usr/local/    拆包到/usr/local/目录;

[root@centos local]# ln -s mysql-5.5.15-linux2.6-i686 mysql                        为了管理方便(便于输入)做一个连接;

[root@centos ~]# groupadd mysql                                                    增加一个mysql组;

[root@centos ~]#  useradd -r -g mysql mysql                                        增加一个mysql用户;

[root@centos mysql]# chown -R mysql .                                              更给主属;

[root@centos mysql]# chgrp -R mysql .                                              更给组属;

[root@centos mysql]#  scripts/mysql_install_db --user=mysql                        以mysql身份执行scripts/mysql_install_db;

[root@centos mysql]# chown -R root .                                               把当下的所有文件更改所有者为root;

[root@centos mysql]# chown -R mysql data                                           更改mysql data主属;

[root@centos mysql]# cp support-files/my-medium.cnf /etc/my.cnf                    拷贝文件;

[root@centos mysql]# cp support-files/mysql.server /etc/init.d/mysqld              拷贝文件;

[root@centos mysql]# chmod a+x /etc/init.d/mysqld                                  给上一步拷贝的/etc/init.d/mysqld文件可执行权限;

[root@centos mysql]# service mysqld start                                          开启mysqld服务;

Starting MySQL... SUCCESS!

(出现上面这行显示说明成功启动mysqld服务,如果有错误,则重复下面几个操作:

[root@centos mysql]# chown -R mysql .

[root@centos mysql]# chgrp -R mysql .

[root@centos mysql]#  scripts/mysql_install_db --user=mysql

[root@centos mysql]#  chown -R root .

[root@centos mysql]# chown -R mysql data

[root@centos mysql]# service mysqld start)

[root@centos mysql]# chkconfig --add mysqld         把mysql服务加入到开机启动;

[root@centos mysql]# chkconfig mysqld on            设置mysql为开机启动;

2.1安装完成后要做一些必要的设置,方便以后的管理和使用:

1.为了使用各种工具的方便要把/usr/local/mysql/bin加入到系统中;

编辑文件[root@centos bin]# vim /etc/profile

在里面加入一行bin的路径:PATH=$PATH:/usr/local/mysqld/bin

[root@centos bin]# . /etc/profile由于修改了该文件,要重新加载一下文件;

2.为了增加数据库的安全性,建立账号和密码:

[root@centos ~]# mysqladmin -u root -p password '123'     建立mysql管理员为root 密码为123;

Enter password:    (直接回车即可)

进入数据库的操作如下:

[root@centos ~]# mysql -u  root -p  (回车,表示以管理员身份登录需要输入密码);

Enter password:  (输入密码123)

3.Bind的安装:

1.拆包:

[root@centos ~]# tar -zxvf bind-9.8.6-P1.tar.gz -C /usr/local/src/

2.执行预编译环境的检测工具 configure:

./configure --prefix=/usr/local/bind9 --with-dlz-mysql=/usr/local/mysql --enable-threads=no --disable-openssl-version-check

然后执行生成文件的make命令:make && make install

3.为了要方便dns的管理需要做下面配置;

[root@centos bind-9.8.6-P1]# cd /usr/local/bind9/sbin/切换到rndc-confgen的主目录;

执行:

[root@centos sbin]# ./rndc-confgen -a                   产生钥匙和写入到钥匙文件/usr/local/bind9/etc/rndc.key

[root@centos sbin]# ./rndc-confgen >../etc/named.conf   把生成的文件写入到named.conf配置中

编辑named.conf配置文件:

[root@centos etc]# vim named.conf

做如下修改和添加:

加入视图:

.测试,运行dns:

[root@centos sbin]# /usr/local/bind9/sbin/named -g -d 1 -c /usr/local/bind9/etc/named.conf

查看dns运行:

[root@centos mysql]# netstat -tupln |grep 53查看53端口运行;

我们常用的检测dns工具dig命令在/usr/local/bind9/bin下,所以要把该工具加入到/etc/profile;

[root@centos bin]# . /etc/profile   重新加载文件

4.进入mysql数据库添加数据库:

进入数据库;

mysql> show databases;查看数据库信息

mysql> create database mydata;创建名为mydata的数据库

mysql> use mydata;选中mydata数据库

mysql> create table lan_dns_records (

-> zone varchar (255),

-> host varchar (255),

-> type varchar (255),

-> data varchar (255),

-> ttl int(11),

-> mx_priority varchar (255),

-> refresh int(11),

-> retry int(11),

-> expire int(11),

-> minimum int(11),

-> serial bigint(20),

-> resp_person varchar (255),

-> primary_ns varchar (255)

-> );

上面这几行是在mydata数据库中创建lan_dns_records的表,里面的行为表的各字段。

查看创建的表和表内字段;

插入相应记录:

mysql>insert into lan_dns_records (zone,host,type,data,ttl,retry) values ('abc.com','www','A','192.168.2.100','86400','15');

mysql>insert into wan_dns_records (zone,host,type,data,ttl,retry) values ('abc.com','www','A','61.130.130.1','86400','15');

查找表内容:

添加关于wan的dns记录到数据库:

mysql> create table wan_dns_records (

-> zone varchar (255),

-> host varchar (255),

-> type varchar (255),

-> data varchar (255),

-> ttl int(11),

-> mx_priority varchar (255),

-> refresh int(11),

-> retry int(11),

-> expire int(11),

-> minimum int(11),

-> serial bigint(20),

-> resp_person varchar (255),

-> primary_ns varchar (255)

-> );

.此时我们mysql的库文件还不能被系统调用,要把库加入到系统中:

[root@centos mysql]# vim /etc/ld.so.conf.d/mysql.conf    在特定目录创建mysql.conf并编辑文件,添加下面的mysql的库路径:

保存退出;

[root@centos mysql]# ldconfig更新缓存;

.lan内查看dns解析:发现解析的地址为2.100;

5.配置防火墙:

1.ip地址配置:

[H3C]int eth0/0

[H3C-Ethernet0/0]ip add 192.168.2.254 24

[H3C]int eth0/1

[H3C-Ethernet0/1]ip add 61.130.130.1 24

2,把端口加入到区域;

3,配置DNAT;

[H3C]dns server 192.168.2.200

[H3C]dns resolve

[H3C]int eth0/1

[H3C-Ethernet0/1]nat server protocol udp global 61.130.130.1 53 inside 192.168.2.200 53

6.wan内pc配置ip为61.130.130.10,查看dns:

实验结束。

bind dlz mysql rpm_智能DNS --BIND DLZ+MYSQL相关推荐

  1. bind dlz mysql ptr_bind-dlz结合mysql实现智能DNS

    下面介绍bind结合mysql实现智能dns,以centos-6 32为例安装 安装mysql yum install gcc gcc-c++ openssl-devel wget ncurses-d ...

  2. 用bind架设自己的智能DNS

    中国的南北网络问题,是许多做网站的人的心病 除了使用双通或者多通机房以外,还可以通过多台镜像服务器的方法来提高用户的访问速度 但是,如果使用的双通机房并不是单IP的,或者使用多台镜像的做法,就会面临多 ...

  3. bind mysql web_bind智能DNS + bindUI管理系统(mysql + bind dlz)

    # 软件环境 * Centos 7.6 * bind-9.14.1.tar.gz * mariadb-server-5.5.60 * python 3.7 * django 2.2.1 QPS:单节点 ...

  4. Centos Linux 下基于bind的智能DNS搭建

    智能DNS即是能够根据用户请求过来的IP,进行自动的智能解析,从而把用户请求发送至距离用户最近,响应速度最快的服务器上.相较于普通的DNS,只是解析IP地址,而不去判断用户的来源,这是它的优势所在:目 ...

  5. DNS BIND之dnssec安全实例配置-根节点

    上一节我们对dnssec有了一定的认识,下面我们通过实例来说明尝试一下dnssec的配置.关于bind的安装参考:DNS BIND安装测试 环境如下: 递归解析服务器:192.168.13.45 权威 ...

  6. linux+dns的acl,DNS服务器之三:DNS高级用法(DNS转发、ACL、智能DNS及日志系统) | 旺旺知识库...

    前面两篇DNS文件讲解了基本的安装配置和主从复制: 本文将深入讲解DNS服务器bind98的高级用法,主要包括: DNS转发配置 ACL应用与配置 使用bind实现智能DNS BIND日志系统介绍 一 ...

  7. bind9 dlz mysql_利用BIND+DLZ+MYSQL构建企业智能DNS

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

  8. bind dlz mysql ptr_Bind+DLZ+MySQL智能DNS的正向解析和反向解析实现方法

    使用文本配置文件的配置方式结合bind的最新的acl和view特性来实现智能DNS想必很多人已经很熟悉了,使用MySQL数据库来存放zone文件的方式可能也不少.对于两者都熟悉的,实现 Bind+DL ...

  9. bind dlz mysql rpm_MySQL+BIND-dlz 实现智能DNS

    配置环境 系统:centos 6.8 Mysql: 5.7 BIND: 9.11.0 CentOS6编译环境安装 yum groupinstall "Development Tools&qu ...

最新文章

  1. 【Qt中文手册】QSortFilterProxyModel
  2. PouchContainer 发布 0.3.0 版本,支持 Kubernetes 拥抱 CNCF 生态
  3. 使用UrlRewrite时修改form的action属性问题
  4. Linux 软件安装与卸载之获取程序包的途径
  5. 强迫症犯了,忍不住赞一下slf4j包Logger.java的优雅代码
  6. df=df.reset_index(drop=True)
  7. CSS基础「五」定位
  8. java和硬件交互_Java内存模型
  9. 基于Selenium的Web UI自动化实现(java)
  10. python dll注入 网络_dll注入
  11. 网吧无盘服务器最佳配置,史上最全的网吧无盘服务器配置
  12. this command with --force, or --legacy-peer-deps
  13. NEO主要技术社区成员大曝光
  14. 永久性删除的文件怎么恢复,怎么还原文件
  15. 基于单片机的智能花盆
  16. WIN10开机显示被调用的对象已与其客户端断开连接解决方法之一
  17. 青鸟锦江学员车宏鑫正面回答面试官的十大面试问题
  18. H.264及编解码调试
  19. 剑指offer刷题记录(上)
  20. mysql员工星期排班表设计_excel表格怎样制作排班表 星期和月份快速填充,来看看吧...

热门文章

  1. flex 随机数产生方法
  2. fastposter 2.2.0 新版本发布 电商级海报生成器
  3. Python练习题10:斐波那契数列计算
  4. Word文件打开之后有只读限制
  5. 转载分享:Android8.0 连接需要认证的WIFI或不可用的WIFI后自动断开数据流量连接的实现
  6. 小巧 mvc servlet 通过反射 跳转 bussiness层
  7. 紧凑型游戏机械键盘——极度未知HyperX起源60水轴游戏机械键盘
  8. 进制为2的10次方的世界
  9. 网易云音乐部门技术面
  10. 研究杜比视界和HDR近两个月后的各种经验和故事