收藏本站 
广告服务 
网站地图 
>> 本频道近100000余篇各类电脑技术、网络技术、软件技术、网页及平面设计等方面的电脑教程,我们的原则:不是精华拒不收录!
先飞电脑技术网技术文章网络技术交换/接入
网络编程 | 网站建设 | 网络技术 | 设计教程 | 软件教学 | 程序开发 | 数据库开发 | 教育认证 | 硬件维护 | 媒体动画 | 机械电子 |
智能DNS网通电信互通解决方案
[ 作者:佚名    转贴自:网络转载    阅读次数:38    更新时间:2007-9-7 16:05:00   录入:刘光勇 ]         
    实施步骤: 
1.电信和网通各一台服务器 
2.使用BIND9做智能DNS,自动根据客户端IP来判断,网通的用户解析出网通的IP,电信的解析出电信IP. 
3.将其中一台服务器做成反向代理,这样数据就可以同步了,不需要为同步数据麻烦. 
注意: 
如果你想让自己的服务器不同线路访问不同的服务器, 
或者某个区域访问自己区域的服务器使用该view功能就可以实现 
比如:国外的访问国外服务器 国内访问国内服务器. 

测试做的域名 
www.sc-linux.com 
电信IP218.6.242.216 
网通IP61.182.49.7 
电信用户PING www.sc-linux.com会解析到218.6.242.216 
网通用户PING www.sc-linux.com会解析到61.182.49.7 

批注:该功能主要是解决了北京某门户网站的南北互不相访的问题. 
于2006-4-4日,北京 by mingfor.com. 

配置步骤: 

1、 软件列表 

BIND 9.3.2 
ftp://ftp.isc.org/isc/bind9/9.3.2/bind-9.3.2.tar.gz 

2、 安装BIND 9 

安装BIND9: 

# tar zxvf bind-9.3.2.tar.gz 
# cd bind-9.3.2 
# ./configure 
--prefix=/usr/local/named 
--disable-ipv6 
# make && make install 

建立BIND用户: 

# groupadd bind 
# useradd -g bind -d /usr/local/named -s /sbin/nologin bind 

创建配置文件目录: 

# mkdir –p /usr/local/named/etc 
# chown bind:bind /usr/local/named/etc 
# chmod 700 /usr/local/named/etc 

创建主要的配置文件: 

# vi /usr/local/named/etc/named.conf 
===========================named.conf======================= 

acl "trust-lan" { 127.0.0.1/8; 192.168.0.0/16;}; 
options { 
directory "/usr/local/named/etc/"; 
pid-file "/var/run/named/named.pid"; 
version "0.0.0"; 
datasize 40M; 
allow-transfer { 
"trust-lan";}; 
recursion yes; 
allow-notify { 
"trust-lan"; 
}; 
allow-recursion { 
"trust-lan"; 
}; 
auth-nxdomain no; 
forwarders { 
202.99.160.68; 
202.99.168.8;}; 
}; 
logging { 
channel warning 
{ file "/var/log/named/dns_warnings" versions 3 size 1240k; 
severity warning; 
print-category yes; 
print-severity yes; 
print-time yes; 
}; 
channel general_dns 
{ file "/var/log/named/dns_logs" versions 3 size 1240k; 
severity info; 
print-category yes; 
print-severity yes; 
print-time yes; 
}; 
category default { warning; }; 
category queries { general_dns; }; 
}; 
zone "." { 
type hint; 
file "named.root"; 
}; 

