我有 2 个网关,我需要每个网关都提供自己的自动 DNS 服务器,以便通过它自动、独占地访问。
两个网关都连接到同一个 LAN 段。自动 DNS 是指网关向网络上的其他设备提供各自的 DNS 地址,其中每个设备都配置为自动从网关获取可用的 DNS 地址。我提出这个奇怪要求的原因是,其中一个网关为我提供了对公司网络的访问权限,而公司网络的 DNS 响应受到限制,我所能做的就是针对公司服务器。另一个网关连接到不同的基础设施和 Internet 服务提供商,没有应用任何已知限制。因此,对于公司服务,我需要自己的 DNS(因为所有记录都是公司私有的),而对于世界其他地方,我需要访问不受限制的 DNS。
答案1
正如 Paul 所说,您需要一个 DNS 中继来将请求发送到上游服务器,如何决定客户端将与哪个服务器通信将是一个难题。使用 Bind9,您可以相当轻松地创建中继服务器,然后您只需告诉寻找与公司服务器相对应的域的客户端与公司 DNS 通信,其他任何内容都将发送到 ISP 服务器。
options {
directory “/var/cache/bind”;
allow-query { any; };
allow-recursion { any; };
query-source address * port 53;
forwarders {
172.17.0.5; <-- make this the ISP DNS server(s)
};
auth-nxdomain no;
listen-on-v6 { any; };
};
zone "corporate.com" IN {
forwarders {
192.11.0.5; <-- make this the corporate DNS server(s)
};
};
从语法上来说这可能不正确(可能缺少一些重要部分),并且这样设置并不是特别安全,但希望它足以作为帮助您入门的示例。
答案2
从字里行间可以看出,您可能想看看 pfSense 或 Vyatta,它们在设备中提供网关功能。它们都包括 dnsmasq,这是一种流行的 DNS 缓存中继服务器。