配置view:
使用view 时所有的zone都应该写在view里面
假设我们的dns这台服务器有两个ip(两张网卡,或一张网卡两个ip),一个是172.16.0.0网段的ip,一个是192.168.0.0网段的ip,我们想要实现,来自172.16.0.0网段的主机访问时解析到的是172.16.0.1上的web服务器,来自172.16.0.0网段的主机访问时解析到的是192.168.0.100上的web服务器
acl internal {
192.168.0.0/24;
127.0.0.0/8;
}; 内网访问控制列表
acl external {
172.16.0.0/16;
}; 外网访问控制列表
options {
directory "/var/named";
recursion yes;(允许递归)
};
view "INNET" {
match-clients{ internal; };
recursion yes;(允许递归)
zone "." IN {
type hint;
file "named.ca";
};
zone "a.org" IN {
type master;
file "a.org.internal";
};
};
view "EXNET" {
match-clients{ external; };
recursion no;(外网用户不允许递归)
zone "." IN {
type hint;
file "named.ca";
};
zone "a.org" IN {
type master;
file "a.org.external";
};
};
:wq
named-checkconf(检查语法错误)
此时我们就只缺少两个数据文件了
编辑数据文件:
cd /var/named
ls
cp a.org.zone a.org.internal
vim a.org.internal
$TTL 2300
$ORIGIN a.org.
@ IN SOA ns1.a.org. admin.a.org. (
201107409
3H
20M
15D
3D )
IN NS ns1.a.org.
IN MX 10 mail.a.org.
ns1 IN A 192.168.2.100(dns上的192.168网段的ip)
www IN A 192.168.2.100(将此ip改为www服务器的ip)
ftp IN A 192.168.0.9
:wq
cp a.org.zone a.org.external
vim a.org.external
$TTL 2300
$ORIGIN a.org.
@ IN SOA ns1.a.org. admin.a.org. (
201107409
3H
20M
15D
3D )
IN NS ns1.a.org.
IN MX 10 mail.a.org.
ns1 IN A 172.16.2.100(dns上的172.16网段的ip)
www IN A 172.16.2.100
ftp IN A 10.1.2.9
将光标移动到www所在的行,在末行模式下:.,$s/192.168/172.16/g把所有的192.168换成172.16即可
:wq(保存退出)
service named restart
下面进行测试:
dig -A @192.168.0.3看测试结果是不是192.168.0.100
dig -A @172.16.0.10看测试结果是不是172.16.0.100
阅读(2078) | 评论(0) | 转发(0) |