连接Pritunl VPN后本地无法访问Azure MySQL数据库,请求排查
解决VPN连接后无法解析Azure MySQL私有域名的问题
问题根源
Azure MySQL的VNet集成域名(如ra********.com)属于私有DNS记录,公共DNS服务器(8.8.8.8/1.1.1.1等)无法查询到这类仅在VNet内部生效的域名,所以会返回NXDOMAIN错误。
解决步骤
配置Pritunl推送Azure私有DNS服务器
- 登录Azure门户,找到MySQL所在VNet的DNS服务器地址(通常是Azure VNet默认DNS,格式为
10.x.x.4,或者你自定义的私有DNS服务器IP) - 进入Pritunl管理界面,在用户/组织的DNS设置中,将这个私有DNS地址放在DNS列表的最顶部,再保留公共DNS作为备用(比如顺序:
Azure私有DNS IP→8.8.8.8→1.1.1.1) - 重新连接VPN,让客户端获取新的DNS配置
- 登录Azure门户,找到MySQL所在VNet的DNS服务器地址(通常是Azure VNet默认DNS,格式为
验证DNS配置生效
- Windows客户端:执行命令
ipconfig /all,检查DNS服务器列表中是否包含Azure私有DNS地址,且排在最前 - Linux/macOS客户端:执行命令
cat /etc/resolv.conf或scutil --dns,确认私有DNS的优先级
- Windows客户端:执行命令
测试私有域名解析
执行命令nslookup ra********.com,如果能返回MySQL的内网IP,说明配置生效;如果还是失败,执行nslookup ra********.com [Azure私有DNS IP]直接指定私有DNS查询,排查是否是DNS服务器本身的问题临时应急方案(本地hosts映射)
如果上述配置暂时无法完成,可在本地hosts文件中手动添加映射:# Azure MySQL内网IP 域名 10.x.x.x ra********.com- Windows路径:
C:\Windows\System32\drivers\etc\hosts(需管理员权限编辑) - Linux/macOS路径:
/etc/hosts(需sudo权限编辑)
- Windows路径:
内容的提问来源于stack exchange,提问作者Kanika Gola
相关产品推荐
相关产品推荐

