公司购买的一批云服务器只带内网,配置了一个负载均衡器(lb),这批服务器通过lb可以对外提供服务,但是这批服务器不能主动连接外网,例如使用wget下载文件,或者curl访问ttlsa.com站点。额外购买一台带外网的云服务器,将这台服务器配置成网关服务器,其他服务器网关改为这台服务器,问题得到解决。方法很简单网关服务器IP:172.16.0.1客户端IP:172.16.0.0/241. 开启forward
# cat /etc/sysctl.conf | grep forwnet.ipv4.ip_forward = 1
2. 配置转发
# iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -j MASQUERADE
转发网段172.16.0.0/24传过来的包,你也可以指定特定的ip地址。例如:
# iptables -t nat -A POSTROUTING -s 172.16.0.10 -j MASQUERADE
3. 重启iptables
# service iptables restart
4. 修改网关以上三步都在网关服务器上操作,这步在需要连接外网的客户端操作
# cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep GATEWAYGATEWAY=172.16.0.1
5. 测试
# ping www.ttlsa.com -c 4PING 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 ms64 bytes from ip215.hichina.com (114.215.173.139): icmp_seq=2 ttl=46 time=27.9 ms64 bytes from ip215.hichina.com (114.215.173.139): icmp_seq=3 ttl=46 time=27.8 ms64 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 3032msrtt min/avg/max/mdev = 27.815/27.951/28.193/0.220 ms
6. 结束是不是很简单?搭建一个虚拟机网关IP 172.16.0.1,客户端IP172.16.0.2。按照上面的步骤完成你的实验。有疑问请留言
原文地址:linux+iptables搭建网关服务器, 感谢原作者分享。 以一种进取的和明智的方式同它们奋斗。