看完雪儿和大派的聊天后,问题来了:作为聪明如你的小哥哥,该如何着手解决这个问题?虚拟机运行正常,你甚至可以远程桌面访问虚拟机,但从虚拟机里无法访问外网...... 一般这都是配置问题造成的,因此常规解题思路(按顺序)应该是: 1. 检查网络流量是否被网络安全组(NSG)阻止 2. 检查网络流量是否被VM防火墙阻止 3. 检查网络流量是否被DNS服务器阻止 一起来按顺序看看分别要怎么做吧! 步骤1:检查网络流量是否被网络安全组(NSG)阻止 在 Azure 虚拟机侧边栏中选中'网络',查看网络安全组出站端口规则,是否禁用公共 Internet 出站访问。如果处于禁用状态,请修改或删除该规则并保存。 例如下图所示:“AllowInternetOutBound”为 NSG 默认规则,允许虚拟机访问外部网络。“DenyInternetOutBound”为新添加的 NSG 规则,禁止访问外部网络。由于“DenyInternetOutBound”的优先级高于“AllowInternetOutBound”的优先级,所以最终会使用“DenyInternetOutBound”规则,禁止虚拟机访问外部网络。
更多有关 NSG 的详细信息,请参阅什么是 NSG 以及如何使用门户管理 NSG 。 步骤2:检查网络流量是否被 VM 防火墙阻止 请首先禁用防火墙,然后测试结果。如果问题得到解决,则验证防火墙设置,然后重新启用防火墙。 步骤3:检查自定义 DNS 服务器 IP 地址的有效性 在 Azure 虚拟机侧边栏中选中'网络',点击该虚拟机使用的网络接口,在网络接口侧边栏中选中 DNS 服务器,查看正在使用的 DNS 服务器信息。 如果在网络接口中使用的了自定义的 DNS 服务器,请检查 DNS 服务器 IP 地址是否有效,并适用于当前环境。可以尝试修改 IP 地址,使用 Azure 默认 DNS 服务器或公共 DNS 服务器去测试,如:“8.8.8.8”(由 Google 提供,全球通用 DNS)或者“168.63.129.16”(该地址为 Azure 默认 DNS 服务器地址)。
同样如果在虚拟网络中使用自定义 DNS 服务器,也可以尝试使用一些公共 DNS 服务器,例如:“8.8.8.8”(由 Google 提供,全球通用 DNS),或者选择“默认值”,使用由 Azure 提供的默认 DNS 服务器(IP 地址为“168.63.129.16”)。 如果使用 Azure 默认 DNS 服务器或其他公共 DNS 服务器后虚拟机可以访问外网,说明问题与之前使用的 DNS 服务器 IP 地址有关,请修改为有效的 IP 地址或者使用 Azure 默认 DNS 服务器。 通过上述三个步骤的排查,大部分与虚拟网络访问有关的疑难杂症应该就可以顺利解决了。 |
|