您可以在 NSX Edge 服务网关上添加用户定义的 Edge 防火墙规则以接受或拒绝特定类型的流量。不过,您无法在分布式逻辑路由器上添加用户定义的防火墙规则。

“Edge 防火墙”界面提供以下方法以添加 Edge 防火墙规则:
  • 在防火墙表中的现有规则上方或下方添加。
  • 复制现有规则进行添加。
  • 单击添加图标。
切记: 如果已创建分布式防火墙规则并将其应用于 Edge,则会在“Edge 防火墙”用户界面上以 只读模式显示这些防火墙规则。不过,不会在用于创建分布式防火墙规则的“防火墙”界面( 网络和安全 > 安全性 > 防火墙)上显示使用“Edge 防火墙”用户界面创建的 Edge 防火墙规则。

过程

  1. 登录到 vSphere Web Client
  2. 单击网络和安全 (Networking & Security) > NSX Edge (NSX Edges)
  3. 双击一个 NSX Edge
  4. 单击管理 > 防火墙
  5. 使用以下三种方法之一来添加 Edge 防火墙规则。
    方法 1:在防火墙表中的现有规则上方或下方添加。

    NSX 将新添加的规则的“源”、“目标”和“服务”列设置为“任意”。如果系统生成的默认规则是防火墙表中的唯一规则,则将新规则添加到默认规则上方。默认情况下启用新规则。

    NSX 版本 步骤
    6.4.6 和更高版本
    1. 选择规则。
    2. 单击 ,然后选择添加到上方 (Add Above)添加到下方 (Add Below)
    6.4.5 和更低版本
    1. 选择规则。
    2. 在“编号”列中,单击 编辑,然后选择添加到上方添加到下方
    方法 2:复制现有规则进行添加。

    NSX 6.4.5 和更低版本中,您可以每次复制一个规则以创建规则。从 NSX 6.4.6 开始,您可以选择多个规则以同时进行复制。将默认启用复制的规则,您可以根据需要编辑规则属性。

    注: 在复制并粘贴系统生成的“内部”规则和“默认”规则时,将自动为新创建的规则分配“用户”规则类型。
    NSX 版本 步骤
    6.4.6 和更高版本
    1. 选中要复制的规则旁边的复选框。
    2. 单击更多 > 复制选定的规则
    3. 选择目标规则,以粘贴所复制的规则。
    4. 单击 ,然后选择在上面粘贴规则在下面粘贴规则
    6.4.5 和更低版本
    1. 选择规则。
    2. 单击“复制”(复制) 图标或 编辑,然后选择复制
    3. 选择目标规则,以粘贴所复制的规则。
    4. 在“编号”列中,单击 编辑,然后选择在上方粘贴在下方粘贴
    方法 3:单击 添加HTML5 UI 中的“添加规则”图标。Flex UI 中的“添加”图标。)图标以添加一个规则。

    将在防火墙表中添加一个新行。NSX 将新添加的规则的“源”、“目标”和“服务”列设置为“任意”。如果系统生成的默认规则是防火墙表中的唯一规则,则将新规则添加到默认规则上方。默认情况下启用新规则。

  6. (可选) 指定规则名称。
    • NSX 6.4.6 和更高版本中,单击新规则的名称列,然后输入规则名称。
    • NSX 6.4.5 和更低版本中,指向新规则的名称 (Name)列,然后单击 编辑。输入规则名称,然后单击确定
  7. (可选) 指定防火墙规则的源。
    您可以添加 IP 地址、vCenter 对象和分组对象以作为源。如果未添加源,则源设置为“任意”。您可以添加多个 NSX Edge 接口和 IP 地址组以作为防火墙规则的源。

    您可以选择创建新的 IP 集或新的安全组。在创建 IP 集或安全组后,它自动添加到规则的列中。

    1. 选择一个或多个对象以作为防火墙规则中的源。
      NSX 版本 步骤
      6.4.6 和更高版本
      选择对象:
      1. 指向规则的列,然后单击 HTML5 UI 中的“编辑”图标。
      2. 对象选项卡中,从对象类型下拉菜单中选择一种对象类型。
      3. 可用对象列表中选择对象,然后将其移动到选定的对象列表中。
      6.4.5 和更低版本
      选择对象:
      1. 指向规则的源 (Source)列,然后单击 Flex UI 中的“编辑”图标。
      2. 对象类型下拉菜单中选择一种对象类型。
      3. 可用对象列表中选择对象,然后将其移动到选定的对象列表中。
      例如,在以下两种情况下,您可以将“vNIC 组”对象类型作为源:
      选择 NSX Edge 生成的所有流量
      在这种情况下,从 对象类型下拉菜单中选择 vNIC 组,然后从 可用对象列表中选择 vse
      选择来自选定 NSX Edge 的任何内部或上行链路(外部)接口的所有流量
      在这种情况下,从 对象类型下拉菜单中选择 vNIC 组,然后从 可用对象列表中选择 内部外部

      在 Edge 上配置其他接口时,将自动更新该规则。

      切记: 内部接口上定义的防火墙规则在分布式逻辑路由器上不起作用。
    2. 输入 IP 地址以作为防火墙规则的源。
      您可以使用逗号分隔列表输入多个 IP 地址,或者输入一个 IP 地址范围。支持 IPv4 地址和 IPv6 地址。
      • NSX 6.4.6 和更高版本中,单击 HTML5 UI 中的“编辑”图标。。单击 IP 地址选项卡,然后单击添加以输入 IP 地址。
      • NSX 6.4.5 和更低版本中,单击 并输入 IP 地址。
    3. (可选) 取消防火墙规则中定义的源。
      • 如果启用或选择取消源选项,规则将应用于来自该规则中定义的源以外的所有源的流量。
      • 如果禁用或未选择取消源选项,规则将应用于来自该规则中的源的流量。
  8. (可选) 指定防火墙规则的目标。
    您可以添加 IP 地址、vCenter 对象和分组对象以作为目标。如果未添加目标,则目标设置为“任意”。您可以添加多个 NSX Edge 接口和 IP 地址组以作为防火墙规则的目标。

    在规则目标中添加对象和 IP 地址的过程与添加规则源的子步骤中所述的过程相同。

    提示:NSX 6.4.6 开始,您可以将对象和 IP 地址从 列拖到 目标列中,反之亦然。此外,您还可以将对象和 IP 地址从一个规则拖到另一个规则中。
  9. (可选) 指定要在防火墙规则中使用的服务。
    1. 在防火墙规则中添加一个或多个服务或服务组。
      您可以在规则中添加预定义的服务或服务组,或者创建新的服务或服务组以在规则中使用。 NSX Edge 仅支持使用 L3 协议定义的服务。
      NSX 版本 步骤
      6.4.6 和更高版本
      1. 指向新规则的服务列,然后单击 HTML5 UI 中的“编辑”图标。
      2. 服务/服务组选项卡中,从对象类型下拉菜单中选择一个服务或服务组。
      3. 可用对象列表中选择对象,然后将其移动到选定的对象列表中。
      6.4.5 和更低版本
      1. 指向新规则的服务列,然后单击 Flex UI 中的“编辑”图标。
      2. 对象类型下拉菜单中,选择一个服务或服务组。
      3. 可用对象列表中选择对象,然后将其移动到选定的对象列表中。
      提示:NSX 6.4.6 和更高版本中,您可以将服务和服务组对象从一个用户定义的规则拖到另一个用户定义的规则中。
    2. 在防火墙规则中添加一个或多个服务以作为端口-协议组合。
      限制: 在 Edge 防火墙上不支持流控制传输协议 (SCTP)。
      NSX 版本 步骤
      6.4.6 和更高版本
      1. 指向新规则的服务列,然后单击 HTML5 UI 中的“编辑”图标。
      2. 单击原始端口协议选项卡,然后单击添加
      3. 选择一种协议。
      4. 源端口列中,输入端口号。
      6.4.5 和更低版本
      1. 指向新规则的服务列,然后单击 Flex UI 中的“编辑”图标。
      2. 选择一种协议。
      3. 展开高级选项,然后输入源端口号。
  10. 指定规则操作。
    • NSX 6.4.6 和更高版本中,从下拉菜单中选择一个操作。
    • NSX 6.4.5 和更低版本中,指向规则的操作 (Action)列,然后单击 编辑。选择一个操作,然后单击确定
    下表介绍了规则操作。
    操作 说明
    接受或允许 允许与指定源、目标和服务之间的流量。默认情况下,操作设置为接受流量。
    拒绝或阻止 阻止与指定源、目标和服务之间的流量。
    拒绝 针对不被接受的数据包发送拒绝消息。
    • 对于 TCP 连接,发送 RST 数据包。
    • 对于 UDP、ICMP 和其他 IP 连接,发送包含管理上被禁止的代码的 ICMP 消息。
  11. (可选) 指定是否必须记录与该新防火墙规则匹配的会话。
    默认情况下,将为规则禁用日志记录。启用日志记录可能会影响性能。
    • NSX 6.4.6 和更高版本中,单击日志列中的切换开关以启用日志记录。
    • NSX 6.4.5 和更低版本中,指向新规则的操作列,然后单击 编辑。选择记录不记录
  12. (可选) 指定防火墙规则的高级设置。
    • NSX 6.4.6 和更高版本中,单击高级设置 (HTML5 UI 中的“高级设置”图标。) 图标。
    • NSX 6.4.5 和更低版本中,指向新规则的操作列,然后单击 编辑。展开高级选项。
    下表介绍了高级选项。
    选项 说明
    方向 选择必须在入站流量、出站流量还是两者上应用规则。默认值为“入站/出站”,这意味着在源和目标上对称应用规则。

    VMware 建议不要指定防火墙规则方向,因为“入站”或“出站”方向可能会导致规则变得不对称。

    例如,假设您创建了一个防火墙规则以“允许”从源 A 到目标 B 的流量,并且规则方向设置为“出站”。
    • 在 A 向 B 发送数据包时,将根据该规则在 A 上创建一种状态,因为 A 上的流量方向为“出站”。
    • 在 B 上收到数据包时,实际流量方向为“入站”。由于规则方向设置为仅接受“出站流量”,因此,规则不会在 B 上命中该数据包。
    该示例说明了在规则中设置“出站”方向导致规则变得不对称。
    匹配对象 可以使用该选项指定何时必须应用防火墙规则。
    • 如果您希望在执行网络地址转换之前将规则应用于原始 IP 地址和服务,请选择原始
    • 如果您希望在执行网络地址转换后将规则应用于转换的 IP 地址和服务,请选择转换后
  13. 单击发布更改 (Publish Changes)以将新规则推送到 NSX Edge

