中转网关 (Transit Gateway) Connect连接类型集成FortiGate安全服务

中转网关(Transit Gateway)Connect

功能介绍

SD-WAN或软件定义的广域网长期以来一直用于通过公共Internet连接数据中心和分支机构。在现在的网络设计中,这些网络还需要扩展到公有云架构。但是,传统的SD-WAN基础架构并不总是很适合此任务,通常架构SDWAN网络会大大增加网络设计和配置的复杂性,同时使维护起来也更为复杂。同时,许多亚马逊云科技客户正在网络上使用亚马逊云科技中转网关将其全球网络连接到亚马逊云科技骨干网。随着亚马逊云科技中转网关Connect的启动,现在有了一种将您的SD-WAN基础架构与亚马逊云科技连接的原生方法。这使您可以轻松地将SD-WAN扩展到亚马逊云科技中,而无需在SD-WAN网络虚拟设备和中转网关之间设置安全通道。中转网关Connect是一种新的附件类型,与安全通道连接相比,它支持通用路由封装(GRE)以获得更高的带宽性能。中转网关 Connect支持边界网关协议(BGP)进行动态路由更新,并且无需配置静态路由。这简化了网络设计并降低了相关的运营成本

???? 想要了解更多亚马逊云科技最新技术发布和实践创新,敬请关注在上海、北京、深圳三地举办的2021亚马逊云科技中国峰会!点击图片报名吧~

中转网关Connect功能能带来的优势

  • 原生集成:您现在非常方便地将本地网络连接到亚马逊云科技中转网关,且无需配置复杂的安全通道连接。动态路由功能还能进一步简化了混合云环境中的路由管理。

  • SD-WAN与亚马逊云科技云之间的更高带宽互连:您不再需要管理和操作第三方设备与中转网关之间的多个安全通道连接来支持更高的带宽。中转网关Connect通过使用水平扩展的GRE隧道来实现此目的,以在单个Connect附件中提供更高的带宽。这将每个Connect附件的总带宽增加到20Gbps。

  • 端到端管理:您可以使用一个编排平台对全局网络执行端到端管理。中转网关Connect通过与APN合作伙伴SD-WAN编排平台的更深层集成来实现此目的,并使您能够更新中转 网关路由表,从而做出更明智的路由决策。

  • 安全性和合规性:您可以使用中转网关Connect在第三方虚拟设备上使用私有IP地址,以建立与亚马逊云科技虚拟私有云(VPC)中资源的连接性和可访问性,从而减少了对Internet可路由的公共IP的需求。

中转网关Connect常用架构

以下两种都是中转网关Connect使用的常用架构

图1,中转网关 Connect架构1——通过云上虚拟SDWAN设备互联

图2,中转网关 Connect架构2——结合Direct Connect直接和数据中心设备互联

中转网关Connect可以通过互联云上SDAWN设备的方式,和云下的数据中心互通(如图1),也可以首先通过亚马逊云科技Direct Connect与本地数据中心互通,再与作为传输的本地网络中运行的第三方分支机构或客户网关设备通过GRE互联(如图2)。总之,中转网关Connect功能在中转 网关和第三方设备之间建立GRE隧道。然后,您可以在GRE隧道内与中转 网关建立BGP对等连接,以安全地交换路由信息。

Fortigate集成中转网关Connect

示例及详细配置

以下是本指南实践FortiGate与中转网关Connect集成的架构图。

应用(App)VPC:部署客户工作负载的Spoke VPC。中转网关连接可以在同一子网或其它专用子网中对接。

安全(Security)VPC:部署Fortigate安全网关VPC,2个可用区,每个可用区有三个子网。分别为公共子网、私有子网和中转网关对接子网。FortiGate有2个网络接口,分别在公共子网和私有子网中各有一个网络接口。

中转网关(中转网关):中转网关是连接Spoke安全通道和HUB VPC的云路由器,连接到中转网关的VPC通过VPC attachment逻辑连接进行对接和数据传输。HUB 安全服务VPC将通过“connect attachment”与中转网关进行对接和数据传输,每个可用区一个”Connect Attchment”逻辑接口。

3.1 中转网关Connect Attachment

“中转网关Connect Attachment”工作在“VPC Attachment”之上,VPC Attachment作为底层连接,中转网关Connect为上层叠加连接,采用GRE隧道封装,单个中转网关Connect GRE隧道支持高达5Gbps的带宽。支持BGP动态路由协议打通中转网关和Fortigate安全服务网关。