acl "CNC" { 
58.16.0.0/16; 
58.17.0.0/17; 
58.17.128.0/17; 
58.18.0.0/16; 
58.19.0.0/16; 
58.20.0.0/16; 
58.21.0.0/16; 
58.22.0.0/15; 
58.240.0.0/15; 
58.242.0.0/15; 
58.244.0.0/15; 
58.246.0.0/15; 
58.248.0.0/13; 
60.0.0.0/13; 
60.8.0.0/15; 
60.10.0.0/16; 
60.11.0.0/16; 
60.12.0.0/16; 
60.13.0.0/18; 
60.13.128.0/17; 
60.14.0.0/15; 
60.16.0.0/13; 
60.24.0.0/14; 
60.30.0.0/16; 
60.31.0.0/16; 
60.208.0.0/13; 
60.216.0.0/15; 
60.218.0.0/15; 
60.220.0.0/14; 
61.48.0.0/13; 
61.133.0.0/17; 
61.134.96.0/19; 
61.134.128.0/17; 
61.135.0.0/16; 
61.137.128.0/17; 
61.138.0.0/17; 
61.138.128.0/18; 
61.139.128.0/18; 
61.148.0.0/15; 
61.156.0.0/16; 
61.159.0.0/18; 
61.161.0.0/18; 
61.161.128.0/17; 
61.162.0.0/16; 
61.163.0.0/16; 
61.167.0.0/16; 
61.168.0.0/16; 
61.176.0.0/16; 
61.179.0.0/16; 
61.181.0.0/16; 
61.182.0.0/16; 
61.189.0.0/17; 
125.32.0.0/16; 
125.40.0.0/13; 
202.96.0.0/18; 
202.96.64.0/21; 
202.96.72.0/21; 
202.97.128.0/18; 
202.97.224.0/21; 
202.97.240.0/20; 
202.98.0.0/21; 
202.98.8.0/21; 
202.99.64.0/19; 
202.99.96.0/21; 
202.99.128.0/19; 
202.99.160.0/21; 
202.99.168.0/21; 
202.99.176.0/20; 
202.99.208.0/20; 
202.99.224.0/21; 
202.99.232.0/21; 
202.99.240.0/20; 
202.102.128.0/21; 
202.102.224.0/21; 
202.102.232.0/21; 
202.106.0.0/16; 
202.107.0.0/17; 
202.108.0.0/16; 
202.110.0.0/17; 
202.111.128.0/18; 
203.93.8.0/24; 
203.93.192.0/18; 
210.13.128.0/17; 
210.14.160.0/19; 
210.14.192.0/19; 
210.15.32.0/19; 
210.15.96.0/19; 
210.15.128.0/18; 
210.21.0.0/16; 
210.52.128.0/17; 
210.53.0.0/17; 
210.53.128.0/17; 
210.74.96.0/19; 
210.74.128.0/19; 
210.82.0.0/15; 
218.8.0.0/14; 
218.12.0.0/16; 
218.21.128.0/17; 
218.24.0.0/14; 
218.56.0.0/14; 
218.60.0.0/15; 
218.67.128.0/17; 
218.68.0.0/15; 
218.104.0.0/14; 
219.154.0.0/15; 
219.156.0.0/15; 
219.158.0.0/17; 
219.158.128.0/17; 
219.159.0.0/18; 
220.252.0.0/16; 
221.0.0.0/15; 
221.2.0.0/16; 
221.3.0.0/17; 
221.3.128.0/17; 
221.4.0.0/16; 
221.5.0.0/17; 
221.5.128.0/17; 
221.6.0.0/16; 
221.7.0.0/19; 
221.7.32.0/19; 
221.7.64.0/19; 
221.7.96.0/19; 
221.8.0.0/15; 
221.10.0.0/16; 
221.11.0.0/17; 
221.11.128.0/18; 
221.11.192.0/19; 
221.12.0.0/17; 
221.12.128.0/18; 
221.13.0.0/18; 
221.13.64.0/19; 
221.13.96.0/19; 
221.13.128.0/17; 
221.14.0.0/15; 
221.192.0.0/15; 
221.194.0.0/16; 
221.195.0.0/16; 
221.196.0.0/15; 
221.198.0.0/16; 
221.199.0.0/19; 
221.199.32.0/20; 
221.199.128.0/18; 
221.199.192.0/20; 
221.200.0.0/14; 
221.204.0.0/15; 
221.206.0.0/16; 
221.207.0.0/18; 
221.207.64.0/18; 
221.207.128.0/17; 
221.208.0.0/14; 
221.212.0.0/16; 
221.213.0.0/16; 
221.216.0.0/13; 
222.128.0.0/14; 
222.132.0.0/14; 
222.136.0.0/13; 
222.160.0.0/15; 
222.162.0.0/16; 
222.163.0.0/19; 
222.163.32.0/19; 
222.163.64.0/18; 
222.163.128.0/17; 
}; 

