能否通过OpenVPN在本地访问Google Cloud VM的内部DNS?
实现OpenVPN推送内部域名解析方案
完全可以通过OpenVPN实现这个需求,下面是两种常用的配置方法:
方法一:推送内网DNS服务器
如果你的c.myownproject.internal域名是由内网DNS服务器负责解析的,直接在OpenVPN服务器配置中推送该DNS服务器地址即可:
- 编辑vpnserver上的OpenVPN服务端配置文件(通常是
/etc/openvpn/server.conf) - 添加以下配置项:
push "dhcp-option DNS 10.10.0.X"
把10.10.0.X替换成内网中能解析work-server.c.myownproject.internal的DNS服务器IP
3. 重启OpenVPN服务:
systemctl restart openvpn-server@server
客户端连接VPN后,会自动将该DNS服务器加入本地解析列表,就能通过内部域名访问work-server了。
方法二:直接推送单域名解析记录
如果不想依赖内网DNS,也可以直接在OpenVPN服务器端推送特定域名的IP映射:
- 同样编辑
/etc/openvpn/server.conf,添加:
push "dhcp-option DOMAIN c.myownproject.internal" push "dhcp-option HOST work-server.c.myownproject.internal 10.10.0.6"
部分客户端支持更简洁的写法:
push "hosts-resolv work-server.c.myownproject.internal 10.10.0.6"
- 重启OpenVPN服务生效
注意事项
- 主流OpenVPN客户端(如OpenVPN GUI、Tunnelblick)默认支持接收DHCP选项推送,无需额外配置
- 若客户端本地有旧的DNS缓存,可能需要手动清除:
- Windows:执行
ipconfig /flushdns - Linux/macOS:执行
sudo systemd-resolve --flush-caches
- Windows:执行
内容的提问来源于stack exchange,提问作者Roberto
相关产品推荐
相关产品推荐

