Povolení přesměrování IP pro IPv4 v Debianu GNU/Linux

Enabling Ip Forwarding

Nastavení počítačové sítě může být někdy obtížné. Povolit přesměrování IPv4 na počítači se systémem Linux je naštěstí poměrně jednoduchý úkol.

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 =1

Mě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_forward

Tento 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_forward
net.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.conf

Volba `-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 restart

Asi 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