示例: 示例防火墙规则

图 1. 适用于从 NSX Edge 接口流向 HTTP 服务器的流量的防火墙规则
规则
图 2. 适用于从 NSX Edge 的所有内部接口(连接到内部接口的端口组上的子网)流向 HTTP 服务器的流量的防火墙规则
规则
图 3. 允许流量通过 SSH 流入内部网络上的计算机的防火墙规则
规则

后续步骤

在使用 Edge 防火墙规则时,您可以在防火墙表中执行几个其他任务。例如:
  • 隐藏系统生成的默认和内部规则或在 Edge 上应用的预定义分布式防火墙规则,以筛选该表中的规则列表。
  • 使用搜索文本框搜索与特定字符串匹配的规则。例如,如果要搜索包含字符串“133”的所有规则,请在搜索文本框中键入 133
  • 查看发布的规则的统计信息。
    • NSX 6.4.6 和更高版本中,单击统计信息 (HTML5 UI 中的“防火墙规则统计信息”图标。) 图标。
    • NSX 6.4.5 和更低版本中,请确保在防火墙表中显示统计信息列。如果未显示统计信息列,请单击 “选择列”图标,然后选择统计信息列。要查看规则统计信息,请单击 Flex UI 中的“规则统计信息”图标。
  • 单击上移HTML5 UI 中的“上移”图标。Flex UI 中的“上移”图标。)或下移HTML5 UI 中的“下移”图标。Flex UI 中的“下移图标”。)图标以更改用户定义的规则的顺序。在 NSX 6.4.6 和更高版本中,您可以拖动用户定义的规则以更改顺序。指向要拖动的用户定义的规则。将在规则左侧显示拖动句柄 (“拖动句柄”图标。) 图标。单击并拖动该句柄,以将规则移动到防火墙表中的有效位置。
    重要事项: 您无法更改系统生成的内部规则和默认规则的顺序。
  • 禁用规则。
    • NSX 6.4.6 和更高版本中,单击规则名称左侧的切换开关。
    • NSX 6.4.5 和更低版本中,单击 禁用(在编号 (No.)列中)。
  • 撤消和重做规则更改,直到发布了规则。在 NSX 6.4.6 和更高版本中提供了该功能。在发布规则后,规则更改历史记录将会丢失,并且您无法撤消或重做更改。