网站服务器集群构建之:DNS配置篇

  作者:Amteam.org
2008/9/18 23:07:00
本文关键字: 存储 磁带 VTL

本文章主要讲解大型网站构建,全部采用开源软件和开源的操作系统,构架采用 LAMP (Linux+Apache+Mysql+Php)模式实现。

看了前面的应该知道,由于访问量大,地域分布广,这里假设使用了3加运营商介入,分别是网通,电信,还有一个其他接入方式。先分析一下网络情况,现在我们是3根线路接入,网络用户分别来自不同的地方,不同地方的线路速度是不同的,如果电信的用户一定要从网通的线路来访问我的站点那就会变得非常缓慢,所以第一个目的就是让电信的用户通过电信线路,网通的用户通过网通线路来访问,用户访问只是通过在浏览器中输入域名来访问,没有办法处理线路上的问题,而数据发出后经过N多路由到达我们的网站,路由会自动选择最经济路由,我们也没办法处理,那我们只有在域名上想想办法了。这里使用bind的view功能,配置也不复杂,作用就是根据ip的来源不同解析到不同的ip上去。

1、named.conf文件的配置

配置named.conf,因为涉及到隐私问题,这里就不写实际地址了,用伪地址代替,下面涉及到的一些查询权限,zone传输,slave服务器配置等大家使用的时候根据实际情况修改。

named.conf


//
//Samplenamed.confBINDDNSserver'named'configurationfile
//fortheRedHatBINDdistribution.
//
//SeetheBINDAdministrator'sReferenceManual(ARM)fordetails,in:
//file:///usr/share/doc/bind-*/arm/Bv9ARM.html
//AlsoseetheBINDConfigurationGUI:/usr/bin/system-config-bindand
//itsmanual.
//
options
{
/*makenameduseport53forthesourceofallqueries,toallow
*firewallstoblockallportsexcept53:
*/
query-sourceaddress*port53;
//query-source-v6port53;

//Putfilesthatnamedisallowedtowriteinthedata/directory:
directory"/var/named";//thedefault
dump-file"data/cache_dump.db";
statistics-file"data/named_stats.txt";
memstatistics-file"data/named_mem_stats.txt";
datasize100M;
allow-query{192.168.0.0/24;2xx.1xx.2xx.0/24;1xx.1xx.1xx.192/24;};
};
logging
{
/*Ifyouwanttoenabledebugging,eg.usingthe'rndctrace'command,
*namedwilltrytowritethe'named.run'fileinthe$directory(/var/named).
*Bydefault,SELinuxpolicydoesnotallownamedtomodifythe/var/nameddirectory,
*soputthedefaultdebuglogfileindata/:
*/
channeldefault_debug{
file"data/named.run";
severitydynamic;
};
};
//
//AllBIND9zonesareina"view",whichallowdifferentzonestobeserved
//todifferenttypesofclientaddresses,andforoptionstobesetforgroups
//ofzones.
//
//Bydefault,ifnamed.confcontainsno"view"clauses,allzonesareinthe
//"default"view,whichmatchesallclients.
//
//Ifnamed.confcontainsany"view"clause,thenallzonesMUSTbeinaview;
//soitisrecommendedtostartoffusingviewstoavoidhavingtorestructure
//yourconfigurationfilesinthefuture.
//
acl"zero-transfer"{192.168.0.0/24;2xx.1xx.2xx.0/24;1xx.1xx.1xx.192/24;};
acl"slave-updata"{192.168.0.0/24;2xx.1xx.2xx.0/24;1xx.1xx.1xx.192/24;};
include"/etc/zone.conf";

