为什么不能更改文件/proc/sys/net/ipv4/ip_forward?

Vic*_*r S 3 filesystem process

$ sudo echo 1 >/proc/sys/net/ipv4/ip_forward 
bash: /proc/sys/net/ipv4/ip_forward: Permission denied
Run Code Online (Sandbox Code Playgroud)

然后我尝试获得写入权限,也失败了。

$ sudo chmod a+wx /proc/sys/net/ipv4/ip_forward 
chmod: changing permissions of `/proc/sys/net/ipv4/ip_forward': Operation not permitted
Run Code Online (Sandbox Code Playgroud)

怎么了?

dev*_*av2 9

您正在尝试更改内核值。确定你在做什么。

好的,这里是如何使用 root 权限更改ip_forward的值( sudo -i)

  • 首先使用命令检查 ip_forward 的值: sysctl -a | grep ip_forward
  • 现在使用sysctl -w <parameter=value>您更改 ip_forward 的值:
    • sysctl -w ip_forward=1
  • 使用以下方法进行这些更改以反映在内核中: sysctl -p
  • 再次执行第一步以检查值。

我建议您阅读sysctl手册页