架构根据电信、网通用户自动解析不同IP的DNS服务器

Show All   1 2 3

注:已经提供了免费的DNS解析服务。并且VERYCD已经在使用了。地址:http://www.dnspod.com

/*
* 架构根据电信、网通用户自动解析不同IP的DNS服务器
* 本文介绍了如何让DNS服务器根据用户的IP地址解析出不同的镜像服务器IP

* 版本: 1.1.0
* 作者: 声仔(奶罩)
* 网站: http://wuhongsheng.com
* 版权: (C) 1999-2006 wuhongsheng.com
* 修订: 2006-01-19 23:13
* 原始出处: http://wuhongsheng.com/blog/?p=235
*/

本文档基于FreeBSD、BIND平台,Win用户请回避,没有FreeBSD基础的用户请回避。Linux或者其他Unix用户可以作为参考文档。

修订记录:
2006-01-19 修订了部分网通用户的IP地址,修正了NS部分,修正了一些错误,增加了常见问题。

配置步骤:
1. 前言
2. 软件列表
3. 安装BIND 9
4. 配置BIND 9
5. 测试BIND 9
6. 添加一个NS地址
7. 添加一个域名
8. 测试域名
9. 常见问题

一、 前言
本文假设你有一定的FreeBSD操作经验,懂得日常的FreeBSD操作,有良好的耐心,可以
把文档看完,可以处理突发的问题。
本文再假设你已经有了一个域名,并且已经指向所操作的服务器,服务器的/etc/rc.conf
已经正确的设置此域名。在本文里面,此域名为ns.naizhao.com,IP为219.132.1.1。
/etc/rc.conf如下所设置
hostname=”ns.naizhao.com” #机器的域名,请酌情修改
ifconfig_fxp0=”inet 219.132.1.1 netmask 255.255.255.0″ #此行可能有所不同,
请别照抄。fxp0为我机器上面的网卡。

二、 软件列表
本文所用到的软件可从以下地址获取。连接地址最后更新为2005/12/12

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

三、 安装BIND 9
我们假设你已经把BIND 9使用fetch或者wget到/root/下,并且已经su为root。
# tar zxvf bind-9.3.1.tar.gz
# cd bind-9.3.1
# ./configure
# make
# make install
# make clean
到此,BIND 9已经安装上了。如果安装过程中出现什么问题,一般不会是你的人品有问题,
请分析错误信息,把缺少的包给安装上。

四、 配置BIND 9
先别急,看看你的BIND版本再说。
# named -v
如果你是FreeBSD 4,估计你看到的提示类似下面的
named 8.3.7-REL Sun Dec 12 04:15:36 CST 2004
如果你是FreeBSD 5,估计你不会看到上面的信息。然后我们再来输入
# /usr/local/sbin/named -v
这次,不管你是FreeBSD 4还是FreeBSD 5,都会看到下面的信息
BIND 9.3.1
所以在这里,我们统一使用/usr/local/sbin/named
废话少说,开始配置吧。
# cd /etc/namedb
# chmod +x make-localhost
# ./make-localhost
会在当前目录生成一个localhost.rev和localhost-v6.rev。后者是用于IPv6
生成rndc的key
# /usr/local/sbin/rndc-confgen >rndc.conf
打开rndc.conf,把
# Use with the following in named.conf, adjusting the allow list as needed:
……
# End of named.conf
之间的内容,去掉注释#,添加到named.conf中
编辑named.conf
# ee named.conf
找到
zone “.” {
type hint;
file “named.root”;
};

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

// RFC 3152
zone “1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA” {
type master;
file “localhost-v6.rev”;
};

// RFC 1886 — deprecated
zone “1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.INT” {
type master;
file “localhost-v6.rev”;
};
把上面的内容全部用/**/注释
/*
zone “.” {
type hint;
……
file “localhost-v6.rev”;
};
*/
在named.conf文件的最后,把刚才rndc.conf里面的内容添加进去
key “rndc-key” {
algorithm hmac-md5;
secret “ILzfx8ONk2444ix9jnDfKA==”;
};

controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { “rndc-key”; };
};
(上面的内容只供参考)
接下来的,就是文章里面的重头戏了。

Show All   1 2 3

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

AddThis Social Bookmark Button

3 Responses to “架构根据电信、网通用户自动解析不同IP的DNS服务器”

  1. 其实bind的配置远不需要这么复杂,里面的很多东西都是没必要的,例如对localhost的解析以及IP地址反解析等等

  2. 红薯 on February 14, 2008 at 12:01 am said:

    其实bind的配置远不需要这么复杂,里面的很多东西都是没必要的,例如对localhost的解析以及I…

    bind的确有些臃肿,djbdns和tinydns都挺好使的。

  3. 功能不难实现,难的是如何动态,实时更新IP表。

Leave a Reply

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word