简介

我在 us-east-1 区域有一个子网 10.0.2.0/24, 其中有两台机器 nvirg-router 和 nvirg-1, 并且我在 us-west-2 区域还有一个子网 10.1.2.0/24, 其中也有两台机器 oreg-router 和 oreg-1, 我希望 us-east-1 的两台机器能和 us-west-2 的两台机器互通互联,举例来说,我希望在 us-east-1 区域的 nvirg-1 这台机器上可以 ping 通 us-west-2 区域的 oreg-1 机器,反之亦然。为此,我打算利用 Linux 内核提供的 ipip 隧道功能来实现这一想法。

隧道的建立过程

作为演示,我们从头开始搭建这一网络。

创建 AWS VPC

你可以将一个 VPC 看成是一个大型局域网,在 VPC 内你可以建立“子网”, 一个子网有点接近一个 L3 交换机,在 VPC 下你还可以建立路由表,并且将路由表和子网关联起来,以实现灵活的私网网络拓扑设计。

我们首先要在 us-east-1 区域建立一个 VPC, 然后在 us-west-2 区域建一个 VPC, 过程都是类似的,只不过是参数有差异,具体来说,我们希望在 us-east-1 区域的 VPC 建一个子网,它的 CIDR 是 10.0.2.0/24, 并且在 us-west-2 区域的 VPC 也建一个子网,它的 CIDR 是 10.1.2.0/24.

区域和子网名称 CIDR
us-east-1, subnet-1 10.0.2.0/24
us-west-2, subnet-1 10.1.2.0/24

要建立 VPC, 首先在 AWS 图形控制台界面的右上角切换到目标区域,这里我们先切换到 N. Virginia us-east-1 区域,然后在左上角的搜索输入栏输入 vpc, 点击搜索结果,进入 VPC 管理界面。

在 Your VPCs 列表点击 Create VPC, Resources to create 选项选 “VPC only”, 因为我们不想一次性创建太多东西,那样会造成不必要的收费并且增加总体上的复杂度。

Name tag 输入 “vpc-1”。

IPv4 CIDR block 选 “IPv4 CIDR manual input”。

IPv4 CIDR 填 “10.0.0.0/16”。

其它选项不变,点击最底下的 Create VPC 按钮。

创建子网

在 VPC 管理界面,左边导航栏点击 Subnets 进入到 Subnets 列表页,点击右上角的 Create subnet, VPC ID 选刚才创建的 VPC.

Subnet name 填 “subnet-1”.

Availability Zone 选 “us-east-1a”.

IPv4 CIDR block 填 “10.0.2.0/24”.