如果我有两个域指向同一台机器,但一个解析为内部地址,另一个解析为面向互联网的路由器,那么到我的机器的路由会有什么不同吗(主要是在性能方面)。
例如。
internal.mydomain.com resolves to 192.168.1.200
external.mydomain.com resolves to A.Web.External.IP
最终都会解析回同一台机器。对于网络中的客户端,使用外部地址是否会导致性能下降?
答案1
是的,但影响不大。流量必须先进入路由器,然后转发到机器上。如果流量很大,而路由器又不能胜任这项工作,您可能会注意到速度有所减慢。
答案2
正如 @Matt 已经指出的那样,是的,速度确实略有放缓。不过,也有解决方案:分割 DNS。在水平分割 DNS 中,您可以根据请求的来源使用不同的记录进行回答。bind9 的示例配置:
view "trusted" {
match-clients { 192.168.1.0/24; }; // our network
recursion yes;
// other view statements as required
zone "mydomain.com" {
type master;
// private zone file including local hosts
file "internal/master.mydomain.com";
};
// add required zones
};
view "badguys" {
match-clients {"any"; }; // all other hosts
// recursion not supported
recursion no;
// other view statements as required
zone "mydomain.com" {
type master;
// public only hosts
file "external/master.mydomain.com";
};
// add required zones
};
(来源)
这样,bind 将internal/master.mydomain.com
用于处理来自 LAN 和external/master.mydomain.com
Internet 的请求。优点是您可以使用来自两个网络的相同地址,但 LAN 流量不会通过路由器。