我们有一些域(mydom.tld),在 svn 子域中我们有 Subversion 服务器。
该服务器位于主办公室,必须从办公室内部和外部进行访问。
因此,现在我们每次进入办公室时都必须编辑 /etc/hosts 文件,并在外出时重新编辑以使其正常工作。
我已经配置了 DNS 服务器(Ubuntu 下的 bind9),以便我们可以按照上面描述的方式使用它,但问题是它管理整个 mydom.tld 域,而我只希望它管理子域。
期望的行为:
- mydom.tld -> 没有答案
- asdf.mydom.tld -> 没有答案
- svn.mydom.tld-> 192.168.1.X
有人可以根据文件 /etc/bind/named.conf.local 和类似文件给出解决方案吗?
答案1
您可以使用看法与此绑定的功能named.conf
:
view "internal" {
match-clients { 192.168.1.0/24; }; // your network
recursion yes;
// required zone for recursive queries
zone "." {
type hint;
file "root.servers";
};
zone "sub.mydom.tld" {
type master;
// private zone file including local hosts
file "view/master.sub.mydom.tld.internal";
};
// required local host domain
zone "localhost" in{
type master;
file "master.localhost";
allow-update{none;};
};
// localhost reverse map
zone "0.0.127.in-addr.arpa" in{
type master;
file "localhost.rev";
allow-update{none;};
};
}; // end view
// external hosts view
view "external" {
match-clients {"any"; }; // all other hosts
// recursion not supported
recursion no;
zone "mydom.tld" {
type master;
// only public hosts
file "view/master.example.com.external";
};
}; // end view
答案2
得不到答案mydom.tld
很容易。我怀疑你想要的是它给出正确的回答。
IE
在办公室外,你会得到这样的信息:
- mydom.tld-> 10.0.0.1
- asdf.mydom.tld->NXDOMAIN
- svn.mydom.tld-> 10.0.0.2
在里面,你会看到这个:
- mydom.tld-> 10.0.0.1
- asdf.mydom.tld->NXDOMAIN
- svn.mydom.tld-> 192.168.1.1
我认为最简单的方法是将生产绑定配置复制到 Office Bind 服务器并只编辑该条目。您可以在每日 cron 作业中设置它,以便对生产的任何更改都会在 24 小时后反映在办公室中。(详细信息由您决定 - 每小时 cron 作业、SVN 签出等)
如果您没有在生产中运行 Bind 或者您正在使用第三方服务(例如注册商的 DNS 服务),那么您可以改用区域传输。(AXFR
)