本文将介绍如何通过中转路由器将访问请求引流至已部署火山引擎云防火墙或第三方防火墙的安全网络,从而实现两个VPC之间的安全互访。
某企业在火山引擎华南1(广州)地域的3个VPC内部署了私网业务,其中,vpc01、vpc02中分别部署业务A、业务B,vpc03中部署了防火墙软件。出于业务安全考虑,要求业务A和业务B之间的访问流量必须经过防火墙软件进行流量清洗。
具体场景如下图所示。
同地域不同VPC之间流量安全互访的数据规划如下图所示,组网场景中各云产品的具体数据如下表1、表2所示。
上图中,网络流量路径说明如下(以vpc01访问vpc02为例,vpc02访问vpc01原理类似):
表1 私有网络
私有网络 | VPC网段 | 子网信息 | 云服务器信息 |
---|---|---|---|
vpc01 | 192.168.0.0/16 |
|
|
vpc02 | 172.16.0.0/16 |
|
|
vpc03 | 10.1.0.0/16 |
|
|
表2 中转路由器
实例名称 | TR路由表 | 关联转发 | 路由信息 | ||
---|---|---|---|---|---|
目标网段 | 下一跳 | 路由类型 | |||
tr01 | tr01-rtb-sys | attach-vpc01 | 192.168.1.0/24 | attach-vpc03 | 静态路由 |
172.16.1.0/24 | attach-vpc03 | 静态路由 | |||
tr01-rtb-set | attach-vpc03 | 192.168.1.0/24 | attach-vpc01 | 自动学习 | |
172.16.1.0/24 | attach-vpc02 | 自动学习 |
参考创建网络实例连接依次创建 3 条VPC网络实例连接,分别连接私有网络vpc01、vpc02和vpc03。本文中示例参数取值如下文中的图表所示。
基础配置
参数 | 说明 | 取值(连接vpc01) | 取值(连接vpc02) | 取值(连接vpc03) |
---|---|---|---|---|
基本信息 | ||||
中转路由器 | 默认为您选定的中转路由器实例,无需手动配置。 | tr01 | tr01 | tr01 |
地域 | 默认与中转路由器实例的地域相同,无需手动配置。 | 华南1(广州) | 华南1(广州) | 华南1(广州) |
名称 | 待创建网络实例连接的名称。 | attach-vpc01 | attach-vpc02 | attach-vpc03 |
网络实例 | ||||
网络实例类型 | 选择待创建网络实例连接的类型。 | 私有网络 | 私有网络 | 私有网络 |
私有网络 | 选择待连接的VPC实例。 | vpc01 | vpc02 | vpc03 |
连接点配置 | ||||
可用区及子网 | 选择TR连通VPC时的入口点,请先选择可用区再选择子网,并将选定的可用区设置为默认可用区。 说明 本文以单可用区为例,所以只需选择一个子网即可。实际场景建议选择多个可用区以获得更高的可靠性。 | 可用区A,subnet01 | 可用区A,subnet02 | 可用区A,subnet03a |
路由配置
参数 | 说明 | 取值(连接vpc01) | 取值(连接vpc02) | 取值(连接vpc03) |
---|---|---|---|---|
路由配置 | ||||
关联转发 | 开启关联转发表示来自网络实例的流量,将根据该TR路由表中的路由条目进行转发。 说明 以attach-vpc01为例,开启关联转发后,中转路由器将根据TR路由表tr01-rtb-sys转发来自vpc01的流量。 | 开启,tr01-rtb-sys | 开启,tr01-rtb-sys | 开启,tr01-rtb-set |
路由学习 | 开启路由学习表示该TR路由表会自动学习该网络实例的路由条目,在该TR路由表自动生成下一跳为该网络实例连接的路由条目。 说明 以attach-vpc01为例,开启路由学习后,TR路由表tr01-rtb-set中自动生成目标网段为vpc01子网段,下一跳为attach-vpc01的路由条目。 | 开启,tr01-rtb-set | 开启,tr01-rtb-set | 关闭 |
路由同步 | 开启路由同步表示系统会自动将关联转发的TR路由表中的路由条目同步至该私有网络的所有路由表中,作为系统路由条目。 说明 以attach-vpc01为例,开启路由同步后,TR自动将路由表tr01-rtb-sys中的路由条目同步至vpc01的所有路由表中。 | 开启 | 开启 | 关闭 |
在TR系统路由表中配置路由,将来自vpc01和vpc02的访问请求转发到vpc03。
详细配置步骤请参见创建静态路由,本文示例中需要配置的路由条目如下表所示。
序号 | 目标网段 | 下一跳 |
---|---|---|
1 | 192.168.1.0/24 | attach-vpc03 |
2 | 172.16.1.0/24 | attach-vpc03 |
确认TR自定义路由表中是否存在vpc01和vpc02的子网路由。
说明
本文示例中,由于步骤一已为连接vpc01和vpc02的网络实例连接开启了路由学习,因此直接执行步骤三:配置VPC路由表。
序号 | 目标网段 | 下一跳 |
---|---|---|
1 | 192.168.1.0/24 | attach-vpc01 |
2 | 172.16.1.0/24 | attach-vpc02 |
确认vpc01和vpc02路由表中是否存在下一跳为tr01的路由条目。
配置vpc03系统路由表,将访问vpc01和vpc02的请求转发到云服务器ecs-fw。
在vpc03系统路由表中添加如下路由条目,详细步骤请参见添加路由条目。
序号 | 路由条目类型 | 目标网段 | 下一跳 |
---|---|---|---|
1 | 自定义路由条目 | 192.168.1.0/24 | ecs-fw |
2 | 自定义路由条目 | 172.16.1.0/24 | ecs-fw |
配置vpc03自定义路由表,将访问vpc01和vpc02的请求转发到中转路由器tr01。
参考开启路由同步为网络实例连接attach-vpc03开启路由同步。
配置完成后,vpc03自定义路由表中自动添加如下路由条目。
序号 | 路由条目类型 | 目标网段 | 下一跳 |
---|---|---|---|
1 | 系统路由条目 | 192.168.1.0/24 | tr01 |
2 | 系统路由条目 | 172.16.1.0/24 | tr01 |
cat /proc/sys/net/ipv4/ip_forward
sysctl.conf
文件。vi /etc/sysctl.conf
i
进入编辑模式,修改net.ipv4.ip_forward
字段的值为1开启IP转发功能。说明
如果sysctl.conf
文件中没有net.ipv4.ip_forward
字段,那么请在文件末尾手动添加net.ipv4.ip_forward = 1
。
esc
退出编辑模式,输入:wq
保存并退出文件。sysctl -p /etc/sysctl.conf
ping
连接vpc02中的云服务器,验证vpc01能正常访问vpc02。ping
命令验证vpc02能够正常访问vpc01。