linux下启用ip转发功能

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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。