view "view_cnc" { 
match-clients { CNC; }; 
zone "." { 
type hint; 
file "named.root"; 
}; 

zone "0.0.127.IN-ADDR.ARPA" { 
type master; 
file "localhost.rev"; 
}; 

include "master/cnc.def"; 
}; 

view "view_any" { 
match-clients { any; }; 
zone "." { 
type hint; 
file "named.root"; 
}; 

zone "0.0.127.IN-ADDR.ARPA" { 
type master; 
file "localhost.rev"; 
}; 

include "master/telecom.def"; 
}; 

添加完成后,保存。 

更新根区文件: 

# cd /usr/local/named/etc/ 
# wget 
ftp://ftp.internic.org/domain/named.root 

创建PID和日志文件: 

# mkdir /var/run/named/ 
# chmod 777 /var/run/named/ 
# chown bind:bind /var/run/named/ 

# mkdir /var/log/named/ 
# touch /var/log/named/dns_warnings 
# touch /var/log/named/dns_logs 
# chown bind:bind /var/log/named/* 

# mkdir master 
# touch master/cnc.def 
# touch master/telecom.def 

生成rndc-key: 

# cd /usr/local/named/etc/ 
# ../sbin/rndc-confgen > rndc.conf 

把rndc.conf中: 
# Use with the following in named.conf, adjusting the allow list as needed: 
后面以的部分加到/usr/local/named/etc/named.conf中并去掉注释 

运行测试: 

# /usr/local/named/sbin/named -gc /usr/local/named/etc/named.conf & 

状态检查: 

# /usr/local/named/sbin/rndc status 

建立启动脚本: 

# vi /etc/init.d/named 
============================== named.sh============================ 
#!/bin/bash 

# named        a network name service. 


# chkconfig: 545 35 75 
# description: a name server 

if [ `id -u` -ne 0 ] 
then 
echo "ERROR:For bind to port 53,must run as root." 
exit 1 
fi 
case "$1" in 

start) 
if [ -x /usr/local/named/sbin/named ]; then 
/usr/local/named/sbin/named -u bind -c /usr/local/named/etc/named.conf && echo . && echo 'BIND9 server started.' 
fi 
;; 

stop) 
kill `cat /var/run/named/pid` && echo . && echo 'BIND9 server stopped.' 
;; 
restart) 
echo . 
echo "Restart BIND9 server" 
$0 stop 
sleep 10 
$0 start 
;; 
*) 
echo "$0 start | stop | restart" 
;; 

esac 
===============================named.sh============================ 

# chmod 755 /etc/init.d/named 
# chown root:root /etc/init.d/named 
# chkconfig --add named 
# chkconfig named on 


到这里bind已经安装完毕 .下面是解析部分. 


3、 添加一个NS 
平时大家修改域名信息的时候,都会发现有一个DNS信息的修改,里面会有一些类似 
ns.sc-linux.com一样的东西。添加这个东西不难,在新网的后台就可以添加。添加 
的时候要注意,域名状态设置里面的域名必须不能在锁定状态。 
登陆新网的后台->域名管理->注册本域名下的DNS->DNS名字:ns->IP地址*.*.*.* 
(按照自己要求修改IP地址)->确定->MyDNS功能->添加新的A记录->ns->IP地址 
61.182.49.7->提交。 
对于一些收费的(如万网)或者不提供DNS服务器注册的管理后台,我们一样有办法去 
解决。首先按照上面的,先添加一个A记录,然后打开 
http://domain.cnic.ac.cn/domain/nameserver/createhost.jsp 
按照上面的提示注册一下就行。 
OK,等待DNS生效吧 

