应用场景
多业务VPC 通过DMZ区来进行Internet访问,由DMZ区提供统一的南北向安全的公共防护。
优势
l 节约成本
多个业务VPC只需要在DMZ区部署一套安全设备,包括WAF,FW等,可以节约用户的成本。
l 集中管控
可以在天翼云的出口统一做管控,审计等处理。
方案简述
多业务VPC 通过DMZ区来进行Internet访问,由DMZ区提供统一的南北向安全的公共防护。两个业务VPC可以分别和DMZ VPC建立对等连接,南北向的流量在DMZ VPC内命中的路由表如下图所示。从业务VPC通过对等连接到达DMZ VPC,命中DMZ_VPC的默认路由表,到达FW LAN的VIP。在防火墙内做完安全策略处理后,FW通过SNAT转换,将报文的源IP地址从业务VPC的主机地址修改为防火墙WAN口VIP地址,并从FW WAN口发出。此时在FW WAN口所在子网上绑定了自定义的路由表,命中此路由表中的规则,到达IGW网关,由IGW将源IP从FW WAN口VIP转换为EIP,再发往Internet。
从Internet到业务VPC内主机的流量,目的地址是EIP,先到达IGW网关,由IGW将目的地址从EIP变成FW WAN口VIP; 然后命中DMZ-VPC的默认路由表中VPC的local路由表(10.200.252.0/22)到达FW WAN口;FW做完安全策略处理,根据SNAT的session表,做NAT转换,将目的IP地址从FW WAN口VIP修改为业务VPC内的主机地址。
防火墙也可以采用一个管理网卡,一个业务网口的方式。
配置步骤
步骤1 登录天翼云管理控制台。
步骤2 在顶部导航栏,选择地域,本实践选择上海36。
步骤3 选择网络-虚拟私有云。
步骤4 点击创建虚拟私有云。
步骤5 创建业务VPC1,业务VPC2和DMZ VPC。
防火墙有两种配置建议:
方案1:为每个防火墙配置两个弹性网卡,主网卡为登陆管理防火墙,以及主备防火墙的心跳检测。第二张弹性网卡作为业务转发来使用,并且两个防火墙的第二张弹性网卡绑定相同的虚拟IP,从而实现主备防火墙的高可用。管理和业务分离,互不干扰。 建议在统一安全区域内部署跳板机绑定EIP地址,使用跳板机来登陆安全DMZ区域内的防火墙,WAF,DDoS等设备。当然,如果EIP比较充足,也可以每个防火墙的管理网卡绑定EIP来实现对防火墙内部的相关配置。
方案2: 为每个网卡配置三张弹性网卡,主网卡为登陆管理防火墙,以及主备防火墙的心跳检测。第二张弹性网卡作为防火墙的外网口,接收从Internet进入的流量,两个防火墙的外网口绑定相同虚拟IP,从而实现主备防火墙的高可用。第三张网卡作为防火墙的内网口,和云内的其他网段进行互通,同样的两个防火墙的内网口绑定另外一个虚拟IP,实现防火墙的主备内网高可用。 同样和方案1 一样,建议部署跳板机来通过防火墙的管理网卡来登陆防火墙等安全设备。
值得注意的是,防火墙实现主备高可用依赖于防火墙主备墙切换时,能够发出虚拟IP的免费ARP。如果该防火墙不能主动发出时,需要参考如下文档安装keeplived,从而触发免费ARP。
步骤1在DMZ-VPC区增加子网FW_LAN 10.200.254.32/28, 用于FW的内网口。创建子网FW-heartbeat 10.200.255.0/28,用于防火墙的管理及心跳。创建子网FW-WAN 10.200.254.0/28,用于防火墙的外网口。
步骤2 为FW的云主机创建额外的两张弹性网卡,用于防火墙的业务转发,一个作为外网口,一个作为内网接口。
第二个防火墙配置类似,配置完成如下图:
步骤3 使用第三方FW的镜像,创建虚拟防火墙cfw。
步骤4 使用第三方FW的镜像,创建虚拟防火墙cfw2。
步骤4 cfw和cfw2的外网口绑定相同的虚拟IP。
单击【网络>虚拟私有云>子网】,点击FW-WAN子网,点击虚拟IP页签,申请虚拟IP地址100.200.254.5。
可以选择自动分配虚拟IP或者手工指定虚拟IP地址。
将cfw和cfw2的外网口10.200.254.3和10.200.254.4绑定此虚拟IP,从而实现两个fw外网口的主备高可用。点击绑定服务器,选择云主机。
步骤5 cfw和cfw2的内网口绑定另外一个虚拟IP 100.200.254.35。
单击【网络>虚拟私有云>子网】,点击FW-WAN子网,点击虚拟IP页签,申请虚拟IP地址。
将防火墙cfw的内网口10.200.254.37和cfw2的内网口10.200.254.36绑定此虚拟IP。
【计算>弹性云主机】创建云主机,按照提示信息在业务VPC1创建云主机ecs1 地址为10.200.0.3;
在业务VPC2中创建云主机ecs2地址为10.200.1.4
2配置 南北向业务VPC通过DMZ VPC访问Internet
2.1 申请弹性IP
为客户访问外网的业务申请一个弹性iP
cfw和cfw2的外网口虚拟IP绑定已经申请的弹性IP。
【网络>虚拟私有云>子网】,点击FW-WAN子网,点击虚拟IP页签,点击绑定弹性IP,绑定在2.1 创建的弹性IP。
2.3 业务VPC1,业务VPC2分别和DMZ VPC建立对等连接
单击【网络>虚拟私有云】点击对等连接,创建对等连接
设定VPC1的路由表,路由规则0.0.0.0/0的下一跳指向VPC1和DMZ VPC的对等连接
单击【网络>虚拟私有云】点击路由表,选择业务VPC1的默认路由表,点击进入详情页
查看业务vpc1的路由表
同样的方法设定VPC2的路由规则, 0.0.0.0/0的下一跳指向业务VPC2和DMZ VPC的对等连接。
2.5.1. 设定DMZ VPC的默认路由表
【网络>虚拟私有云】点击路由表,选择DMZ-VPC的默认路由表,点击进入详情页
步骤1:创建0.0.0.0/0 下一跳为FW LAN口VIP的路由规则。
点击创建,设置0.0.0.0/0的路由规则,下一跳指向两个FW内网口绑定的虚拟IP地址10.200.254.35
此时查看DMZ-VPC的默认路由表,有两条前缀为0.0.0.0/0的 路由规则,其中自定义的优先于系统类型的,所以从业务VPC对等连接进入到DMZ VPC的流量会优先匹配自定义的,下一跳为FW 内网口VIP的路由规则。
创建LAN子网所使用的自定义路由表,从而使得从Internet 到FW的流量经过FW处理完成后,从LAN口发出时,能匹配此路由表内的路由规则,再通过对等连接去往业务VPC。
步骤1:创建FW-LAN自定义路由表
【网络>虚拟私有云】点击路由表,创建路由表,VPC选择DMZ-VPC,关联资源类型选择子网类型。
创建完成后,点击新创建的FW-LAN路由表,进入详情页,点击创建
步骤2:将FW-LAN自定义路由表绑定到FW-LAN的子网
【网络>虚拟私有云】点击路由表,点击FW-LAN详情页的关联子网页签,点击关联子网。从可关联子网的下来菜单中选择FW-LAN口的子网和此FW-LAN的自定义路由表进行关联,至此从FW-LAN口发出的流量会匹配FW-LAN的自定义路由表中的路由规则。
创建WAN子网所使用的自定义路由表,从而使得业务VPC去往Internet的流量经过FW处理后,从WAN口发出时,能匹配此路由表内的路由规则最终通过云内IPv4网关发往Internet。
步骤1:创建FW-WAN自定义路由表
创建完成后,点击新创建的FW-WAN路由表,进入详情页。可以看到有一条系统类型的路由规则0.0.0.0/0 下一跳为IPv4网关。FW从WAN口发出的流量最终会使用此路由规则发往Internet。
步骤2:将FW-WAN自定义路由表和子网FW-WAN绑定
可以看出DMZ-VPC的默认路由表和FW-WAN这个自定义的路由表中都有0.0.0.0/0的前缀,但下一跳不相同。所以需要将需要特殊引流处理的子网绑定自定义路由表。
以cfw为例,cfw2的配置类似
步骤1:创建cfw的路由规则
去往Internet的命中0.0.0.0/0,下一跳为云IPv4 FW-WAN子网网关地址10.200.254.1;去往业务VPC的,命中10.200.0.0/22,下一跳为云IPv4 FW-LAN子网网关地址10.200.254.33. 如果有业务不通的情况,请检查FW发出的报文目的MAC是否为子网网关的MAC地址。
步骤2:在防火墙上配置策略放通业务VPC相关子网访问Internet
步骤3:配置FW上的SNAT策略
配置FW上的SNAT策略,使得业务主机主动访问Internet时,源IP地址先转换成FW WAN VIP地址。
放通业务VPC1和业务VPC2内主机和Internet访问的相关安全组。
从业务VPC1和业务VPC2里的虚拟机ping公网地址,验证是否可以ping通。
2.9 常见问题
从业务虚拟机无法ping通外网地址
1) 检查安全组是否放通,包含FW主机的安全组和业务虚拟机的安全组。
2) 按步骤检查路由表配置,检查子网是否绑定了正确的路由表
3) 防火墙内是否放通了对应的安全策略
4) 防火墙发出报文的源MAC地址和目的MAC地址是否正确
如:山石防火墙如果发出的SMAC是 linklocal MAC,会导致环路,此时需要在防火墙内配置“no reverse-route force”
内网口的逆向路由启用就可以通。
如:安恒防火墙发往业务虚拟机的报文需要先发给子网网关,目的MAC需要填写子网网关的MAC,如果发现错误,可以检查防火墙内的路由是否设置正确,也可以先联系防火墙人员检查是否需要使能“session_rcache prohibit”。