iptables 实现centos内网机器访问外网

回复 收藏
环境:一台带外网和内网的机器,另一台只有内网,默认不能上网。两台机器都是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. 测试内网机器是否可以上网。
2012-11-16 13:25 举报
已邀请:
0

齐天大圣

赞同来自:

不错!
0

cookie

赞同来自:

不错 不错  等下实验一下
0

wyatt88

赞同来自:

{:4_91:}真强
0

疾风

赞同来自:

这样是永久的还是临时的?
0

lyhabc

赞同来自:

疾风 发表于 2015-4-16 15:01
这样是永久的还是临时的?

应该是永久的吧
0

15036085170

赞同来自:

通过虚拟机已实现,{:4_91:}
0

wangzai

赞同来自:

学习了
0

maomao5987370

赞同来自:

学习了
0

沈诚

赞同来自:

原来这就是路由器的实现方法
0

zhangzihao

赞同来自:

支持支持
0

linux-小莫

赞同来自:

学习
0

snake

赞同来自:

学习
0

黄国斌

赞同来自:

是不是我们电脑上的共享WiFi也是这个原理?
0

ouyang

赞同来自:

现实环境中有这样用的吗
0

king锦韬

赞同来自:

疾风 发表于 2015-4-16 15:01
这样是永久的还是临时的?

你把规则保存了就是永久的
0

jinwucui

赞同来自:

这个就是路由器了

0

gfzq0901

赞同来自:

就是代理上网。

0

喀洛池

赞同来自:

学习学习

0

alvinnull

赞同来自:

你们每个人都说学习 我就不信谁照着这个步骤成功的

0

望月

赞同来自:

感觉好像不能实现,这样设置之后,是不是说内网那台机器可以ping通百度就算成功?

0

吼吼

赞同来自:

我想问下我怎么不成功呢,我做的是将一个地址不让它上外网,而且还有个问题是--to我怎么不行呢?我的是6.5版本的,-t是可以的但是,它会报我的公网ip地址是坏的。QQ图片20170106191931.png

0

548840

赞同来自:

学习

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: