Termín IP Forwarding popisuje odesílání síťového balíčku z jednoho síťového rozhraní do druhého na stejném zařízení. Mělo by být povoleno, pokud chcete, aby váš systém fungoval jako router, který přenáší IP pakety z jedné sítě do druhé.
V systému Linux má jádro Linuxu proměnnou s názvem `ip_forward`, která tuto hodnotu uchovává. Je přístupný pomocí souboru `/proc/sys/net/ipv4/ip_forward`. Výchozí hodnota je 0, což znamená žádné přesměrování IP, protože běžný uživatel, který provozuje jeden počítač bez dalších komponent, to obvykle nepotřebuje. Naproti tomu pro směrovače, brány a servery VPN je to zcela zásadní funkce.
Dále vám vysvětlíme, jak dočasně a trvale povolit přesměrování IP.
Předávání IP jako dočasné řešení
Chcete -li povolit tento parametr jádra za běhu, máte dvě možnosti. Možnost 1 jednoduše uloží hodnotu 1 do výše uvedené proměnné takto:
#vyhodil 1 > /procento/sys/síť/ipv4/ip_forward
Možnost 2 používá příkaz `sysctl`, který vám také umožňuje upravit různé parametry jádra za běhu [2]. Jako administrativní uživatel spusťte následující příkaz:
#sysctl-vnet.ipv4.ip_forward =1Mějte na paměti, že toto nastavení se okamžitě změní. Výsledek také nebude zachován po restartu systému.
Uloženou hodnotu můžete dotazovat následujícím způsobem:
#kočka /procento/sys/síť/ipv4/ip_forwardTento příkaz vrací hodnotu 0, pokud není povoleno přesměrování IP, a hodnotu 1, pokud je povoleno přesměrování IP. Alternativně vám použití `sysctl` také ukazuje aktuální stav:
# sysctl net.ipv4.ip_forwardnet.ipv4.ip_forward =0
#
Povolení trvalého přesměrování IP
Aby toho bylo dosaženo, je třeba provést několik dalších kroků. Nejprve upravte soubor `/etc/sysctl.conf`. Vyhledejte řádek obsahující položku # net.ipv4.ip_forward = 1 a odstraňte znak # na začátku řádku.
Potom soubor uložte a spusťte příkaz `sysctl`, abyste mohli povolit upravená nastavení:
#sysctl-p /atd/sysctl.confVolba `-p` je zkratka pro` –load` a vyžaduje název konfiguračního souboru, který je třeba dodržovat.
Dále restartujte systém souborů proc, který poskytuje informace o stavu jádra Linuxu, pomocí následujícího příkazu:
#/atd/init.d/procps restartAsi v roce 2015 byl název souboru zkrácen z `procps.sh` na` procps`. Na starších systémech Debianu je tedy skript, který musíte vyvolat, pojmenován `procps.sh`.
Řešení systému Systemd
Další překážka přišla s vydáním Systemdu verze 221. Přesměrování IP je ve výchozím nastavení zakázáno a povolení vyžaduje, aby tam byl další soubor. Pokud tam ještě není, stačí jej přidat. Název souboru se skládá z názvu síťového rozhraní, za nímž následuje přípona `.network`, například` eth0.network` pro síťové rozhraní `/dev/eth0`. Jak je uvedeno v dokumentaci [4], ostatní rozšíření jsou ignorována.
Následující úryvek kódu ukazuje nastavení síťového rozhraní `/dev/tun0`. Obsahuje dvě sekce - „Shoda“ a „Síť“. V sekci Shoda definujte název síťového rozhraní a v sekci Síť povolte přesměrování IP.
# cat /etc/systemd/network/tun0.network[Zápas]
název= tun0
[Síť]
IPForward= ipv4
Závěr
Aktivace přesměrování IP pro IPv4 není tajemstvím. Jen pár kroků a vy jste tam. Šťastné hackování!
Odkazy a reference
* [1] Nastavení Systemd-Networkd, Debian Wiki
* [2] Juergen Haas: Naučte se příkaz Linux sysctl
* [3] Systemd News pro verzi 221
* [4] Dokumentace pro Systemd