包括阿里云在内的很多云服务器classcal下都不支持SNAT,有幸拿到了阿里云VPC的测试权限,测试这个虚拟专用网模式下是支持SNAT的,大概列一下操作过程。
1
2
|
使用一台虚拟路由器,两台虚拟交换机用于连接内网局域网和外网机器所属的局域网,两台
ECS
:
一台纯内网,一台绑定了
EIP作为
NAT网关,如下:
|
1
|
在虚拟路由器上配置路由
|
由于为了让内网服务器借助EIP访问公网,所以设置所有目标地址0.0.0.0/0下一跳都转发到绑定了公网IP的ECS实例上。这里的下一跳ECS不支持搜索,有点麻烦。
1
|
配置好之后,登陆外网机器配置
SNAT
|
1 | iptables -t nat -I POSTROUTING -s 172.16.3.0/24 -j SNAT --to- source 172.16.1.2 |
其中3网段是内网局域网的网段,172.16.1.2是绑定了EIP的ECS自身IP,以便完成源地址转换
1
|
然后修改内核参数允许
IP转发:
|
1 | sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf;sysctl -p |