3.2 创建VPC和子网

分别创建2个业务VPC和安全VPC

安全VPC子网10.0.0.0/24

创建子网

每个业务VPC一个子网,安全VPC创建6个子网,两个可用区,每个可用区3个子网。

在业务VPC安装测试WEB服务器

在业务VPC安装Linux服务器,并安装apache web server和ssh server用于业务测试。

安装web服务

sudo systemctl start httpd
Sudo systemctl enable httpd

完成两个VPC两台业务服务器创建

创建安全服务VPC  FortiGate实例

在两个可用区分别创建一个fortigate实例,如果没有冗余需求,可以创建一个Fortigate安全网关实例,Fortigate部署详细步骤参考https://docs.fortinet.com部署文档。

Fortigate安全网关分配两块网卡,分别在PUB LIC和PRIVATE子网。

创建两个Fortigate实例,并激活license,Fortigate版本可选择亚马逊云科技云市场任意一个发布的正式版本,本指南选择FortiGate6.4.5

配置中转网关及其组件

在本节中,将讨论创建中转网关的步骤以及在安全 VPC 中与FortiGate集成的组件。

6.1 中转网关

从亚马逊云管理平台CONSOLE, 导航到 VPC->中转网关->中转网关,并单击创建新中转网关。

中转网关将使用BGP与Fortigate安全网关交换路由,指定中转网关将使用的 AS,新connect中转网关连接类型将在中转网关创建GRE连接点,为此需要指定一个网段用于GRE隧道连接地址.

在此处使用默认BGP AS 64512的和1.0.0.0/24互联地址网段,其余的参数保留默认值。

6.2 中转网关连接VPC attachment

安全VPC和应用VPC需要与中转网关连接,以VPC attachment类型连接到中转网关。对于App VPC,它可以在应用程序子网中创建中转网关连接,也可以在专用子网中创建中转网关连接。对于安全VPC,在两个不同的可用区中有2个FortiGate,每个可用区需要创建中转网关连接,采用专用子网与中转网关连接。

VPC->中转网关->中转网关连接,单击”Create 中转 网关 Attachment”,选择VPC连接类型。

下面的屏幕截图显示为安全VPC创建VPC连接。在创建过程中选择两个用于中转网关对接的专用子网。

同样创建两个应用VPC中转网关连接。

三个VPC都连接到中转网关

6.3 中转网关连接Connect attachment

底层VPC已经与中转网关连接,创建上层叠加层connect 类型中转网关连接。

VPC->中转网关->中转网关连接,单击”Create中转网关 Attachment”,选择connect连接类型。

此时,中转网关有4个中转网关连接

6.4 中转网关路由表

在此指南中,所有三个VPC都连接到相同的中转网关路由表。所有三个VPC传播路由到同一路由表。如果需要控制和安全检查应用VPC之间的东西向流量,则需要多个中转网关路由表实现业务隔离,让业务间流量经过Fortigate安全网关。

中转网关默认会把连接的VPC进行路由关联和传递,发布路由到中转网关默认路由表。

VPC->中转网关->中转网关路由表

默认路由表里有3个VPC的路由

安全VPC不需要把整个VPC的路由通过VPC连接方式发布进来,后面会通过中转网关connect连接的BGP发布路由,因此,我们在此路由表里,删除安全VPC的Associations和Propagations,在Associations 和Propagations里只保留两个业务VPC 连接和connect连接

路由表里传递两个业务VPC路由

6.5 Connect peers

Connect peers是安全VPC中的Fortigate安全网关和中转网关的GRE和BGP互联虚拟线路,从之前创建的中转网关连接connect连接项添加connect peers.

VPC->中转网关->中转网关连接,点击之前创建的connect类型连接,点击connect peers子面板。

在创建connect peers时,peer GRE address为FortiGate安全网关用来建GRE隧道的接口地址,此处为port2接口IP,BGP inside CIDR blocks 是GRE 隧道接口地址,网络掩码限定29位。Peer ASN为fortigate 端AS。

如果在两个可用区创建两个Fortigate安全网关,分别创建两个CONNECT PEERS.

在中转网关创建完connect peers后,GRE端点地址,和GRE隧道地址分配在connect peers连接表里,由于Fortigate端还没有配置,此时connect peers邻居为down状态。

 VPC子网路由表

调整三个VPC的路由表,以便将业务流量从应用VPC流向安全VPC。

