+135 410 16684Mon. - Fri. 10:00-22:00

阿里云VPC网络无EIP的主机上网

阿里云VPC网络无EIP的主机上网

阿里云VPC网络无EIP的主机上网

问题由来

阿里云的VPC与其他基于OpenStack的IaaS不同,他的路由只是作为多网段的路由交换,不提供内到外的路由,因此在VPC内的主机除非绑定EIP,否则是无法连接公网的。通过工单询问客服,得到的结论是通过在路由器上添加一个路由,通过一个绑定EIP的主机做NAT上网,通过设置iptables的方式来实现。

VPC结构图

aliyun-vpc-snat

虚拟路由器配置

添加路由

为了让内网服务器借助EIP访问公网,所以设置所有目标地址0.0.0.0/0下一跳都转发到绑定了公网IP的ECS实例上。这里的下一跳ECS不支持搜索,需要提前记号名称:

aliyun-vpc-snat-2

绑定EIP的主机配置

iptables添加SNAT规则

iptables -t nat -I POSTROUTING -s 192.168.2.0/24 -j SNAT –to-source 192.168.2.20

注意: ubuntu 14.04 系统保存iptables设置需要安装iptables-persistent包,然后通过 service iptables-persistent save 的方式保存配置,安装完iptables-persistent后该服务随系统一起启动并会把保存的配置应用

开启IP转发

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