By default any modern Linux distributions will have IP Forwarding
disabled. This is normally a good idea, as most peoples will not need IP
Forwarding, but if we are setting up a Linux router/gateway or maybe a
VPN server (pptp or ipsec) or just a plain dial-in server then we will
need to enable forwarding. This can be done in several ways that I will
present bellow.
Check if IP Forwarding is enabled
We have to query the sysctl kernel value net.ipv4.ip_forward to see if forwarding is enabled or not:
Using sysctl:
Enable IP Forwarding on the fly
As with any sysctl kernel parameters we can change the value of net.ipv4.ip_forward on the fly (without rebooting the system):
Permanent setting using /etc/sysctl.conf
If we want to make this configuration permanent the best way to do it is using the file /etc/sysctl.conf where we can add a line containing net.ipv4.ip_forward = 1
To enable the changes made in sysctl.conf you will need to run the command:
Check if IP Forwarding is enabled
We have to query the sysctl kernel value net.ipv4.ip_forward to see if forwarding is enabled or not:
Using sysctl:
sysctl net.ipv4.ip_forwardor just checking out the value in the /proc system:
net.ipv4.ip_forward = 0
cat /proc/sys/net/ipv4/ip_forwardAs we can see in both the above examples this was disabled (as show by the value 0).
0
Enable IP Forwarding on the fly
As with any sysctl kernel parameters we can change the value of net.ipv4.ip_forward on the fly (without rebooting the system):
sysctl -w net.ipv4.ip_forward=1or
echo 1 > /proc/sys/net/ipv4/ip_forwardthe setting is changed instantly; the result will not be preserved after rebooting the system.
Permanent setting using /etc/sysctl.conf
If we want to make this configuration permanent the best way to do it is using the file /etc/sysctl.conf where we can add a line containing net.ipv4.ip_forward = 1
/etc/sysctl.conf:if you already have an entry net.ipv4.ip_forward with the value 0 you can change that 1.
net.ipv4.ip_forward = 1
To enable the changes made in sysctl.conf you will need to run the command:
sysctl -p /etc/sysctl.confOn RedHat based systems this is also enabled when restarting the network service:
service network restart
No comments:
Post a Comment