我们ASA 5505
部署了多个。目前,我们有一个设置,其中本地 ASA 正在响应 DHCP 查询,并使用两个 DNS 服务器配置客户端:我们的 DR 站点 DNS 服务器(我们使用 AD)和一个公共 DNS。
当 VPN 隧道关闭时,我们需要让客户端访问“互联网”(这不仅意味着数据包路由,还意味着 DNS 应答),这就排除了我们这边提供 DHCP 的可能性。上述配置允许我们vpnclient server [Production site VPN target] [DR site VPN target]
毫无问题地使用。
这是之前配置的一种解决方法,我们通过调整 DHCP 分配的 DNS 手动切换隧道。超级高接触率且缓慢。
在 Fortigate 上,有一个负载平衡服务,它会创建一个 VIP 并进行一些检查来验证与 DNS 服务器的连接。
除了负载平衡等创造性的解决方案之外,我们如何配置由现场 ASA 分配 DHCP 的客户端以将 DNS 查找发送到特定服务器?
[边注]
只是认为我们可能会在每个站点使用通过相同 VIP(仅 VPN 客户端可访问)提供 DNS 的负载平衡器。但对于可能出现的客户端问题,这是一个复杂的服务器端解决方案。
答案1
在您的情况下,我会简单地将 ASA 用作 DHCP,将其内部 IP 作为 DNS 服务器分发,使用 DNS 代理到隧道 DNS,并在配置中列出几个公共 DNS。
例如。(这些命令适用于 c3900 设备 ios15.1,您可能需要进行更改才能兼容 ASA 软件)
service dhcp
ip domain nameserver "tunnel dns"
ip domain nameserver 8.8.8.8 ; google dns used for simplicity
ip domain nameserver 8.8.4.4
ip dhcp pool NET-POOL
network 192.168.1.0 255.255.255.0
default-router 192.168.1.1
dns-server 192.168.1.1
domain-name mydomain.net ; not required but helpful
lease 9
ip dhcp excluded-address 192.168.1.1
这适用于小型办公室,我在 100 个或更少的用户上使用它,但如果您有内存,可以扩展。
在隧道上运行 ip-sla 以了解隧道何时关闭并使用默认路由指向隧道将使切换更快、更可靠。只需确保您已定义静态路由以指向本地外部接口,否则当隧道关闭时,asa 将删除默认路由,然后一切可能停止工作。