aws ec2 纯手工打造跳板机+NAT服务器

使用场景:

可能我们的业务服务器并不是所有服务器都需要有公网IP,

比如,最为典型的数据库服务器,只需要能够能够通过有公网

IP的跳板机登录后,内网跳转就可以进行系统管理,但如果

外网不通,还是很不方便。如此以来,能够让跳板机担当NAT

服务器也就即保障了安全又能够让内网服务器请求公网。

虽然aws服务中有现成的NAT服务,但完全可以手工打造。


环境展示:

vpc一个      CIDR 172.16.0.0/16(可容纳65534台主机)

子网两个

公有子网  CIDR 172.16.18.0/26(可容纳62台主机)

私有子网  CIDR 172.16.18.128/26(可容纳62台主机)


正式操作:

创建vpc,命一个直观的vpc名称,指定好vpc使用网段

创建子网,命一个直观的子网名称,并指定vpc为上一步中创建的vpc

创建Internet网关,命一个直观的igw名称,并与vpc进行关联

创建路由表,命一个直观的rtb名称,指定对应的vpc


查看公网路由表成功创建后的效果

Destination Target Status Propagated

172.16.0.0/16 local active No

0.0.0.0/0 igw-04860ca326f5e0d15 active No


手动创建私网路由表(需要创建好跳板机的ENI后才能创建)

网络网关指向跳板机的ENI,成功后如下所示

Destination Target Status Propagated

172.16.0.0/16 local active No

0.0.0.0/0 eni-074cd5718bf24d3f7 active No


跳板机      公有子网  CIDR 172.16.18.0/26

内网服务器   私有子网  CIDR 172.16.18.64/26


aws ec2所有机器最好使用弹性网卡,方便日后拨离ENI挪作它用


跳板机的ENI创建时手动指定一个公有子网的私有IP,并分配一个弹性IP

跳板机的ENI需要关闭源/目标检查


内网服务器的eni创建时手动指定一个私有子网的私有IP就可以了


创建实例时指定之前创建好的ENI接口,所有实例无需子网分配公有IP和私有IP了


跳板机实例启动后进入系统,需要做两项配置

cat /etc/sysconfig/iptables

*nat

:PREROUTING ACCEPT [0:0]

:INPUT ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

:POSTROUTING ACCEPT [0:0]

-A POSTROUTING -j MASQUERADE  #转发所有IP及端口的请求到公网的流量

COMMIT


echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf && sysctl -p

跳板机的配置就完成了


以后只要想用这个跳板机做为登录入口以及网络出口的,只需要启动实例时放置于

设定的私有子网内就可以了。


需要注意的时,要想阅读本文后,实现笔者的效果,需要对aws网络有一定了解,

笔者也曾因为aws的网络头疼过好多回,但当笔者成功手工打造上述系统后,也算

对aws的网络环境有了一定的见长!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章