mysql与dns_借助mysql和DNS view实现智能DNS(centos6.3 x64环境)
开篇说明
关于智能DNS和CDN的东西可以看我之前的一篇博文
上次的博文简单使用了BIND的视图功能实现了简单的智能dns,此篇博文结合了mysql实现真正意义上的智能DNS系统
需要准备东西
首先yum安装mysql。。。yum install mysql mysql-server mysql-devel
下载bind主程序源码:
ftp://ftp.isc.org/isc/bind9/9.8.5-P1/bind-9.8.5-P1.tar.gz
下载bind-sdb驱动:
http://nchc.dl.sourceforge.net/project/mysql-bind/mysql-bind/mysql-bind-0.2%20src/mysql-bind.tar.gz
解压:
tar xfbind-9.8.5-P1.tar.gz
tar xfmysql-bind.tar.gz
编译安装bind
将mysql-sdb的补丁文件拷贝到bind安装源文件目录下cp mysql-bind/mysqldb.c bind-9.8.5-P1/bin/named/
cp mysql-bind/mysqldb.h bind-9.8.5-P1/bin/named/
修改bind源码目录下的bin/named/Makefile.in修改以下几行,其中DBDRIVER_LIBS后的参数可以使用/usr/bin/mysql_config --libs获取DBDRIVER_OBJS= mysqldb.@O@
DBDRIVER_SRCS= mysqldb.c
DBDRIVER_INCLUDES= -I'/usr/include/mysql'
DBDRIVER_LIBS=-rdynamic -L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lssl-lcrypto
修改bind源码目录下的bin/named/main.c,添加以下几行/*#include "xxdb.h" */
后面添加
#include "mysqldb.h"
/*xxdb_init();*/在后面添加
mysqldb_init();
再找到
/*xxdb_clear();*/在后面添加
mysqldb_clear();
修改bin/named/mysqldb.c将
#include
修改为
#include
编译安装./configure--prefix=/usr --sysconfdir=/etc
make&& make install
下载电信和联通的地址列表ACL,存放在/etc/named目录下http://www.centos.bz/wp-content/uploads/2012/02/CHINANET.acl
http://www.centos.bz/wp-content/uploads/2012/02/CNC.acl
在/etc/named.conf添加2条,从而将电信和联通的ACL地址列表包含进来include"/etc/named/CHINANET.acl"
include"/etc/named/CNC.acl"
然后在主配置文件中定义2个视图:
CNC是联通的视图 ,CHINANET是电信的视图view CNC{
match-clients { CNC; };
recursion no;
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "named.localhost";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
};
zone "lustlost.com" IN {
type master;
notify no;
database "mysqldb smartdns CNClocalhost root 123456"; #这里定义的数据库相关的配置,字段分别为:SQLtype DataBase Table Host User Password
};
};
view CHINANET {
match-clients { CHINANET; };
recursion no;
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "named.localhost";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
};
zone "lustlost.com" IN {
type master;
notify no;
database "mysqldb smartdnsCHINANET localhost root 123456";
};
};
然后创建数据库:create database smartdns;
use smartdns;
创建联通表CREATE TABLE CNC(name varchar(255) default NULL,ttl int(11) default NULL,rdtypevarchar(255) default NULL,rdata varchar(255) default NULL) TYPE=MyISAM;
插入SOA其实授权信息
INSERTINTO CNC VALUES('lustlost.com',259200,'SOA','lustlost.com.www.lustlost.com.20130617 28800 720086400 28800');
插入NS记录(实验环境,地址皆为内网IP)
INSERT INTO CNC VALUES ('lustlost.com', 259200, 'NS','ns1.lustlost.com.'),('lustlost.com', 259200, 'NS', 'ns2.lustlost.com.'),('lustlost.com', 259200, 'MX', '10 mail.lustlost.com.'),('ns1.lustlost.com',259200, 'A', '192.168.1.1'),('ns2.lustlost.com', 259200, 'A','192.168.1.2'),('mail.lustlost.com', 259200, 'A','192.168.1.3'),('www.lustlost.com', 259200, 'A', '192.168.1.4');
创建电信表CREATE TABLE CHINANET (name varchar(255) default NULL,ttl int(11) default NULL,rdtypevarchar(255) default NULL,rdata varchar(255) default NULL) TYPE=MyISAM;
插入SOA其实授权信息
INSERT INTO CHINANET VALUES ('lustlost.com',259200,'SOA','lustlost.com.www.lustlost.com.2013061728800 7200 86400 28800');
插入NS记录(实验环境,地址皆为内网IP)
INSERT INTO CHINANET VALUES ('lustlost.com', 259200, 'NS','ns1.lustlost.com.'),('lustlost.com', 259200, 'NS', 'ns2.lustlost.com.'),('lustlost.com', 259200, 'MX', '10 mail.lustlost.com.'),('ns1.lustlost.com',259200, 'A', '192.168.2.1'),('ns2.lustlost.com', 259200, 'A', '192.168.2.2'),('mail.lustlost.com',259200, 'A', '192.168.2.3'),('www.lustlost.com', 259200, 'A', '192.168.2.4');
完毕....
mysql与dns_借助mysql和DNS view实现智能DNS(centos6.3 x64环境)相关推荐
- 互联网dns架构实现智能dns实现
互联网dns架构实现&&智能dns实现 实验环境:准备8台虚拟机,具体ip配置如下图 实验目的:互联网DNS工作原理的简单实现(域名解析.只缓存DNS服务器.DNS子域委派和转发.主从 ...
- DNS服务之智能DNS
前言和实验背景 智能DNS是一个很关键的应用,也是直观体现工资的一项技能.智能DNS现在的技术已经非常的成熟,而且可以进化成CDN(内容分发网络).基本掌握了智能DNS和CDN的技术,就代表你已经成为 ...
- linux创建出口dns,Linux创建智能DNS
根据客户端源IP地址的不同,DNS服务提供不同的解析地址 1.安装dns服务,修改全局配置文件/etc/named.conf # yum -y install bind # vim /etc/name ...
- DNS加速之“智能DNS”跟“双线加速”、“CDN加速”的区别
"智能DNS"跟"双线加速"."CDN加速"的区别 相信,很大部分IDC用户可能还没弄清楚状况,有人觉得智能DNS跟双线加速.CDN加速是类 ...
- DNS云学堂 | 智能DNS让CDN乘风破浪
智能DNS是DNS领域经常被提及的一个概念.在和运营商客户进行技术交流时,也总是被问及,到底什么是智能DNS?智能DNS在CDN中扮演什么角色?它是怎么样的工作机制?今天DNS云学堂就来具体讲解下.e ...
- linux 搭建智能dns,Linux配置智能DNS服务
一.在虚拟机svr11上构建dawai.com的权威DNS服务器 1)安装bind.bind-chroot软件包 [root@svr11 ~]# yum -y ×××tall bind bind-ch ...
- bind9 dlz mysql_利用BIND+DLZ+MYSQL构建企业智能DNS
目录: 一.简介 二.服务规划 三.安装BIND及基本环境 四.配置Bind-View-DLZ-MYSQL 五.添加相关记录并进行测试 六.配置从DNS 七.本文以FreeBSD 10.2 stabl ...
- RHEL6.3 DNS高级技术二 通过DNS主从区域复制实现DNS View负载均衡和冗余备份
RHEL6.3 DNS高级技术二 ----通过DNS主从区域复制实现DNS View负载均衡和冗余备份 版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 ...
- Linux DNS服务详解——DNS服务搭建细节
前几天,我陆续给大家介绍了DNS服务的相关内容,今天,我给大家补充介绍一下DNS服务中一些小问题. 前文链接: Linux DNS服务详解--DNS基础知识 Linux DNS服务详解--DNS实战配 ...
最新文章
- fastdfs java client_fastdfs-client-java操作fastdfs5.0.4
- Docker环境配置指南!
- 重庆交通大学2019年计算机系收分,重庆交通大学2019年考研复试分数线已公布
- 一款基于jquery和css3的头像恶搞特效
- 各种资源思科、gns3……
- SpringBoot中使用POI实现Excel导入到数据库(图文教程已实践)
- 最全的“大数据”学习资源
- 服务器系统安装及部署pdf,服务器操作系统安装说明.pdf
- wpf之lable右下角放关闭图标
- 微信小程序——组件(二)
- 解决Adobe Flash Player不是最新版本方法
- Python爬虫入门之初遇lxml库
- 根据微信公众号关注/取消关注事件,获取用户信息
- 扫拖一体洗地机实用吗、扫拖一体洗地机哪个品牌好,看完就知道
- NGUI:HUD Text
- 教你玩转 sqlplus,工作效率提升 200%
- c语言51单片机湿度浇花器,基于51单片机的室内自动浇花系统的制作方法
- 路由器 DNSMasq 替代 hosts,支持Android、iPhone、PC
- STM32 + 无线通信模块 NRF24L01 数据收发
- 【转】14年从业老兵分享万字长文MMO成功秘诀
热门文章
- datagridview 设置选中行_Excel实用两大技巧,删除重复行,神奇选择性粘贴
- 跨域 Cookie 实现单点登录
- mysql加删查语句_MySQL基本语句——增、删、查、改
- tomcat java 参数乱码_javaweb乱码(tomcat服务器)
- emacs php,如何在Emacs中关闭php-indent警告
- mysql数据库2013_MySQL数据库备份(2)2013-6-13
- mysql复杂操作,.Net Core+mySqlSugar的一些稍复杂操作
- opencv 叠加两张图_「干货」教你如何用OpenCV快速寻找图像差异处
- 【若依(ruoyi)】数据选择对话框
- LISP标注路线桩号_CAD插件标桩号的AutoLISP程序语言求解释并译成中文,谢谢