7.1 业务VPC路由表

两个业务VPC不再设置互联网出口,任何业务VPC以外的网络的流量都需要通过中转网关路由到安全VPC互联网出口或其它VPC,添加或修改VPC路由默认网关至中转网关。

7.2 安全VPC路由表

安全VPC在每个AZ中有三个子网,GRE 隧道将在FortiGate的port2接口上结。需要添加一条去向GRE对端地址1.0.0.0/24网段路由指向中转网关。

Fortigate安全网关配置

在FortiGate安全网关需要配置GRE 隧道、隧道接口IP、BGP路由、静态路由和防火墙策略。

8.1 静态路由配置

在Fortigate上添加一条静态路由,目的为GRE端点网段1.0.0.0/24,指定从port2接口出去,与中转网关建立GRE隧道,下一跳地址为子网第一个IP

Fortigate-1:
config router static
    edit 1
        set dst 1.0.0.0 255.255.255.0
        set 网关 10.0.0.17
        set device "port2"
    next
end

Fortigate-2:
config router static
    edit 1
        set dst 1.0.0.0 255.255.255.0
        set 网关 10.0.0.81
        set device "port2"
    next
end

8.2 GRE配置

用于创建GRE隧道的端点地址和已经在中转网关连接peers里分配完成,按照已分配的IP,在Fortigate安全网关上创建GRE隧道

Fortigate-1:
config system gre-tunnel
    edit "tgwc"
        set interface "port2"
        set remote-gw 1.0.0.4
        set local-gw 10.0.0.29
    next
en

fortigate-2:
config system gre-tunnel
    edit "tgwc"
        set interface "port2"
        set remote-gw 1.0.0.131
        set local-gw 10.0.0.90
    next
end

8.3 配置GRE隧道接口IP

根据中转网关connect peers分配的IP,配置GRE隧道接口IP,此IP地址用于建立BGP邻居。

Fortigate -1:
config system interface
    edit "tgwc"
        set ip 169.254.120.1 255.255.255.255
        set allowaccess ping 
        set remote-ip 169.254.120.2 255.255.255.248
    next
end

Fortigate-2:
config system interface
    edit "tgwc"
        set ip 169.254.121.1 255.255.255.255
        set allowaccess ping 
        set remote-ip 169.254.121.2 255.255.255.248
    next
end

!!!中转网关上的GRE端点地址不可以PING.GRE接口IP可以PING,通过PING 中转网关上的GRE 接口IP 169.254.x.x验证中转网关connect类型连接是否成功。

8.4 配置BGP

在中转网关连接每个PEERS有两个BGP连接邻居,启用EBGP邻居多跳,启用向邻居发布默认路由及安全VPC子网路由。

config router bgp
    set as 65510
    set router-id 169.254.100.1
    config neighbor
        edit "169.254.120.2"
            set capability-default-originate enable
            set ebgp-enforce-multihop enable
            set soft-reconfiguration enable
            set remote-as 64512
        next
        edit "169.254.120.3"
            set capability-default-originate enable
            set ebgp-enforce-multihop enable
            set soft-reconfiguration enable
            set remote-as 64512
        next
end
config network
        edit 1
            set prefix 10.0.0.16 255.255.255.240
        next
    end
end
Fortigate-2:
config router bgp
    set as 65511
    set router-id 169.254.100.2
    config neighbor
        edit "169.254.121.2"
            set capability-default-originate enable
            set ebgp-enforce-multihop enable
            set soft-reconfiguration enable
            set remote-as 64512
        next
        edit "169.254.121.3"
            set capability-default-originate enable
            set ebgp-enforce-multihop enable
            set soft-reconfiguration enable
            set remote-as 64512
        next
    end
    config network
        edit 1
            set prefix 10.0.0.80 255.255.255.240
        next
    end
end

8.5 防火墙策略配置

8.5.1 防问互联网出向策略

从业务服务器访问互联网,从中转网关经GRE隧道到Fortigate安全网关访问Internet.

config firewall policy
    edit 1
        set name "1"
        set srcintf "tgwc"
        set dstintf "port1"
        set srcaddr "all"
        set dstaddr "all"
        set action accept
        set schedule "always"
        set service "ALL"
        set utm-status enable
        set ssl-ssh-profile "certificate-inspection"
        set webfilter-profile "monitor-all"
        set application-list "default"
        set nat enable
    next
end