4、 添加一个域名 
# cd /usr/local/named/etc/master 
# mkdir cnc 
# mkdir telecom 
# vi cnc.def 
添加 
zone "sc-linux.com" { 
type master; 
file "master/cnc/sc-linux.com"; 
}; 

# vi telecom.def 
添加 
zone "sc-linux.com" { 
type master; 
file "master/telecom/sc-linux.com"; 
}; 
添加网通的解析,解析到的IP为61.182.49.7 
#vi cnc/sc-linux.com 
添加 
$TTL 3600 
$ORIGIN sc-linux.com. 
@ IN SOA ns.sc-linux.com. root.ns.sc-linux.com.( 
2005121013 ;Serial 
3600 ; Refresh ( seconds ) 
900 ; Retry ( seconds ) 
68400 ; Expire ( seconds ) 
15 );Minimum TTL for Zone ( seconds ) 

@ IN NS ns.sc-linux.com. 
@ IN A 61.182.49.7 
www IN A 61.182.49.7 

;end 
添加电信的解析,解析到的IP为218.6.242.216 
#vi telecom/sc-linux.com 

添加 
$TTL 3600 
$ORIGIN sc-linux.com. 
@ IN SOA ns.sc-linux.com. root.ns.sc-linux.com.( 
2005121013 ;Serial 
3600 ; Refresh ( seconds ) 
900 ; Retry ( seconds ) 
68400 ; Expire ( seconds ) 
15 );Minimum TTL for Zone ( seconds ) 

@ IN NS ns.sc-linux.com. 
@ IN A 218.6.242.216 
www IN A 218.6.242.216 

;end 

#/usr/local/named/sbin/rndc reload 
OK,到此你的DNS服务器就算是跑起来了。试一下分别用网通和电信的线路ping一下吧. 

批注后记: 
以下方法可以查询到3个服务商大致的地址范围,不过是否完整还需要大家验证。 

下载并编译最新的ripe-dbase-client 
# wget 
http://ftp.apnic.net/apnic/dbase/tools/ripe-dbase-client-v3.tar.gz 

#tar zxvf ripe-dbase*.gz 
#cd whois-3.1 
#./configure;make 
执行查询并输出结果 
#./whois3 -h whois.apnic.net -l -i mb MAINT-CNCGROUP >/tmp/cnc 
#./whois3 -h whois.apnic.net -l -i mb MAINT-CHINANET >/tmp/chinanet 
#./whois3 -h whois.apnic.net -l -i mb MAINT-CN-CRTC > /tmp/crtc 

如果想得到具体的服务商比如江苏省电信的IP池,就把mb的值改为MAINT-CHINANET-JS,或者是辽宁网通,那就改为MAINT-CNCGROUP-LN 

然后用grep 和sed去掉多余的文字就可以得到了。
文章首页【加入到收藏夹】告诉好友】【打印此文】【关闭窗口
  版权声明:本站提供的“智能DNS网通电信互通解决方案”版权归文章所有者,转载请注明出处!
 ·上一篇文章:全面分析IDC双线路实现技术方案      ·下一篇文章:宽带基础 ADSL接入技术介绍
相关文章
·智能防火墙技术的关键技术和功能应用[99]
·智能DNS网通电信互通解决方案[38]
·智能南北互通 解决网通电信互连“老大难”[97]
·通过智能布线提高网络安全[37]
·如何掌握布线系统的管理与智能化[63]
网站主页 | 收藏本页 | 联系我们 | 广告服务 | 站点地图 | 会员注册 | 招聘信息 | 内容指正

联系QQ:先飞电脑技术网站事务联系QQ,点击可以直接留言. 32933427 电话:13710542091 [世界排名] 鄂ICP备05005890号 先飞电脑教程网