示例

这些示例旨在概述防火墙的一些常见用例。注意,所有计算实例都需要为其规则设置其防火墙属性。

对于启用云防火墙功能的计算实例,默认策略始终为:

  • 允许传入ping请求
  • 阻止所有其它发送方的流量
  • 允许所有传出流量

这里的例子不是相互排斥的,您可以按照您的看法合并示例中的规则。

允许SSH流量

FROM any TO all vms ALLOW tcp PORT 22

FROM any TO vm ba2c95e9-1cdf-4295-8253-3fee371374d9 ALLOW tcp PORT 22

您可以看到这两个规则允许来自Internet的SSH流量。如果存在多个影响传入流量的规则,则应用限制最少的规则。在这种情况下,将应用允许SSH流量到数据中心中的所有计算实例的规则。

允许HTTP流量

FROM any TO all vms ALLOW tcp PORT 80

FROM any TO all vms ALLOW tcp (PORT 80 AND PORT 443)

多个Web和数据库服务器设置

假设您运行一个网站,其中两个Web服务器与两个数据库服务器通信,您可以使用标签来识别每种类型的计算实例。

给每个Web服务器一个值为www的角色标签。 role=www 并为数据库服务器提供值为db的角色标签。 role=db 我们现在需要创建防火墙规则来控制对这些计算实例的访问。回想一下,默认情况下,启用云防火墙的计算实例阻止所有传入的TCP和UDP流量。我们现在需要为每个计算实例角色打开所需的端口。

首先,我们要允许Web服务器和数据库服务器之间的通信,通过创建此规则来实现:

FROM tag role = www TO tag role = db ALLOW tcp PORT 5432

此规则仅允许Web服务器连接到标准PostgreSQL端口(5432)上的数据库服务器。到数据库服务器的所有其他入站流量都被阻止。

接下来,我们希望允许来自Internet上任何地方的HTTP和HTTPS流量到Web服务器。我们通过创建此规则来实现:

FROM any TO tag role = www ALLOW tcp (PORT 80 AND PORT 443)

创建这两个规则后,将标记角色设置为db的计算实例将具有以下行为:

  • 允许带有tag role = www的计算实例的在5432端口上传入TCP流量
  • 允许所有传出流量
  • 允许传入ping请求
  • 阻止所有其它传入流量

而标记角色设置为www的计算实例将具有以下行为:

  • 允许来自任何IP地址的端口80和443上的传入TCP流量
  • 允许从端口5432传出到具有标签 role = www的计算实例的所有TCP流量
  • 允许所有传出流量
  • 允许传入ping请求
  • 阻止所有其它传入流量

堡垒主机设置

在这个设置中,我们有以下要求:

  1. 允许从堡垒主机上的所有端口访问计算实例。
  2. 计算实例阻止所有其他连接。
  3. 堡垒主机只接受来自某些IP地址的SSH连接,而不接收来自于其他IP地址的SSH连接。

默认策略是阻止所有传入连接,因此需要规则2,然后我们需要创建两个规则来处理其他要求。

堡垒主机的id为99a640b6-476f-ee0b-e2b0-b5146d6beb9f。要允许来自堡垒主机的所有流量到所有计算实例,您将创建此规则:

FROM vm 99a640b6-476f-ee0b-e2b0-b5146d6beb9f TO all vms ALLOW tcp PORT all

第二个要求是堡垒主机只能从某些IP地址接受SSH连接。为此,您可以使用此规则:

FROM (ip 172.1.1.110 OR ip 172.1.1.111) to vm 99a640b6-476f-ee0b-e2b0-b5146d6beb9f ALLOW tcp PORT 22

创建新的计算实例时,可以从堡垒主机访问新建的计算实例。

results matching ""

    No results matching ""