系统教程
您现在的位置是:首页>服务器系统>Linux系统内容

cat /proc/sys/net/ipv4/ip_forward 0 解决办法

时间:2018-05-11 出处:未知复制分享人气(次) 【

[root@localhost java]# cat /proc/sys/net/ipv4/ip_forward 
0
出于安全考虑,Linux系统默认是禁止数据包转发的。
所谓转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将包发往本机另一网卡,该网卡根据路由表继续发送数据包。
配置Linux系统的ip转发功能,首先保证硬件连通,然后打开系统的转发功能。
cat /proc/sys/net/ipv4/ip_forward,该文件内容为0,表示禁止数据包转发,1表示允许。
 
有两种方式可以修改:利用命令一次性完成,并支持重启。
 
1.利用echo 1 修改
源码:
echo"echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/rc.d/rc.local \
&& echo 1 > /proc/sys/net/ipv4/ip_forward \
&& chmod +x /etc/rc.d/rc.local \
&& ll /etc/rc.d/rc.local \
&& cat /proc/sys/net/ipv4/ip_forward
测试:直接生效,支持重启
[root@localhost java]# echo"echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/rc.d/rc.local \
> && echo 1 > /proc/sys/net/ipv4/ip_forward \
> && chmod +x /etc/rc.d/rc.local \
> && ll /etc/rc.d/rc.local \
> && cat /proc/sys/net/ipv4/ip_forward
-rwxr-xr-x. 1 root root 512 Apr  6 11:55 /etc/rc.d/rc.local
1
 
2.利用sysctl 修改
源码:
echo"sysctl -w net.ipv4.ip_forward=1" >> /etc/rc.d/rc.local \
&& echo"sysctl -p" >> /etc/rc.d/rc.local \
&& chmod +x /etc/rc.d/rc.local \
&& ll /etc/rc.d/rc.local \
&& cat /proc/sys/net/ipv4/ip_forward
测试:重启生效
[root@localhost ~]# echo"sysctl -w net.ipv4.ip_forward=1" >> /etc/rc.d/rc.local \
> && echo"sysctl -p" >> /etc/rc.d/rc.local \
> && chmod +x /etc/rc.d/rc.local \
> && ll /etc/rc.d/rc.local \
> && cat /proc/sys/net/ipv4/ip_forward
-rwxr-xr-x. 1 root root 515 Apr  6 11:39 /etc/rc.d/rc.local
0
重启测试:
[root@localhost ~]# cat /proc/sys/net/ipv4/ip_forward
1
    最新资讯
    热门内容
    小米移动电源能为iPad mini充几次电