Próbuję skonfigurować jądro mojego serwera Linux, aby nie działał jako router, dla większego bezpieczeństwa. Nie chodzi o to, aby przekazywać pakiety.
Znalazłem to:
echo 0 > /proc/sys/net/ipv4/ip_forward
i to:
sysctl -w net.ipv4.ip_forward=0
Oczywiście obaj robią to samo, ale nie jestem pewien, jaka jest prawdziwa różnica między nimi. Chciałbym również, aby w miarę możliwości efekty były trwałe.
linux
networking
security
kernel
John M.
źródło
źródło
Odpowiedzi:
Nie ma różnicy.
sysctl
Poleceń w systemie Linux pisze bezpośrednio do plików/proc/sys
. Ten fragment kodu źródłowego dla tegosysctl
dowodzi:Jeśli chcesz czegoś trwałego, musisz edytować
/etc/sysctl.conf
lub dodać plik w/etc/sysctl.d
(np./etc/sysctl.d/99-disable-ip-forwarding.conf
) Zawierający:Nawiasem mówiąc, niektóre dystrybucje już domyślnie wyłączają to jawnie . Na przykład RHEL <= 6 lub Fedora <= 15 mają to w
/etc/sysctl.conf
:Fedora 20 już go nie wyłącza. Nie ma ustawienia przekazywania w
/etc/sysctl.conf
,/etc/sysctl.d/
lub/usr/lib/sysctl.d/
.źródło