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的網絡環境有了一定的見長!


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