8.5.2 互联网访问业务系统入站策略

通过Fortigate上的弹性IP或Ingress routing将业务访问流量经过Fortigate安全网关安全检测。

config firewall vip
    edit "vpc2-web-server"
        set uuid a39feefc-ba1a-51eb-e1ca-91dba4aeeab4
        set mappedip "192.168.100.100"
        set extintf "port1"
        set portforward enable
        set extport 280
        set mappedport 80
    next
    edit "vpc2-ssh-server"
        set uuid c6a378f6-ba1a-51eb-69d2-edd646ee5d25
        set mappedip "192.168.100.100"
        set extintf "port1"
        set portforward enable
        set extport 222
        set mappedport 22
    next
    edit "vcp1-webserver"
        set uuid d921c744-ba1a-51eb-14b5-b368bf2fa237
        set mappedip "192.168.50.100"
        set extintf "port1"
        set portforward enable
        set extport 180
        set mappedport 80
    next
    edit "vpc1-ssh-server"
        set uuid e67c7038-ba1a-51eb-8d65-2d9ad8034f26
        set mappedip "192.168.50.100"
        set extintf "port1"
        set portforward enable
        set extport 122
        set mappedport 22
    next
end
config firewall policy
    edit 2
        set name "2"
        set srcintf "port1"
        set dstintf "tgwc"
        set srcaddr "all"
        set dstaddr "vcp1-webserver" "vpc1-ssh-server" "vpc2-ssh-server" "vpc2-web-server"
        set action accept
        set schedule "always"
        set service "HTTP" "SSH"
        set utm-status enable
        set ssl-ssh-profile "certificate-inspection"
        set av-profile "default"
        set ips-sensor "default"
        set logtraffic all
        set nat enable
    next
end

8.5.3 VPC间东西向流量安全检查

在此测试架构下没有控制业务VPC间的网络流量,但业务VPC进入安全VPC的流量需经过Fortigate安全检查。需要业务VPC间的流量安全检查,可通过中转网关多路由表方式实现,可参考https://docs.fortinet.com相关手册

Config firewall policy
edit 3
        set name "3"
        set uuid 4256b2aa-ba1c-51eb-1691-6910ded0355f
        set srcintf "tgwc"
        set dstintf "port2"
        set srcaddr "all"
        set dstaddr "all"
        set action accept
        set schedule "always"
        set service "ALL"
        set utm-status enable
        set ssl-ssh-profile "certificate-inspection"
        set av-profile "default"
        set webfilter-profile "monitor-all"
        set application-list "default"
        set nat enable
    next
    edit 4
        set name "4"
        set uuid 63f76b84-ba1c-51eb-01a5-7fe837254fdc
        set srcintf "port2"
        set dstintf "tgwc"
        set srcaddr "all"
        set dstaddr "all"
        set action accept
        set schedule "always"
        set service "ALL"
        set utm-status enable
        set ssl-ssh-profile "certificate-inspection"
        set av-profile "default"
        set webfilter-profile "default"
        set application-list "default"
        set logtraffic all
        set nat enable
    next
end

验证

9.1 Fortigate安全网关上的BGP路由

Fortigate成功从中转网关学到业务VPC路由

Fortigate向领居发送和接收到的BGP路由条目

9.2 中转网关上的BGP路由

从connect邻居收到的BGP路由

中转网关连接peers的BGP邻居为UP

9.3 从互联网访问业务服务器

业务服务器入口地址是防火墙的弹性IP地址,分业务用不同的端口,端口在前面策略VIP设置里。Http访问http://52.83.204.126:180/,ssh访问52.83.204.126:122·端口

流量安全检查记录:

业务服务器URL记录:

应用识别:

9.4 从业务服务器访问互联网出口流量

应用访问记录:

url记录:

9.5 东西向流量

从业务服务器访问安全VPC子网,确认流量经过中转VPC,经过fortiate安全检查。

FortiGate流量记录:


本篇作者

姚远

亚马逊云科技解决方案架构师

负责基于亚马逊云科技的云计算方案架构的咨询和设计,同时致力于亚马逊云服务在国内的应用和推广。现致力于网络和DevOps相关领域的研究。在加入亚马逊云科技之前,在思科中国担任系统工程师,负责方案咨询和架构设计,在企业私有云和基础网络方面有丰富经验。

李朝辉

Fortinet中国区资深云安全顾问

听说,点完下面4个按钮

就不会碰到bug了!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值