Linux下启用IP转发功能(主要针对Ubuntu的使用)

说明:以下的操作只要在Linux下都是通用的。

Linux发行版默认情况下是不开启IP转发功能的。如果架设一个Linux路由或者VPN服务就需要开启该服务。

1、通过访问sysctl的内核ipv4.ip_forward来判断转发是否开启。(说明:现在有些网络已经普及ipv6的,所以下面的命令可以从ipv4改为ipv6即可)

使用sysctl

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

或者检查/proc下的文件:

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

ipv4转发没有开启 (值为 0)

2、启动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。

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

sysctl -p /etc/sysctl.conf

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

service network restart

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

#早期版本
/etc/init.d/procps.sh restart
#最新版本
/etc/init.d/procps restart

 

参考:

http://blog.chinaunix.net/uid-14691740-id-3055343.html(以上内网转自此篇文章)

posted @ 2017-09-26 09:39  EasonJim  阅读(13599)  评论(6编辑  收藏  举报