A server has two network interfaces: eth0 (10.0.0.10/24) and eth1 (192.168.1.10/24). The server needs to act as a router for a subnet 172.16.0.0/24, forwarding packets between it and the 10.0.0.0/24 network. Which sysctl parameter must be set to a value of 1 to enable IP forwarding?
This is the standard sysctl parameter to enable IP forwarding.
Why this answer
Option D is correct because `net.ipv4.ip_forward` is the primary sysctl parameter that controls IP forwarding at the kernel level on Linux systems. Setting it to 1 enables the kernel to forward packets between network interfaces, which is essential for the server to act as a router between the 172.16.0.0/24 and 10.0.0.0/24 subnets.
Exam trap
The trap here is that candidates may confuse the valid `net.ipv4.ip_forward` with the similarly named but non-existent `net.ipv4.conf.all.forwarding`, or mistakenly think that forwarding is controlled at the transport layer via a TCP-specific parameter.
How to eliminate wrong answers
Option A is wrong because `net.ipv4.conf.all.forwarding` is not a valid sysctl parameter; the correct parameter for per-interface or all-interface forwarding control is `net.ipv4.conf.all.forwarding` does not exist, and the proper parameter for enabling forwarding on all interfaces is `net.ipv4.conf.all.forwarding` is actually a valid parameter but it is an alias for `net.ipv4.ip_forward` in some kernel versions, however the standard and most commonly tested parameter is `net.ipv4.ip_forward`. Option B is wrong because `net.core.forwarding` is not a valid sysctl parameter; the `net.core` namespace deals with core networking parameters like `net.core.rmem_default` and `net.core.wmem_max`, not IP forwarding. Option C is wrong because `net.ipv4.tcp_forwarding` is not a valid sysctl parameter; TCP forwarding is not a kernel-level concept, and IP forwarding operates at the network layer (Layer 3), not the transport layer (Layer 4).