Chinaunix首页 | 论坛 | 博客
  • 博客访问: 207522
  • 博文数量: 23
  • 博客积分: 534
  • 博客等级: 下士
  • 技术积分: 245
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-20 16:27
文章分类

全部博文(23)

文章存档

2015年(1)

2012年(21)

2011年(1)

分类: LINUX

2012-01-08 22:44:46

linux发行版默认情况下是不开启ip转发功能的。这是一个好的做法,因为大多数人是用不到ip转发的,但是如果我们架设一个linux路由或者vpn服务我们就需要开启该服务了。下面我会通过几种方式开通它。检查ip转发是否开启

我们需要通过访问sysctl的内核ipv4.ip_forward来判断转发是否开启。
使用 sysctl:

sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 0

或者检查/proc下的文件:

cat /proc/sys/net/ipv4/ip_forward 0

正如我们所见,ipv4转发没有开启 (值为 0).

启动ip转发

通过sysctl我们可以开启ipv4的转发功能 (无需重启):

sysctl -w net.ipv4.ip_forward=1

或者

echo 1 > /proc/sys/net/ipv4/ip_forward

这种设置只是暂时的; 它的效果会随着计算机的重启而失效。

通过在 /etc/sysctl.conf 设置参数

如果你想使ip转发永久生效,就请修改 /etc/sysctl.conf ,在这里我们可以增加一条 net.ipv4.ip_forward = 1

/etc/sysctl.conf: net.ipv4.ip_forward = 1

如果你的ipv4转发项已被设为0那么你只需要将它改为1.

要想是更改生效,你需要执行以下指令:

sysctl -p /etc/sysctl.conf

在红帽系列的发行版上可以通过重启网络服务使之生效:

service network restart

而在debian/ubuntu系列的发行版则用这样的命令:

/etc/init.d/procps.sh restart
阅读(24420) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~