阿里云CentOS 7无外网IP的ECS访问外网(配置网关服务器)

说明:html

一、必需要有一台机器具备外网IP的ECS。tcp

二、若是不想配置具备外网IP的ECS时,能够购买NAT网关,但须要钱,贵。下面会说明NAT网关的配置。阿里云

三、最后吐槽一下阿里云VPC网关致使不能按照配置普通网关同样配置(参考:http://www.javashuo.com/article/p-klavowym-hp.html),必须结合VPC配置0.0.0.0/0来进行下一跳,否则你在ECS怎么设置都没法成功。其实这个问题是因为VPC自己最上层作了NAT,并经过route查看会发现253这个地址有VPC占用,不管怎么配置0.0.0.0的下一跳都会先转到253这个地址。spa

下面是具体的配置:code

环境:htm

ECS1(没外网IP):172.18.6.247blog

ECS2(有外网IP,实际上是VPC作了NAT):172.18.6.248ip

一、具备外网IP的ECS2配置网关:get

# 开启转发
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

二、在VPC增长0.0.0.0/0的下一跳为ECS2实例table

那么此时在登陆ECS1时,不用设置网关或者设置了网关均可以访问外网。

三、若是要作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:端口 

四、若是想要换成够买NAT网关来实现时,上面的配置基本不用,直接在VPC上这样配置便可实现上面SNAT和DNAT的所有功能。

 

参考:

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

相关文章
相关标签/搜索