如何使用高速通道实现跨VPC NAT公网共享

  1. 云栖社区>
  2. 阿里云文娱>
  3. 博客>
  4. 正文

如何使用高速通道实现跨VPC NAT公网共享

杨重 2018-10-15 15:34:42 浏览1263

1. 自建NAT网关

专有网络环境下,没有公网IP地址的云服务器ECS实例,可以通过一台绑定了EIP的ECS实例访问公网。如下图所示。
45dd6898f4031f92233316d88d067edcea9fc5b7
假如Client ECS不能访问公网,ping www.aliyun.com 失败。下文告诉用户如何操作可以让Client ECS上公网。

数据规划

SNAT GW ECS的规格参数举例如下:
地域:华东2
可用区:华东2 可用区B
I/O优化实例:I/O优化实例
实例规格:1核1GB
网络类型:专有网络
虚拟交换机ID:vsw-11xxj71x8
操作系统:Ubuntu 14.04 64位
系统盘:40GB高效云盘
Client ECS的规格参数举例如下:
地域:华东2
可用区:华东2 可用区B
I/O优化实例:I/O优化实例
实例规格:1核1GB
网络类型:专有网络
虚拟交换机ID:vsw-11xxj71x8
操作系统:Ubuntu 14.04 64位
系统盘:40GB高效云盘

环境准备

1.创建一个VPC实例,具体操作可以参考 https://help.aliyun.com/document_detail/27710.html?spm=5176.product8315065_27706.4.4.lc50gL。
2.创建一个VSwitch,具体操作请参考 https://help.aliyun.com/document_detail/27710.html?spm=5176.product8315065_27706.4.4.lc50gL。
3.创建EIP实例,具体操作请参考 https://help.aliyun.com/document_detail/27714.html?spm=5176.doc27711.6.97.OJTsOP。
4.创建ECS实例,具体操作可参考 https://help.aliyun.com/document_detail/27713.html?spm=5176.doc27714.6.96.vkkuMO。
说明:ECS各参数的选择,可以参考数据规划部分的配置。

操作步骤

1.将SNAT网关的ECS绑定EIP。
7ed85b0d5297669dd0c3e9fad60889ef050817ef
2.SNAT网关可以访问公网。
8ad73a5b44632c419baae8a61ca68ec0475a6c0a
3.配置Iptables。
    a.打开iptables forward功能。
        cd /etc/
        vim sysctl.conf
    b.添加 net.ipv4.ip_forward = 1
4bba44de1341608f8ddf30a547567b621266241e
        执行命令使修改生效: sysctl –p
    c.使用如下命令把192.168.1.0/24发出的包的源地址替换为192.168.1.1。
        iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 192.168.1.1
4.添加路由。
把发往0.0.0.0/0网段的包,发送给SNAT网关(i-11gwp2l9l)。
2d34c43a5dec41e384a6204a1b1b29fd83b8a875
5.登陆Client ECS,验证是否可以ping www.aliyun.com 成功。
50b08ed91dcfdfc749b5913019312c8ff031cdce

2. 高速通道VPC共享

两个VPC共用自建SNAT网关

533f6da90c99129249e31f30087bb5ac6a39615a
该场景中,VPC1里有一个用户自建的SNAT网关,用于实现同VPC内的其他ECS访问公网;VPC2的实例借助高速通道实现使用VPC1里的自建SNAT网关访问公网。
实现过程大致如下:
假设用户1拥有路由器1,用户2拥有路由器2;经协商后由用户1付费;
1.通过高速通道将两个VPC进行互连(具体步骤见前面的场景介绍)
2.在路由器2的路由表中添加条目,将0.0.0.0/0指向路由器2上的路由器接口;
3.确认路由器1上也已经添加了0.0.0.0/0的默认路由,是指向ECS1的;
此时,VPC2中的ECS访问公网时,路由器2会根据路由表将数据包通过高速通道转发到路由器1上,路由器1会将该消息转发到ECS1上,ECS1会行使SNAT网关的职能,将数据发向公网,并将回包原路返回。