Azure中VM2无法解析SMTP服务器域名,求配置方案(已试VNET对等)
解决方案:通过VM1实现VM2的SMTP域名解析
可以通过以下几种方式配置VM2,利用VM1的解析能力解决域名无法解析的问题:
方法1:手动添加hosts记录(快速临时方案)
- 在VM1上执行
ping xxxx-smtp.somedomain.net,获取该SMTP服务器的IP地址(例如192.168.1.100) - 在VM2上编辑
/etc/hosts文件:sudo nano /etc/hosts - 添加一行解析记录:
192.168.1.100 xxxx-smtp.somedomain.net - 保存退出后,直接测试
ping xxxx-smtp.somedomain.net即可生效。此方案适合SMTP服务器IP固定的场景。
方法2:将VM1设为VM2的DNS服务器(持久化方案)
前提准备
- 获取VM1的私有IP地址(例如
10.0.0.5) - 确认VM2能ping通VM1的私有IP,且双方安全组允许UDP/TCP 53端口的DNS流量通行
配置VM2的DNS
临时生效(重启后失效)
执行以下命令(替换eth0为VM2的实际网卡名称):
sudo systemd-resolve --set-dns=10.0.0.5 --interface=eth0
永久生效(Ubuntu 18.04+ 使用netplan)
- 编辑netplan配置文件:
sudo nano /etc/netplan/00-installer-config.yaml - 在对应网卡的配置节点下添加DNS设置:
ethernets: eth0: addresses: [...] nameservers: addresses: [10.0.0.5] gateway4: [...] - 应用配置:
sudo netplan apply
补充:确保VM1具备DNS解析/转发能力
如果VM1本身只是使用内部DNS服务器,无需额外配置;若要让VM1作为DNS转发节点,可在VM1的Windows系统中开启DNS服务并配置转发器:
- 打开「服务器管理器」→ 添加「DNS服务器」角色
- 在DNS管理器中,右键服务器名称 → 「属性」→ 「转发器」→ 添加原SMTP域名的解析DNS服务器地址
额外排查点
- 检查VNET对等连接的DNS转发开关:部分云平台的VNET对等需要开启「允许转发DNS」选项,若未开启,即使VNET对等,VM2也无法直接使用VNET1的DNS服务器
- 确认VM1的DNS配置:在VM1的「网络连接属性」中查看当前使用的DNS服务器,确保该服务器能正常解析目标SMTP域名
内容的提问来源于stack exchange,提问作者Mohamed
相关产品推荐
相关产品推荐

