我在 AWS 上有一个 OpenVPN 实例,用于控制对管理工具的访问。我有一个内部 Route53 区域和一个 BIND 实例,OpenVPN 将其设置为客户端 DNS。一切正常,但每当我打开笔记本电脑时,如果我打开了仪表板,grafana.mydomain.com
它会尝试解析到公共 Route53 区域并失败,因为此记录仅在私有区域中。当 VPN 稍后连接时,之前的故障会保留 5 分钟的缓存。
有什么方法可以修复此行为(无需修改客户端计算机)?例如在连接到 VPN 时清除 DNS 缓存或减少错过的查找被缓存的时间?
答案1
在 pfSense 上,有一个 VPN 服务器配置选项:
强制 DNS 缓存更新
在连接启动时运行“net stop dnscache”、“net start dnscache”、“ipconfig /flushdns”和“ipconfig /registerdns”。
这会使 Windows 识别推送的 DNS 服务器。
在 OpenVPN 配置文件(服务器端)中,其内容如下:
push "register-dns"
OpenVPN 2.4 手册中是这样说的:
–注册DNS
在启动连接时运行 ipconfig /flushdns 和 ipconfig /registerdns。
这会使 Windows 识别推送的 DNS 服务器。
https://openvpn.net/community-resources/reference-manual-for-openvpn-2-4/
它似乎会在非 Windows 客户端上生成一个可以忽略的警告: