
# 通过第三方防火墙实现VPC和云下数据中心互访流量清洗
#### 操作场景
用户IDC数据中心和华为云通过云专线（DC）或虚拟专用网络（VPN）通信成功，在华为云的内网上使用第三方虚拟化防火墙，使得云上云下的业务流量经过自定义的第三方防火墙，对云上的业务进行灵活的安全控制。
本文以用户同区域的多VPC与本地IDC连通为例，介绍混合云使用第三方防火墙的应用场景。
#### 方案优势
- 支持用户的第三方防火墙。
- 用户云上云下流量经过第三方防火墙。
- 支持用户自定义的更加灵活的安全策略。
 
#### 典型拓扑
假设用户业务部署在VPC1、VPC2、VPC3及本地IDC中，并且需要在云上使用第三方虚拟化防火墙。用户可以将第三方虚拟化防火墙配置在VPC2的弹性云服务器中，使用对等连接及路由规则将VPC间进行连通。同时，在VPC3中创建云专线，使云上VPC与云下IDC实现连通。
实现方式如下：
图1场景示意   
![](https://support.huaweicloud.com/bestpractice-vpc/zh-cn_image_0252771845.png)
#### 前提条件
VPC1与VPC2，VPC3子网网段不能重叠，否则对等连接无法通信成功。
#### 配置步骤
1. **创建VPC**
   
   创建VPC1，VPC2，VPC3。
   具体操作请参见[创建虚拟私有云和子网](https://support.huaweicloud.com/usermanual-vpc/zh-cn_topic_0013935842.html)。
   ![](https://support.huaweicloud.com/bestpractice-vpc/public_sys-resources/note_3.0-zh-cn.png)
   创建的VPC1，VPC2，VPC3网段不能重叠。例如VPC1：10.0.1.0/24；VPC2：10.0.2.0/24；VPC3：172.16.0.0/16
   
   
2. **创建弹性云服务器**
   
   1. 创建ECS1，ECS2，分别属于VPC1的子网，VPC2的子网。 具体方法请参见[自定义购买ECS](https://support.huaweicloud.com/usermanual-ecs/ecs_03_7002.html)。
      ![](https://support.huaweicloud.com/bestpractice-vpc/public_sys-resources/note_3.0-zh-cn.png)
      ECS2的网卡要关闭源/目的检查。
      
   
   2. 在弹性云服务器ECS2中部署第三方防火墙。 第三方防火墙软件，您可以通过[云商店](https://marketplace.huaweicloud.com/all/?q=JemYsueBq-WimSU)下载，或者自行下载。
      
   
   3. 打开ECS2的IP转发功能。
      1. 执行以下命令，切换root用户。 **su root**
         
      
      2. 执行以下命令，查看IP转发功能是否已开启。 **cat /proc/sys/net/ipv4/ip_forward**
         回显结果：1为开启，0为关闭。
         - 回显为1，任务结束。
         
         - 回显为0，继续执行以下操作。
          
      
      3. 执行以下配置，打开IP转发功能。
         1. 执行以下命令，打开"/etc/sysctl.conf"文件。 **vim /etc/sysctl.conf**
            
         
         2. 按i进入编辑模式。
         
         3. 修改或者添加以下内容。
            ```
            net.ipv4.ip_forward = 1  # 开启IPv4转发
            net.ipv6.conf.all.forwarding = 1  # 若需要支持IPv6，开启IPv6转发
            ```
            
         
         4. 按ESC退出，并输入:wq!保存配置。
          
      
      4. 执行以下命令，使修改生效。 **sudo sysctl -p**
         以上配置为永久生效，重启后不会失效。
         
       
   
   
   
   
3. **创建对等连接**
   
   VPC1和VPC2，VPC2和VPC3，分别创建对等连接，实现VPC间的连通。
   - 如果您的VPC在同一个账号内，具体方法请参见[创建对等连接连通同账户下的两个VPC网络](https://support.huaweicloud.com/usermanual-vpc/zh-cn_topic_0046655037.html)，您只需要执行该章节的"创建VPC对等连接"小节。
   
   - 如果您的VPC在不同一个账号内，具体方法请参见[创建对等连接连通不同账户下的两个VPC网络](https://support.huaweicloud.com/usermanual-vpc/zh-cn_topic_0046655038.html)，您需要执行该章节的"创建VPC对等连接"小节和"接受对等连接"小节。
   
   
   
   
4. **创建子网路由表**
   
   创建自定义路由表，关联VPC2的子网，控制VPC2的子网的出流量走向。
   具体操作请参见[创建自定义路由表](https://support.huaweicloud.com/usermanual-vpc/vpc_route01_0005.html)。
   
   
5. **创建虚拟IP** **并绑定弹性云服务器（可选）**
   
   您可以在VPC2中创建主备服务器，并绑定同一虚拟IP，当主服务器发生故障无法对外提供服务时，动态将虚拟IP切换到备服务器，继续对外提供服务。如果不需要备用服务器，此步骤可以省略。
   1. 在VPC2的子网下创建虚拟IP。 具体操作请参见[申请虚拟IP地址](https://support.huaweicloud.com/usermanual-vpc/vpc_vip_0002.html)。
      
   
   
   
   2. 将创建的虚拟IP绑定到弹性云服务器ECS2上。 具体操作请参考[虚拟IP绑定云服务器](https://support.huaweicloud.com/usermanual-vpc/zh-cn_topic_0067802474.html)。
      
    
   
   
6. **创建云专线**
   
   使用VPC3创建专线，使云上VPC与云下IDC实现连通。具体操作参见[创建云专线](https://support.huaweicloud.com/qs-dc/zh-cn_topic_0145790541.html)。
   
   
7. **配置路由规则**
   
   通过配置路由规则将指向目的地址的流量转发到指定的下一跳地址。
   1. 修改VPC1的默认路由表，增加一条路由规则： VPC1 \> 用户IDC，目的地址：用户IDC的CIDR，下一跳：VPC1与VPC2的对等连接。
      
   
   2. 修改VPC2的默认路由表，增加一条路由规则： 目的地址：0.0.0.0/0，下一跳：ECS2。
      如果涉及主备部署，创建了虚拟IP的情况下，此处下一跳是虚拟IP的地址。
      
   
   3. 修改VPC2的子网路由表，增加两条规则：
      1. VPC2 \> VPC1，目的地址：VPC1的CIDR，下一跳：VPC1与VPC2的对等连接。
      
      2. VPC2 \> 用户IDC，目的地址：用户IDC的CIDR，下一跳：VPC2与VPC3的对等连接。
       
   
   4. 修改VPC3的默认路由表，增加一条路由规则： 目的地址：0.0.0.0/0，下一跳：VPC2和VPC3的对等连接。
      由于上述的[创建云专线]创建了专线，此处有一条系统自动下发的到专线的路由。
      
    
   
   
 
#### 配置验证
登录弹性云服务器ECS1访问用户IDC，在ECS2中可以收到ECS1发给用户IDC的报文，报文经过ECS2中的防火墙，被防火墙规则过滤。
