aws ec2 純手工打造跳板機+NAT服務器

使用場景:html

可能咱們的業務服務器並非全部服務器都須要有公網IP,數據庫

好比,最爲典型的數據庫服務器,只須要可以可以經過有公網安全

IP的跳板機登陸後,內網跳轉就能夠進行系統管理,但若是服務器

外網不通,仍是很不方便。如此以來,可以讓跳板機擔當NAT網絡

服務器也就即保障了安全又可以讓內網服務器請求公網。ide

雖然aws服務中有現成的NAT服務,但徹底能夠手工打造。ui


環境展現:spa

vpc一個     CIDR 172.16.0.0/16(可容納65534臺主機)htm

子網兩個接口

公有子網  CIDR 172.16.18.0/26(可容納62臺主機)

私有子網  CIDR 172.16.18.128/26(可容納62臺主機)


正式操做:

建立vpc,命一個直觀的vpc名稱,指定好vpc使用網段

建立子網,命一個直觀的子網名稱,並指定vpc爲上一步中建立的vpc

建立Internet網關,命一個直觀的igw名稱,並與vpc進行關聯

建立路由表,命一個直觀的rtb名稱,指定對應的vpc


查看公網路由表成功建立後的效果

DestinationTargetStatusPropagated

172.16.0.0/16localactiveNo

0.0.0.0/0 igw-04860ca326f5e0d15activeNo


手動建立私網路由表(須要建立好跳板機的ENI後才能建立)

網絡網關指向跳板機的ENI,成功後以下所示

DestinationTargetStatusPropagated

172.16.0.0/16localactiveNo

0.0.0.0/0 eni-074cd5718bf24d3f7activeNo


跳板機      公有子網  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的網絡環境有了必定的見長!


更多細節請參考官方文檔:https://docs.aws.amazon.com/zh_cn/vpc/latest/userguide/VPC_NAT_Instance.html

相關文章
相關標籤/搜索