阿里雲CentOS 7無外網IP的ECS訪問外網(配置網關服務器)


說明:

1、必須要有一台機器具有外網IP的ECS。

2、如果不想配置具有外網IP的ECS時,可以購買NAT網關,但需要錢,貴。下面會說明NAT網關的配置。

3、最后吐槽一下阿里雲VPC網關導致不能按照配置普通網關一樣配置(參考:https://www.cnblogs.com/EasonJim/p/10206728.html),必須結合VPC配置0.0.0.0/0來進行下一跳,不然你在ECS怎么設置都無法成功。其實這個問題是由於VPC本身最上層做了NAT,並通過route查看會發現253這個地址有VPC占用,無論怎么配置0.0.0.0的下一跳都會先轉到253這個地址。

下面是具體的配置:

環境:

ECS1(沒外網IP):172.18.6.247

ECS2(有外網IP,其實是VPC做了NAT):172.18.6.248

1、具有外網IP的ECS2配置網關:

# 開啟轉發
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
# 生效
sysctl -p
# 配置iptables做SNAT
iptables -t nat -I POSTROUTING -s 172.18.6.0/24 -j SNAT --to-source 172.18.6.248
# 上述可以理解成:iptables -t nat -I POSTROUTING -s VPC的IP段 -j SNAT --to-source 有公網IP的ECS內網IP

2、在VPC增加0.0.0.0/0的下一跳為ECS2實例

那么此時在登錄ECS1時,不用設置網關或者設置了網關都可以訪問外網。

3、如果要做DNAT時,如下操作即可:

iptables -t nat -I PREROUTING -p tcp --dport 50022 -j DNAT --to 172.18.6.247:22 
# 可以這樣理解: iptables -t nat -I PREROUTING -p tcp --dport 外網IP的ECS端口 -j DNAT --to 只有內網IP的ECS的IP:端口 

4、如果想要換成夠買NAT網關來實現時,上面的配置基本不用,直接在VPC上這樣配置即可實現上面SNAT和DNAT的全部功能。

 

參考:

https://yq.aliyun.com/articles/607330

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM