文章目录
  1. 1. 问题由来
  2. 2. VPC结构图
  3. 3. 虚拟路由器配置
    1. 3.1. 添加路由
  4. 4. 绑定EIP的主机配置
    1. 4.1. iptables添加SNAT规则
    2. 4.2. 开启IP转发

问题由来

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

VPC结构图

虚拟路由器配置

添加路由

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

绑定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
文章目录
  1. 1. 问题由来
  2. 2. VPC结构图
  3. 3. 虚拟路由器配置
    1. 3.1. 添加路由
  4. 4. 绑定EIP的主机配置
    1. 4.1. iptables添加SNAT规则
    2. 4.2. 开启IP转发