环境:一台带外网和内网的机器,另一台只有内网,默认不能上网。两台机器都是centos系统

带外网机器的外网ip为 123.221.20.11, 内网ip为 192.168.15.100

内网机器的内网ip为 192.168.15.101


设置方法很简单:

1. 在带外网的机器上设置iptables规则:

iptables -t nat -A POSTROUTING -s 192.168.15.101 -j SNAT --to 123.221.20.11

// 如果想让整个内网的机器全部上网,只需要把 -s 192.168.15.101 换成

-s 192.168.15.0/255.255.255.0 即可


2. 在带带外网机器上打开转发

首先查看是否已经打开

sysctl -a |grep 'net.ipv4.ip_forward'

如果值为1,则说明已经打开,否则需要修改配置文件 /etc/sysctl.conf

打开该配置文件,找到该参数,使其变为

net.ipv4.ip_forward = 1

然后运行 sysctl -p


3. 在内网机器上,设置其网关为 192.168.15.100

vim  /etc/sysconfig/network-scripts/ifcfg-eth0 

添加 

GATEWAY=192.168.15.100

重启网络服务即可。 service network restart


4. 测试内网机器是否可以上网。