环境:
A 一台带外网和内网的机器,
B 另一台只有内网,默认不能上网。
两台机器都是centos系统
A 带外网机器的 假设 外网ip为 13.21.20.10, 内网ip为 192.168.0.100
B 内网机器的内网ip为 192.168.0.101
设置步骤:
1. A 在带外网的机器上设置iptables:
iptables -t nat -A POSTROUTING -s 192.168.0.101 -j SNAT --to 13.21.20.10
注:如果想让整个内网的机器全部上网,只需要把 -s 192.168.0.101 换成
-s 192.168.0.0/255.255.255.0 即可
2. A 在带带外网机器上打开转发
首先查看是否已经打开
sysctl -a |grep 'net.ipv4.ip_forward'
如果值为1,则说明已经打开,否则需要修改配置文件 /etc/sysctl.conf
打开该配置文件,找到该参数,使其变为
net.ipv4.ip_forward = 1
然后运行 sysctl -p
3. B 在内网机器上,设置其网关为 192.168.0.100
vim /etc/sysconfig/network-scripts/ifcfg-eth0
添加
GATEWAY=192.168.0.100
1 重启网络服务即可。 service network restart
2 不想重启的情况,可以执行命令route add default gw 192.168.0.100 —添加内网网关服务器地址为外网服务器的内外ip