注:阿里云的NAT网关可以实现多个云上的ECS虚拟机共享访问公网,VPN网关实现多个VPC互联或是线上线下的网络互联,但这两个服务都是收费
下面说明下如何自己实现共享上网和端口映射
两个虚拟机
Linux内网IP 172.17.202.66
Windows内网IP 172.17.202.65
阿里云配置
-
修改安全组配置,放开22、3389、icmp,22用于SSH管理Linux,3389用于访问Windows
-
在VPC的路由器配置上添加一个路由条目,吓一跳的路由指向Linux的ECS实例
Linux虚拟机配置
-
Linux的ECS实例,例如CentOS7.3,绑定公网IP,可以是静态也可以是EIP
-
测试这个虚拟机是否能够正常访问公网(该机将会用于实现共享上网和端口映射)
-
/etc/vim sysctl.conf添加 net.ipv4.ip_forward = 1
执行命令使修改生效:
sysctl –p
-
源地址转换,实现共享上网
iptables -t nat -I POSTROUTING -s 172.17.202.0/24 -j SNAT --to-source 172.17.202.66
对来源是172.17.202.0/24的IP做源地址转换,改为172.17.202.66,也就是Linux虚拟机
-
端口映射,远程管理Windows
iptables -t nat -A PREROUTING -d 172.17.202.66 -p tcp --dport 3389 -j DNAT --to-destination 172.17.202.65:3389
将172.17.202.66的TCP 3389端口映射到172.17.202.65的TCP 3389端口
测试
-
Windows的ECS实例,使用命令route print检查默认路由是否指向了Linux
-
测试Windows是否能访问公网
-
通过公网IP访问Linux的22,Windows的3389
网友评论