公司购买的一批云服务器只带内网,配置了一个负载均衡器(lb),这批服务器通过lb可以对外提供服务,但是这批服务器不能主动连接外网,例如使用wget下载文件,或者curl访问ttlsa.com站点。
额外购买一台带外网的云服务器,将这台服务器配置成网关服务器,其他服务器网关改为这台服务器,问题得到解决。方法很简单
网关服务器IP:172.16.0.1
客户端IP:172.16.0.0/24
1. 开启forward
1 2 | # cat /etc/sysctl.conf | grep forw net.ipv4.ip_forward = 1 |
2. 配置转发
1 | # iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -j MASQUERADE |
转发网段172.16.0.0/24传过来的包,你也可以指定特定的ip地址。例如:
1 | # iptables -t nat -A POSTROUTING -s 172.16.0.10 -j MASQUERADE |
3. 重启iptables
1 | # service iptables restart |
4. 修改网关
以上三步都在网关服务器上操作,这步在需要连接外网的客户端操作
1 2 | # cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep GATEWAY GATEWAY=172.16.0.1 |
5. 测试
1 2 3 4 5 6 7 8 9 10 | # ping www.ttlsa.com -c 4 PING www.ttlsa.com (114.215.173.139) 56(84) bytes of data. 64 bytes from ip215.hichina.com (114.215.173.139): icmp_seq=1 ttl=46 time=28.1 ms 64 bytes from ip215.hichina.com (114.215.173.139): icmp_seq=2 ttl=46 time=27.9 ms 64 bytes from ip215.hichina.com (114.215.173.139): icmp_seq=3 ttl=46 time=27.8 ms 64 bytes from ip215.hichina.com (114.215.173.139): icmp_seq=4 ttl=46 time=27.8 ms --- www.ttlsa.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3032ms rtt min/avg/max/mdev = 27.815/27.951/28.193/0.220 ms |
6. 结束
是不是很简单?搭建一个虚拟机网关IP 172.16.0.1,客户端IP172.16.0.2。按照上面的步骤完成你的实验。