天天看点

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

1. 自建NAT网关

专有网络环境下,没有公网IP地址的云服务器ECS实例,可以通过一台绑定了EIP的ECS实例访问公网。如下图所示。

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

假如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的规格参数举例如下:

环境准备

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。

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

2.SNAT网关可以访问公网。

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

3.配置Iptables。

    a.打开iptables forward功能。

        cd /etc/

        vim sysctl.conf

    b.添加 net.ipv4.ip_forward = 1

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

        执行命令使修改生效: 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)。

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

5.登陆Client ECS,验证是否可以ping www.aliyun.com 成功。

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

2. 高速通道VPC共享

两个VPC共用自建SNAT网关

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

该场景中,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网关的职能,将数据发向公网,并将回包原路返回。

继续阅读