Linux下bind9高级视图的应用
众所周知网通和电信之间互相的访问速度是很慢的,但是像新浪这样的大型网络公司无论你是在哪用的什么方式接入的网络,访问起来速度都很快,那么是怎么实现的呢!首先想到的会是电信和网通各放一些内容完全相同的服务器,那么怎样才能让电信的用户自己去访问电信的服务器,网通的用户访问网通的服务器呢,这就要用到我们今天所说的bind9高就视图。 www.zhishiwu.com
首先打开Linux系统,检测系统是否安装了bind9软件包,执行如下命令:
rpm -q bind 回车,
如果安装了,我们会看到有 bind-9.2.1-16 的提示;如果未安装,则是:
package bind is not installed 这时我们需要从linux的安装光盘里面找到bind9的安装包并进行安装。
执行以下命令:
vi /etc/named.conf /打开bind9的主配置文件
找到
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
将光标移到下面的大括号这里,按o键插入一行,写入以下语句:
www.zhishiwu.com
acl "dianxin" { 10.0.0.0/8;
11.0.0.0/8;
}; #声明电信的IP地址段
acl "wangtong" { 20.0.0.0/8;
21.0.0.0/8;
}; #声明网通的IP地址段
以下所以内容均写在
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
下面
view "dianxin" {
match-clients { dianxin; }; #声明只允许电信用户查询
recursion yes #是否允许递归查询};
notify yes #是否允许主/副DNS同步数据
zone "." IN {
type hint;
file "named.ca";
}; #当DNS失效时自动查询13台根
zone "abc.com" IN {
type master; #设置为主DNS
file "abc.com.dx.zone" #设置abc.com域名的记录文名
};
};
view "wangtong" {
match-clients { wangtong; }; #声明只允许网通用户查询
recursion yes
notify yes
zone "." IN {
type hint;
file "named.ca";
};
zone "abc.com" IN {
type master;
file "abc.com.wt.zone"
};
};
做完上面的工作以后按esc,然后输入 :w! 和 :q! 进行保存退出。
进入到 /var/named文件夹(如果做了chroot,则路径为 /var/named/chroot/var/named),将里面的localhost.zone文件复制到当前目录并命名为abc.com.dx.zone 和 abc.com.wt.zone,打开并编辑在里面根据需要建立相应的记录即可,记录解析到的地址段依次为10.0.0.0网段或者11.0.0.0网段和20.0.0.0网段或者21.0.0.0网段。保存退出后执行一次 service named reload ,对DNS服务进行刷新。
之后找两台地址段分别为10.0.0.0或者11.0.0.0和20.0.0.0或者21.0.0.0网段的机器用nslookup命令对其测试,如果测试出来得到的IP地址和主机的IP地址在同一个网段,则证明视图生效,如果不在同一个网段则说明视图配置的有问题!
要让视图生效,前提是在记录文件中的解析一定要和视图中声明的IP地址段相对应!
# 号后面的是注释,写配置文件时注意里面的分号和大括号,一个都不能少!