愤怒的大鸟 发表于 2015-1-14 20:42:32

带来一篇Centos情况下的DNS智能剖析

如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!DNS智能剖析的本色:基于分歧的来历,dns办事器前往分歧的了局
DNS战略剖析最基础的功效是能够智能的判别会见您网站的用户,然后依据分歧的会见者把您的域名分离剖析成分歧的IP地点。如会见者是网通用户,DNS战略剖析办事器会把你的域名对应的网通IP地点剖析给这个会见者。DNS战略剖析办事器会把您域名对应的电信IP地点剖析给这个会见者。
实行情况:dns办事器是在centos6.432位操纵体系上完成的,两头用了一台H3C的防火墙。Internet用的是一台电脑pc摹拟的。
实行顶用到的mysql-5.5.15-linux2.6-i686.tar.gz能够到mysql的官方网站www.mysql.com下载,
也能够到http://pan.百度.com/disk/home?frm=hao123下载,
bind-9.8.6-P1.tar.gz能够到http://pan.百度.com/disk/home?frm=hao123下载。
收集拓扑图以下:



实验了局预期:内网用户剖析出来的地点是192.168.80.12,外网地点剖析出来的地点是61.130.130.1.
#tar-zxvfmysql-5.5.15-linux2.6-i686.tar.gz-C/usr/local/
把源码解压到/usr/local/目次下
#cd/usr/local/
#ln-smysql-5.5.15-linux2.6-i686mysql
进进解压好的目次,为了便利会见给此目次创立一个快速体例
#cdmysql
#vimINSTALL-BINARY
进进mysql目次,里边有一个INSTALL-BINARY文件,这是个装置匡助文档,能够看到以下步调先容:



#groupaddmysqlsts
#useradd-r-gmysqlmysql
创立一个mysql组并增加一个账号mysql
#chown-Rmysql.
#chgrp-Rmysql.
改动一切文件的一切者和一切组都改成mysql
#scripts/mysql_install_db--user=mysql
以sql的身份来初始化数据库
#chown-Rroot.
#chown-Rmysqldata
再把一切者和一切组改返来
#cpsupport-files/my-medium.cnf/etc/my.cnf
将support-files/my-medium.cnf拷贝到/etc/my.cnf,是不是掩盖选择y。
#cpsupport-files/mysql.server/etc/init.d/mysqld
#chmoda+x/etc/init.d/mysqld
给mysqld实行权限
#servicemysqldstart
启动办事mysqld。
发明呈现毛病:



假如呈现此毛病的话,就把方才做的下令从头实行一遍:
#chown-Rmysql.
#chgrp-Rmysql.
#scripts/mysql_install_db--user=mysql
#chown-Rroot.
#chown-Rmysqldata
后边拷贝的那两步就不必重做了,然后再次入手下手mysqld办事,运转乐成!
#netstat-tupln|grep3306
检察mysqld端口是不是翻开





端口已翻开。
#chkconfig--addmysqld
#chkconfigmysqldon
将mysqld设为开机主动启动。
#vim/etc/profile
PATH=$PATH:/usr/local/mysql/bin
为了便利利用目次下的bin文件,将它到场到体系文件中:
#./etc/profile
从头读取profile文件:(从头登录也能够)
#mysqladmin-uroot-ppassword123然后间接回车
给mysql创立一个***用户,暗码为123
到这里,mysql已装置终了。


接下里装置bind:
#tar-zxvfbind-9.8.6-P1.tar.gz-C/usr/local/src/
解压bind装置包
#cd/usr/local/src/
#ll
total4
drwxrwxr-x.1210132wheel4096Oct1608:09bind-9.8.6-P1
#cdbind-9.8.6-P1/
切换到bind目次
#./configure--prefix=/usr/local/bind9--with-dlz-mysql=/usr/local/mysql--enable-threads=no--disable-openssl-version-check
#make&&makeinstall实行make下令已makeinstall
#cd/usr/local/bind9/
进进此目次,此目次为bind的装置目次
#cdsbin/
#./rndc-confgen-a



实行此下令会在/usr/local/bind9/etc/下发生一个rndc.key文件
#./rndc-confgen>../etc/named.conf
天生named.conf文件
以上两步最好不要在终端中做,由于在终端中做文件生的出格慢,最好是间接在体系中实行下令。
如今进进/usr/local/bind9/etc/目次会发明个中有三个文件:



进进named.conf文件:
往失落第20行至23行前边的#:



修正option以下:
directory"/usr/local/bind9/etc/";
pid-file"/usr/local/bind9/var/run/named.pid";
allow-query{any;};
recursionno;
version"gaint-d1"



在此文件中创立“lan”和“wan”两个会见把持链表:



