【场景】
因业务需要,需要连接外网平台来进行许可认证以完成程序的初始化,但是业务梭子啊主机处在内网中,但其内网中的某台主机可以上网,因公网地址有限,需要内网主机通过该可上网主机来进行外网认证,完成初始化。
【处理】
1)在带外主机执行:
sed -i ‘$a net.ipv4.ip_forward = 1’ /etc/sysctl.conf //开启路由转发
cat /etc/sysctl.conf |grep ipv4 //验证
sysctl -p //使上述配置立即生效
2)在带外主机配置内网转发到本机路由:
iptables -t nat -nL //iptables规则检查确认
iptables -t nat -F //情况规则,生产禁用
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 公网ip
如果带外主机出口公网ip属于动态获取的,则执行:
iptables -t nat -A POSTROUTING -s 172.10.0/24 -o eth0 -j MASQUERADE
这样就会每次从服务器的网卡上,自动获取当前ip地址来做NAT,不管现在eth0的出口获得了怎样的动态ip,MASQUERADE会自动读取eth0现在的ip地址然后做SNAT出去
从而实现了动态SNAT地址转换。
3)内网地址配置到带外主机路由
route add default gw 172.10.1.2
或route add -net 172.10.0.0/24 gw 172.10.1.2(带外主机ip)
4)内网验证屏www.baidu,con,这时已经可通。