#-----------------------------------------#
view"internal"{
match-clients{127.0.0.1;};
recursionno;
zone"localhost"{
typemaster;
file"localhost.zone";
};
zone"0.0.127.IN-ADDR.ARPA"{
typemaster;
file"named.local";
};
};
#-----------------------------------------#
view"cnc"{
match-clients{CNC;};
match-destinations{any;};
recursionyes;
include"/etc/cnc.zones";
include"/etc/cnc.local";
};
view"telecom"{
match-clients{CHINANET;};
match-destinations{any;};
recursionyes;
include"/etc/telecom.zones";
include"/etc/telecom.local";
};
view"other"{
match-clients{any;};
match-destinations{any;};
recursionyes;
include"/etc/other.zones";
include"/etc/other.local";
};
#-----------------------------------------#

include"/etc/rndc.key";

zone.conf:
acl"CNC"{
117.8.0.0/13;
……
123.112.0.0/12;
};
acl"CHINANET"{
222.222.0.0/15
……
222.86.0.0/15
};
*.zones为正向解析配置文件,*.local为反向解析文件,同dns的标准配置。
#-------------------------------------------#
zone"."{
typehint;
file"/var/named/named.root";
};
#------------------------------------------#
zone"56hr.com"IN{
typemaster;
file"cnc/xinyv.com.ndb";
allow-query{any;};
allow-transfer{zero-transfer;};
allow-update{slave-updata;};
};
#-----------------------------------------#
然后分别在不同的文件夹建立相应的ndb数据文件即可。


2、slavedns配置

在配置dnsview的时候slavedns的配置要有一些小小的改动。named.conf除了allow-query一般设置any以外没有什么变化。主要是在*.zones中要制定同步用的源地址。
cnc.zones
#---------------------------------------#
zone"."{
typehint;
file"/var/named/named.root";
};
#---------------------------------------#
zone"56hr.com"IN{
typeslave;
file"cnc/xinyv.com.ndb";
allow-query{any;};
allow-transfer{zero-transfer;};
transfer-source192.168.0.205;
masters{192.168.0.204;};
};
#---------------------------------------#
cnc.local
#------------------------------------------#
zone"58.112.202.in-addr.arpa"IN{
typemaster;
file"cnc/xinyv.com.local";
allow-query{any;};
allow-update{slave-updata;};
allow-transfer{zero-transfer;};
};
大家可能发现我多了一个zone.conf文件,这个文件是那里来的呢?这个是用一个脚本产生出啦的。
#!/bin/bash

#Sourcefunctionlibrary.

./etc/init.d/functions
[!-f/etc/sysconfig/network]&&exit1
./etc/sysconfig/network
["${NETWORKING}"="no"]&&exit0
[-z$1]&&{echo"$0cnc$0chinanet";exit1;}
FILE="/dev/shm/ip_apnic"
rm-f$FILE
echo"acl$1{">>_zone.conf
wgethttp://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest-o/dev/null-O$FILE
grep'apnic|CN|ipv4|'$FILE|awk-F'|''{print$4""$5}'|whileread_IP_MASK
do
MASK=$(cat<pow=32;
definelog2(x){
if(x<=1)return(pow);
pow--;
return(log2(x/2));
}
log2($_MASK)
EOF)
whois$_IP@whois.apnic.net|grep^netname|uniq|sed-e's/^netname://g'|grep-qi$1&&echo$_IP/$MASK\;>>/dev/shm/_zone.conf
done
echo"};">>_zone.conf

这样dns服务器就算配置完了.

【相关文章】

【责任编辑:布丁 TEL:(010)68476606】


责编:
vsharing微信扫一扫实时了解行业动态
portalart微信扫一扫分享本文给好友

著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
最新专题
IT系统一体化时代来了

2009年Oracle 用Exadata服务器告诉企业,数据中心的IT服务一体化解决方案才是大势所趋,而当前企业对大数据处理的..

高性能计算——企业未来发展的必备..

“天河二号”问鼎最新全球超级计算机500强,更新的Linpack值让世界认识到了“中国速度”。但超算不能只停留于追求..

    畅享
    首页
    返回
    顶部
    ×
      信息化规划
      IT总包
      供应商选型
      IT监理
      开发维护外包
      评估维权
    客服电话
    400-698-9918