+86 13541016684Mon. - Fri. 10:00-22:00

AWS手动创建VPC 公网、子网和NAT实例

AWS手动创建VPC 公网、子网和NAT实例

AWS手动创建VPC 公网、子网和NAT实例

AWS里面默认配置了4种场景的配置向导。通过这些向导可以很轻松的配置VPC网络。

简单的说就是需要创建两个子网,公网(或者更传统的更准确的说法是DMZ网)里面是网页服务器和NAT服务器,都可以访问互联网,内网里面是数据库服务器,网页服务器需要从数据库上读取信息,数据库服务器只有通过NAT服务器才能访问互联网。

配置向导1分钟就全都配完了,如果全手动操作,需要按顺序配置以下服务:

  1. VPC
  2. VPC下面配置两个子网
  3. 配置互联网的网关
  4. 给3种类型的服务器,Web Server, NAT Server 和DB Server 分别创建Security Group (防火墙)
  5. 安装服务器
  6. 每个子网需要配置对应的路由表
  7. 测试

首先创建一个VPC

wKiom1OaijyR898yAACRJUU-7GE366

分配一个地址池

wKioL1OaihDwQYUWAABCNuHu2w4139

创建好了

wKiom1Oaij-g2XnMAABYLZzAHXc924

然后需要在VPC的地址池内再创建2个子网

wKioL1OaihSxB5sXAABwbR9Fois950

创建一个公网(DMZ)地址范围,这个网络是可以直接和互联网相连的

wKiom1OaikLATua9AABFQQmcz4w537

然后创建一个私网范围,这个网络通过NAT才能访问外网资源,但是外网无法直接访问他

wKioL1OaihaQZlFzAABFqZnDUyk775

建好以后的样子

wKiom1OaikWykplQAABbgjNwCSg012

然后需要给Public网络创建一个网关,这样才能去互联网

wKioL1OaihnRdi-UAACAUTHp-eY369

创建互联网网关

wKiom1OaikjCVpaIAAAlRr0d83Q243

创建之后需要关联到指定的VPC,注意关联的是VPC而不是子网哦

wKioL1OaihyhlOMAAABEnt319Tc025

wKiom1OaikviU_F3AABnh4mjX4U541

然后接下来创建3个安全组。每个虚拟机都会关联到某个安全组,在安全组上可以自定义防火墙的访问策略

wKioL1OaiiHTp_VkAACrO3mY4d8686

我需要创建3个不同的安全组,分别对应Pubic Web server, NAT Server和 Private DB Server

wKiom1Oaik-A6RJMAAAul4d0Uvs301

wKioL1OaiiOT-iA_AAAvhKNCxV0472

wKiom1OailLhQumZAAAuYQIMHDU103

创建完毕之后就可以配置防火墙的策略了。如下所示是最最基本的需求,也可以根据自己情况修改

wKioL1OaiieQrKV2AABH4HOiATo869

wKiom1OailbwerJhAAA7drU513c419

wKioL1OaiiqzD-ruAABGH4911GQ658

wKiom1OailjA04pYAAAh786LPH4144

wKiom1OailqBjp3yAAAw6EcTo-o029

wKioL1Oaii7AK77BAAAtjYdUF5E297

配置完安全组,就来配置实例吧。搜索NAT的镜像文件,找一个最新的Launch即可

wKiom1Oaimfi0mPgAAFDTY7DYuU276

wKioL1Oaij3g3LJIAACYhKK3vtM569

wKiom1Oaim6DpM8kAAC4HWFUyhA308

wKioL1OaikPSxT8FAABsOaVQGEg004

wKiom1OainKjK1FaAAA4wQiTFbY296

具体的步骤不需要赘述,就是创建了3个AMI Linux实例,注意选择安全组和子网就行了。

3个实例里面最关键的是NAT实例,创建完了以后可以查看一下配置文件是否齐全,IPTable 是否已经配置了

wKiom1Oaj5_CNz_LAABJv68aU7s247

wKioL1Oaj3Thy9X0AABQ_3svwOs978

下面是个截图,简单的解释了一下IPtables 的转发配置

wKiom1Oaj6CSGnKuAABhCF3cPv0907

创建了实例之后,需要给不同的子网创建路由表。我不打算使用默认的路由表,于是分别创建了2个路由表

wKioL1OaikaSCNxjAABoIRxBRv0102

wKiom1OainXigaveAAAzULw-JAM244

这个是公网的路由

wKioL1OaikmQg3lSAAA1ye7CKvA591

这个是私网的路由

wKiom1Oaj43wiDdLAAArf7CajpE981

wKioL1Oaj2HA-GlFAAAiX_JbFok184

配置完之后别忘记Disable NAT实例的 S/D 测试。

wKiom1Oaj5GTJT-cAACqnNDZs0g224

okay,最后我们来测试一下

首先连接到公网的服务器看看

wKioL1Oaj2WyBonEAABcEt0YVjk365

试试看wget -p www.google.com, 发现不通,嗯,正常,因为outbound的规则里面本来就没有包括http/https

wKiom1Oaj5jTmVItAAA505FG3mI561

然后我们拿这个机器作为跳板,链接到私网的服务器试试看,把证书拷贝到/tmp路径下,更改一下权限

wKioL1Oaj2zhYGqsAAAzYfhBFYI558

然后ssh链接,成功登录内网服务器

wKioL1Oaj26yFNeKAAAyChYKAXo066

可以Ping 外网

wKiom1Oaj5yw9E-SAABKzhvErrs035

也可以http 外网资源

wKioL1Oaj3CDE7tlAABr188Gw_0940

实验成功!