仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 432|回复: 8
打印 上一主题 下一主题

[CentOS(社区)] 带来一篇Centos情况下的DNS智能剖析

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:42:32 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果您觉得本篇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.
[root@localhost~]#tar-zxvfmysql-5.5.15-linux2.6-i686.tar.gz-C/usr/local/
把源码解压到/usr/local/目次下
[root@localhost~]#cd/usr/local/
[root@localhostlocal]#ln-smysql-5.5.15-linux2.6-i686mysql
进进解压好的目次,为了便利会见给此目次创立一个快速体例
[root@localhostlocal]#cdmysql
[root@localhostmysql]#vimINSTALL-BINARY
进进mysql目次,里边有一个INSTALL-BINARY文件,这是个装置匡助文档,能够看到以下步调先容:



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



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





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


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



实行此下令会在/usr/local/bind9/etc/下发生一个rndc.key文件
[root@localhostsbin]#./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也基础装置完成。
接上去给数据库中增加内容:
[root@localhostetc]#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/目次下,
[root@localhostsbin]#vim/etc/ld.so.conf.d/mysql.conf
在/etc/ld.so.conf.d/下任意建一个文件,好比叫做mysql.conf然后将此库文件的路径写进:
/usr/local/mysql/lib/
[root@localhostsbin]#ldconfig
实行ldconfig革新缓存。
[root@localhostetc]#ifconfigeth0:061.130.130.10netmask255.255.255.0
给网卡eth0再加个地点61.130.130.0/24网段内的,以便测试之用。
[root@localhostetc]#digwww.abc.com@192.168.80.12
[root@localhostetc]#digwww.abc.com@61.130.130.10
测试了局以下:






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



测试乐成!


如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!
愤怒的大鸟 该用户已被删除
9#
 楼主| 发表于 2015-3-23 00:16:01 | 只看该作者
另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。
飘飘悠悠 该用户已被删除
8#
发表于 2015-3-16 15:49:19 | 只看该作者
Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。
活着的死人 该用户已被删除
7#
发表于 2015-3-8 18:03:22 | 只看该作者
和私有操作系统不同,各个Linux的发行版本的技术支持时间都较短,这对于Linux初学者是往往不够的。
小妖女 该用户已被删除
6#
发表于 2015-2-26 20:34:17 | 只看该作者
老实说,第一个程序是在C中编译好的,调试好了才在Linux下运行,感觉用vi比较麻烦,因为有错了不能调试,只是提示错误。
小魔女 该用户已被删除
5#
发表于 2015-2-9 03:29:41 | 只看该作者
在系统检测不到与Linux兼容的显卡,那么此次安装就可能不支持图形化界面安装,而只能用文本模式安装等等。
因胸联盟 该用户已被删除
地板
发表于 2015-2-3 12:44:54 | 只看该作者
掌握硬件配置,如显卡,声卡,网卡等,硬件只要不是太老或太新一般都能被支持,作为一名Linux系统管理员建议多阅读有关硬件配置文章,对各种不支持或支持不太好的硬件有深刻的了解。
山那边是海 该用户已被删除
板凳
发表于 2015-1-25 17:36:19 | 只看该作者
用户下达的命令解释给系统去执行,并将系统传回的信息再次解释给用户,估shell也称为命令解释器,有关命令的学习可参考论坛相关文章,精通英文也是学习Linux的关键。
爱飞 该用户已被删除
沙发
发表于 2015-1-16 21:32:52 | 只看该作者

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

期间我阅读了不少关于Linux的相关资料,其中也不乏一些有趣的小故事,这既丰富了我的课余生活,也让我加深了对一些术语的理解,比玩游戏强多了。?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 01:40

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表