Apesar do método mais utilizado para ativar o ip forward ser este aqui :
echo "1" > /proc/sys/net/ipv4/ip_forward
E lógico, sempre funcionar quando colocado no rc.local em máquinas baseadas no Red Hat e Slackware
, não é o método mais bonito, digamos assim.
Como todos sabemos, há um parâmetro do sysctl para isto, que manipula diretamente esta variável do kernel.
Sendo assim é só configurar o parâmetro em negrito no seu sysctl.conf ( o exemplo abaixo é de um CentOS ):
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
Se quiser aplicar automaticamente isto no seu sistema, é só usar :
# sysctl -p
E pronto, o ip forward está ativado no seu sistema operacional. De um jeito mais bonito, não ? :-)