1. 自建NAT网关
专有网络环境下,没有公网IP地址的云服务器ECS实例,可以通过一台绑定了EIP的ECS实例访问公网。如下图所示。
![45dd6898f4031f92233316d88d067edcea9fc5b7](https://yqfile.alicdn.com/45dd6898f4031f92233316d88d067edcea9fc5b7.png?x-oss-process=image/resize,w_1400/format,webp)
假如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](https://yqfile.alicdn.com/7ed85b0d5297669dd0c3e9fad60889ef050817ef.png?x-oss-process=image/resize,w_1400/format,webp)
2.SNAT网关可以访问公网。
![8ad73a5b44632c419baae8a61ca68ec0475a6c0a](https://yqfile.alicdn.com/8ad73a5b44632c419baae8a61ca68ec0475a6c0a.png?x-oss-process=image/resize,w_1400/format,webp)
3.配置Iptables。
a.打开iptables forward功能。
cd /etc/
vim sysctl.conf
b.添加 net.ipv4.ip_forward = 1
![4bba44de1341608f8ddf30a547567b621266241e](https://yqfile.alicdn.com/4bba44de1341608f8ddf30a547567b621266241e.png?x-oss-process=image/resize,w_1400/format,webp)
执行命令使修改生效:
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](https://yqfile.alicdn.com/2d34c43a5dec41e384a6204a1b1b29fd83b8a875.png?x-oss-process=image/resize,w_1400/format,webp)
5.登陆Client ECS,验证是否可以ping www.aliyun.com 成功。
![50b08ed91dcfdfc749b5913019312c8ff031cdce](https://yqfile.alicdn.com/50b08ed91dcfdfc749b5913019312c8ff031cdce.png?x-oss-process=image/resize,w_1400/format,webp)
2. 高速通道VPC共享
两个VPC共用自建SNAT网关
![533f6da90c99129249e31f30087bb5ac6a39615a](https://yqfile.alicdn.com/533f6da90c99129249e31f30087bb5ac6a39615a.png?x-oss-process=image/resize,w_1400/format,webp)
该场景中,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网关的职能,将数据发向公网,并将回包原路返回。