$ sudo echo 1 >/proc/sys/net/ipv4/ip_forward
bash: /proc/sys/net/ipv4/ip_forward: Permission denied
然后我尝试获取写权限,也失败了。
$ sudo chmod a+wx /proc/sys/net/ipv4/ip_forward
chmod: changing permissions of `/proc/sys/net/ipv4/ip_forward': Operation not permitted
怎么了?
答案1
您正在尝试更改内核值。请确保您正在做什么。
好的,以下是你可以改变的值ip_forward具有 root 权限(sudo -i
)
- 首先使用命令检查 ip_forward 的值:
sysctl -a | grep ip_forward
- 现在使用
sysctl -w <parameter=value>
你改变ip_forward的值:sysctl -w ip_forward=1
- 使用以下命令在内核中反映这些更改:
sysctl -p
- 再次执行第一步来检查值。
我建议你去sysctl 的手册页
答案2
编辑文件 /etc/sysctl.conf 并编辑此部分:
#net.ipv4.ip_forward = 0
到
net.ipv4.ip_forward = 1 (remove # sign)
然后输入命令:sysctl -p
最后,重新启动系统。
答案3
要在内核版本 4.4+(Ubuntu 16.04+)中更改此内核值,您需要执行以下操作:
sudo sysctl -w net.ipv4.ip_forward=1
答案4
终端:
sudo nano /proc/sys/net/ipv4 ip_forward
更改后,使用CTRL+保存O并使用CTRL+退出X