![azure:虚拟网络无法与防火墙通信吗?](https://linux22.com/image/754648/azure%EF%BC%9A%E8%99%9A%E6%8B%9F%E7%BD%91%E7%BB%9C%E6%97%A0%E6%B3%95%E4%B8%8E%E9%98%B2%E7%81%AB%E5%A2%99%E9%80%9A%E4%BF%A1%E5%90%97%EF%BC%9F.png)
在 Azure 中,您可以创建具有一个或多个子网的虚拟网络。我创建了一个只有一个子网的虚拟网络。然后,您可以将虚拟机分配给该子网。但此时,虚拟机无法看到世界,世界也无法看到虚拟机。
为了创建 VLAN 访问互联网的网关,我创建了一个防火墙。防火墙有一个必需参数,即子网。但无法分配我的虚拟网络的子网。您必须创建一个新的子网。
这看起来很疯狂——这意味着 VLAN 和防火墙无法连接,因为它们之间没有路由。
如果您有一个带防火墙和一些服务器的机架,您只需将内部网卡连接到带有服务器的交换机,将外部网卡连接到互联网,然后创建一些管道和规则。但是在 Azure 中,防火墙不能与虚拟网络位于同一网络上,因此它们之间没有路由,除非定义一个虚拟机作为网关,否则网络实际上是隔离的,并且可以分配两个网卡,一个在防火墙子网上,一个在虚拟局域网子网上,但这需要更多的工作和成本。
是否有捷径可寻?
假设我可以创建一个虚拟机仅用作网关,为其提供两个虚拟网卡,为其提供公共 IP,并使用 vlan 提供内部网卡,然后将此服务器设为其他服务器的网关,并在其上安装 ipchains,但将虚拟机用作防火墙/网关而不是服务似乎有点浪费?或者这是通过一些基本的 NAtting 将虚拟网络连接到互联网的最简单方法吗?
答案1
您的想法存在几个问题:
- 您不需要防火墙即可访问互联网。默认情况下,所有 Azure VM 都具有对互联网的出站访问权限,除非您使用 NSG 阻止它。如果您只需要互联网访问,那么添加 Azure 防火墙是一种昂贵的浪费
- 部署 Azure 防火墙时选择的子网只是防火墙将要所在的子网,该子网需要为空(子网,而不是网络),这对可以使用防火墙的资源影响不大。位于同一虚拟网络但不同子网的所有资源都可以通过添加路由以通过该方式发送出站流量来使用防火墙。对于其他虚拟网络上的资源,可以将网络对等到包含防火墙的网络并创建路由。