1.适用情景
服务器为内网服务器,需要访问外网。手头上有可以访问外网的上网机。内网服务器通过该上网机来实现对外网的访问。
在内网服务器里的配置
1 | vim /etc/sysconfig/network-scripts/ifcfg-eth0 |
1 | TYPE=Ethernet |
2.windows端上网机的处理
在网络设置中选择可以上网的网卡,并将该网卡共享到和内网机连接的网卡中去。
3.linux端上网机的处理
需要两块网卡,一块连接互联网配置
1 | TYPE=Ethernet |
一块与内网服务器连接:
1 | TYPE=Ethernet |
配置网卡之后需执行service network restart生效
4.配置ipv4转发
1 | net.ipv4.ip_forward = 1 |
1 | sysctl -p |
5.配置服务器A的iptables规则,使服务器B及其他内网服务器能访问外网
1 | iptables -t nat -A POSTROUTING -s 192.168.137.0/255.255.255.0 -j SNAT --to-source 10.22.2.123 |
上面的命令即时生效,若需要下次启动也可用,需保存规则:
1 | service iptables save |
如果有提示:Unit iptables.service could not be found. 则需安装iptables-services
6.DNS解析失败的问题
以上配置之后,通过IP能访问外网,但是使用域名则不行,即使已经配置了dns解析服务器。
还需要在服务器A执行:1
iptables -I FORWARD 1 -s 192.168.137.0/24 -j ACCEPT #允许所有源地在 192.168.137.0/24的ip经过本机