Why can not change the file /proc/sys/net/ipv4/ip_forward?
Matthew Martinez
$ sudo echo 1 >/proc/sys/net/ipv4/ip_forward
bash: /proc/sys/net/ipv4/ip_forward: Permission deniedthen I try to get write privilege, also failed.
$ sudo chmod a+wx /proc/sys/net/ipv4/ip_forward
chmod: changing permissions of `/proc/sys/net/ipv4/ip_forward': Operation not permittedwhat is wrong?
34 Answers
You are trying to change the kernel values. Be sure of what you are doing.
Okay here is how you can change the value of ip_forward with root privilege (sudo -i)
- First check the value of ip_forward using command:
sysctl -a | grep ip_forward - Now using
sysctl -w <parameter=value>you change the value of ip_forward:sysctl -w ip_forward=1
- Make these changes to reflect in kernel using:
sysctl -p - Do the first step once again to check the values.
I recommend you to go through the man page of sysctl
1Edit file /etc/sysctl.conf and edit this section:
#net.ipv4.ip_forward = 0to
net.ipv4.ip_forward = 1 (remove # sign)then type command: sysctl -p
Last, reboot your system.
To change this kernel value in kernel version 4.4+ (Ubuntu 16.04+), you need to do the following:
sudo sysctl -w net.ipv4.ip_forward=1 Terminal:
sudo nano /proc/sys/net/ipv4 ip_forwardafter change it, save with CTRL + O and exit with CTRL + X
1