无法在Xubuntu中编辑/ proc / sys / net / ipv4 / ip_forward

我尝试将ip_forward0更改为1但是失败,即使在Xubuntu 11.10中具有root权限也是如此。 使用Ubuntu 11.10时,我没有类似的问题

 chiaki@chiaki:~$ sudo echo 1 > /proc/sys/net/ipv4/ip_forward bash: /proc/sys/net/ipv4/ip_forward: Permission denied 

任何的想法?

你不能轻易地用sudo 。 有几种可能的解决方案,包括tee

您可以将用户名调用sudo到您拥有的文件,例如主目录中的文件,而不是系统文件。

 # it works when re-direction to a location / file the user has permission to access ubuntu@ubuntu:~$sudo echo "it works" > ~/file ubuntu@ubuntu:~$cat file it works # But NOT if you do not have permission to access the target ubuntu@ubuntu:~$sudo echo "it works" > /root/file -bash: /root/file: Permission denied 

选项一

使用sudo bash -c并引用整个命令

 sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward' 

方案二

使用tee

 echo "1" | sudo tee /proc/sys/net/ipv4/ip_forward 

如果要更改/proc/sys参数,最好的做法是编辑/etc/sysctl.conf然后运行sysctl -p 。 这样,您的更改将在重新启动后持续存在。

你可以用这个:

 user@ubuntu:~sudo -s enter password for sudo: root@ubuntu:~echo 1 >/proc/sys/net/ipv4/ip_forward :) 

如果输入以下命令,则在不重新启动计算机时它将起作用。

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

一旦重新启动,参数将返回“0”

尝试以下命令,即使重新启动它也能正常工作。

 vim /proc/sysctrl.conf ' - uncommen "net.ipv4.ip_forward=1" sysctl -p 

现在,甚至,当您重新启动计算机时,将始终启用IP转发。