并在此文件中增加以下内容:
view"lan-view"{
match-clients{lan;};
dlz"Mysqlzone"{
database"mysql
{host=127.0.0.1dbname=mydatassl=falseuser=rootpass=123}
{selectzonefromlan_dns_recordswherezone=$zone$}
{selectttl,type,mx_priority,casewhenlower(type)=txtthenconcat(",data,")32whenlower(type)=soathenconcat_ws(,data,resp_person,serial,refresh,retry,expire,minimum)33elsedataendfromlan_dns_recordswherezone=$zone$andhost=$record$}";
};
};
view"wan-view"{
match-clients{wan;};
dlz"Mysqlzone"{
database"mysql
{host=127.0.0.1dbname=mydatassl=falseuser=rootpass=123}
{selectzonefromwan_dns_recordswherezone=$zone$}
{selectttl,type,mx_priority,casewhenlower(type)=txtthenconcat(",data,")
whenlower(type)=soathenconcat_ws(,data,resp_person,serial,refresh,retry,expire,minimum)
elsedataendfromwan_dns_recordswherezone=$zone$andhost=$record$}";
};
到此处为止,bind也基础装置完成。
接上去给数据库中增加内容:
#mysql-uroot-p
Enterpassword:
以***身份登录mysql
mysql>createdatabasemydata;
创立数据库mydate
mysql>usemydata;
翻开mydate
创立lan表:
createtablelan_dns_records(
zonevarchar(255),
hostvarchar(255),
typevarchar(255),
datavarchar(255),
ttlint(11),
mx_priorityvarchar(255),
refreshint(11),
retryint(11),
expireint(11),
minimumint(11),
serialbigint(20),
resp_personvarchar(255),
primary_nsvarchar(255)
);
创立wan表:
createtablewan_dns_records(
zonevarchar(255),
hostvarchar(255),
typevarchar(255),
datavarchar(255),
ttlint(11),
mx_priorityvarchar(255),
refreshint(11),
retryint(11),
expireint(11),
minimumint(11),
serialbigint(20),
resp_personvarchar(255),
primary_nsvarchar(255)
);
能够看到如今数据库中有以下表:



mysql>insertintolan_dns_records(zone,host,type,data,ttl,retry)values(abc.com,www,A,192.168.80.12,86400,15);
mysql>insertintowan_dns_records(zone,host,type,data,ttl,retry)values(abc.com,www,A,61.130.130.1,86400,15)
两表格中各拔出一笔记录。
此时可看到数据库中的两个表中有以下数据:



利用/usr/local/bind9/sbin/named-g-d1-c/usr/local/bind9/etc/named.conf指令测试:
发明堕落,短少一个libmysqlclient.so.18库文件



实在这个文件时存在的,在/usr/local/mysql/lib/目次下,
#vim/etc/ld.so.conf.d/mysql.conf
在/etc/ld.so.conf.d/下任意建一个文件,好比叫做mysql.conf然后将此库文件的路径写进:
/usr/local/mysql/lib/
#ldconfig
实行ldconfig革新缓存。
#ifconfigeth0:061.130.130.10netmask255.255.255.0
给网卡eth0再加个地点61.130.130.0/24网段内的,以便测试之用。
#digwww.abc.com@192.168.80.12
#digwww.abc.com@61.130.130.10
测试了局以下:






然落后进防火墙设置:
inteth0/0
ipadd192.168.80.254255.255.255.0
inteth0/4
ipadd61.130.130.100255.255.255.0
quit
firewallzonetrust
addinteth0/4
quit
firewallzoneuntrust
addinteth0/0
natserverprotocoludpglobal61.130.130.153inside192.168.80.1253
设置完成后能够测试一下:



测试乐成!


如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!

爱飞 发表于 2015-1-16 21:32:52

带来一篇Centos情况下的DNS智能剖析

期间我阅读了不少关于Linux的相关资料,其中也不乏一些有趣的小故事,这既丰富了我的课余生活,也让我加深了对一些术语的理解,比玩游戏强多了。?

山那边是海 发表于 2015-1-25 17:36:19

用户下达的命令解释给系统去执行,并将系统传回的信息再次解释给用户,估shell也称为命令解释器,有关命令的学习可参考论坛相关文章,精通英文也是学习Linux的关键。

因胸联盟 发表于 2015-2-3 12:44:54

掌握硬件配置,如显卡,声卡,网卡等,硬件只要不是太老或太新一般都能被支持,作为一名Linux系统管理员建议多阅读有关硬件配置文章,对各种不支持或支持不太好的硬件有深刻的了解。

小魔女 发表于 2015-2-9 03:29:41

在系统检测不到与Linux兼容的显卡,那么此次安装就可能不支持图形化界面安装,而只能用文本模式安装等等。

小妖女 发表于 2015-2-26 20:34:17

老实说,第一个程序是在C中编译好的,调试好了才在Linux下运行,感觉用vi比较麻烦,因为有错了不能调试,只是提示错误。

活着的死人 发表于 2015-3-8 18:03:22

和私有操作系统不同,各个Linux的发行版本的技术支持时间都较短,这对于Linux初学者是往往不够的。

飘飘悠悠 发表于 2015-3-16 15:49:19

Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。

愤怒的大鸟 发表于 2015-3-23 00:16:01

另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。
页: [1]
查看完整版本: 带来一篇Centos情况下的DNS智能剖析