How to enable IP Forwarding in Linux

Photo of author

By rasho

IP forwarding also known as Internet routing is a process used to determine which path a packet or datagram can be sent. The process uses routing information to make decisions and is designed to send a packet over multiple networks.
Ideally, algorithms that are used for IP forwarding would take into account a packet/datagram’s length, the type of service specified in the datagram’s header, and the network load to determine the best path to send a packet to its intended destination. However, in general most routing software determines its route through a shortest path algorithm. More…

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 other service 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:

# sudo sysctl -a |grep ip_forward
Check if IP Forwarding is enabled
Check if IP Forwarding is enabled

Enable IP Forwarding:

To keep IP Forwarding enabled, you will have to edit /etc/sysctl.conf file using your favorite text editor.

# sudo nano /etc/sysctl.conf

You will find a line which says:

# net.ipv4.ip_forward = 1

You need to uncomment this line to enable IP Forwarding, so that it reads:

net.ipv4.ip_forward = 1
Enable IP forward permanently
Enable IP forward permanently

To load the settings that we made to /etc/sysctl.conf file, run the following command:

# sudo sysctl -p
Check IP forward
Load IP forward settings

That is all…

Leave a Comment