VPC防火墙

VPC防火墙:VPC防火墙可以管控VPC网络的南北向流量,通过配置规则集和规则来管控网络的访问控制策略,VPC路由器的每个网卡流量方向上允许绑定一个规则集,可有效保护整个VPC的通信安全以及VPC路由器安全,与作用于云主机虚拟网卡、侧重于保护VPC内部东西向通信安全的安全组相辅相成。

防火墙与安全组的区别:VPC防火墙管控南北向流量,作用范围是整个VPC;安全组主要管控东西向的流量,作用范围是云主机虚拟网卡,二者互为补充,具体区别如下:
对比项 安全组 防火墙
作用范围 云主机虚拟网卡 整个VPC网络
部署方式 分布式 集中式
部署位置 云主机 VPC路由器
配置策略 仅支持允许策略 可自定义允许、丢弃或拒绝策略
优先级 按照配置顺序 自定义优先级顺序
规则匹配 源IP、源端口、协议 源IP、源端口、目的IP、目的端口、协议、报文状态
VPC防火墙的典型场景:
  • 用户存在一套VPC网络环境,为研发关键核心业务,需要禁止网络内的云主机向公网发送TCP/UDP/ICMP协议的网络请求,使用VPC防火墙来实现。创建防火墙后设置入方向规则集和规则,限制网段内云主机的出方向流量,入方向流量不做限制,即可实现需求。
本场景主要介绍使用VPC防火墙的流程:
  1. 使用VPC网络创建云主机;
  2. 使用公有网络创建云主机;
  3. 创建VPC防火墙;
  4. 在VPC防火墙入方向规则集中添加VPC网络规则;
  5. 验证云主机与公网云主机的连通性。
假定客户环境如下:
  1. 公有网络
    Table 1. 公有网络配置信息
    公有网络 配置信息
    网卡 em01
    VLAN ID 非VLAN
    IP地址段 10.108.10.100~10.108.10.200
    子网掩码 255.0.0.0
    网关 10.0.0.1
    DHCP IP 10.108.10.101
  2. 管理网络
    Table 2. 管理网络配置信息
    管理网络 配置信息
    网卡 em02
    VLAN ID 非VLAN
    IP地址段 192.168.29.10~192.168.29.20
    子网掩码 255.255.255.0
    网关 192.168.29.1
    Note:
    • 出于安全和稳定性考虑,建议部署独立的管理网络,并与公有网络隔离。
    • 此管理网络与ZStack私有云中的管理网络为相同概念(即:管理物理机、主存储、镜像服务器的网络),如果已创建可直接复用。
  3. VPC网络
    Table 3. VPC网络配置信息
    私有网络 配置信息
    网卡 em01
    VLAN ID 2800
    IP CIDR 192.168.1.0/24
    DHCP IP 192.168.1.2
VPC防火墙拓扑图如Figure 1所示:
Figure 1. VPC防火墙拓扑图


以下介绍VPC防火墙的实践步骤。

  1. ZStack私有云界面创建云主机。

    根据规划好的网络配置信息,在ZStack云平台使用VPC网络创建云主机,名称:VPC云主机,详情可参考本教程基本部署章节。

    同理,使用公有网络创建云主机,名称:公网云主机。

  2. 创建VPC防火墙,在ZStack私有云界面创建VPC防火墙。
    ZStack私有云主菜单,点击网络资源 > VPC防火墙,进入VPC防火墙界面,点击创建VPC防火墙,在弹出的创建VPC防火墙界面,可参考以下示例输入相应内容:
    • 名称:设置VPC防火墙的名称
    • 简介:可选项,可留空不填
    • VPC路由器:选择需要防护的VPC路由器
      Note: 创建防火墙需要VPC路由器需处于运行状态,且未绑定任何防火墙。
    Figure 2所示:
    Figure 2. 创建VPC防火墙


  3. 在VPC防火墙入方向规则集中添加VPC网络规则
    在入方向规则集详情页,点击规则,在操作中点击添加规则,在弹出的创建规则界面,可参考以下示例输入相应内容:
    • 规则集:选择VPC网络的规则集
    • 优先级:设置规则优先级为1001
      Note:
      • 优先级支持输入范围:1001-2999,数字越小表示优先级越高
      • 同一规则集内,规则优先级不能相同
    • 行为:选择丢弃
      • 接受:允许VPC路由器上的网络请求通过
      • 丢弃:不允许VPC路由器上的网络请求通过,且不向请求端反馈
      • 拒绝:不允许VPC路由器上的网络请求通过,并向请求端反馈不通过信息
    • 报文状态:可选项,不勾选
    • 协议:选择TCP
    • 源IP地址:输入已创建云主机的IP地址
    • 目的IP地址:输入公网的IP地址段:10.108.10.100-10.108.10.200
    Figure 3所示:
    Figure 3. 创建规则




    同理,添加UDP和ICMP协议的规则,优先级为1002和1003。

  4. 验证云主机和公网的连通性
    1. 验证TCP协议规则

      使用iperf命令验证TCP协议规则,将VPC云主机作为发送端,公网云主机作为接收端。

      在接收端命令行输入iperf -s,在发送端命令行输入 iperf -c x.x.x.x(接收端IP地址) -i 1 -t 1000,查看展示的网络情况,如Figure 4所示:
      Figure 4. TCP协议验证
      发送端

      接收端

      如上所述,在设置规则后,TCP协议的网络请求无法发送,符合预期。
    2. 验证UDP协议规则

      使用iperf命令验证UDP协议规则,将VPC云主机作为发送端,公网云主机作为接收端。

      在接收端命令行输入iperf -s -u,在发送端命令行输入 iperf -c x.x.x.x(接收端IP地址) -u -i 1 -t 1000,查看展示的网络情况,如Figure 5所示:
      Figure 5. UDP协议验证
      发送端

      接收端

      如上所述,在设置规则后,UDP协议的网络请求发送后无法接收,符合预期。
    3. 验证ICMP协议规则
      登录VPC云主机,检查是否能够ping通公网云主机,如Figure 6所示:
      Figure 6. ICMP协议验证


      如上所述,在设置规则后,ICMP协议的网络请求无法发送,符合预期。
至此,VPC防火墙的使用方法介绍完毕。