Information
The net.ipv4.ip_forward flag tells the system whether it can forward IPv4 packets or not.
More information about the kernel parameter configuration files, their location, and load preference is available in the "Configure Network Kernel Parameters" section overview.
Note:
- If this system is a router this recommendation is not applicable.
- If net.ipv4.conf.all.forwarding=0 and net.ipv4.conf.default.forwarding=0 are configured, this recommendation may be skipped.
Routing protocol daemons are typically used on routers to exchange network topology information with other routers. If this software is used when not required, system network information may be unnecessarily transmitted across the network.
Setting net.ipv4.ip_forward to 0 ensures that a system with multiple interfaces (for example, a hard proxy), will not be able to forward IPv4 packets.
Solution
- Run the following command to comment out net.ipv4.ip_forward lines returned by the audit procedure that are not net.ipv4.ip_forward = 0 :
# sed -ri '^\s*net.ipv4.ip_forward\s*=\s*1/s/^/#/g' "path/to/file/in/audit/filename"
Example:
# sed -ri '/^\s*net.ipv4.ip_forward\s*=\s*1/s/^/#/g' /etc/sysctl.d/99-sysctl.conf
- Create or edit a file in the /etc/sysctl.d/ directory ending in .conf and edit or add the following line:
net.ipv4.ip_forward = 0
Example:
# [ ! -d "/etc/sysctl.d/" ] && mkdir -p /etc/sysctl.d/
# printf '%s\n' "" "net.ipv4.ip_forward = 0" >> /etc/sysctl.d/60-ipv4_sysctl.conf
- Run the following command to load all sysctl configuration files:
# sysctl --system
Impact:
IP forwarding is required on systems configured to act as a router. If these parameters are disabled, the system will not be able to perform as a router.
Many Cloud Service Provider (CSP) hosted systems require IP forwarding to be enabled. If the system is running on a CSP platform, this requirement should be reviewed before disabling IP forwarding.