Povolenie presmerovania IP pre IPv4 v Debiane GNU/Linux

Enabling Ip Forwarding



Nastavenie počítačovej siete môže byť niekedy náročné. Povolenie presmerovania IPv4 na počítači so systémom Linux je našťastie pomerne jednoduchá úloha.

Termín IP Forwarding popisuje odosielanie sieťového balíka z jedného sieťového rozhrania do druhého na rovnakom zariadení. Mala by byť povolená, ak chcete, aby váš systém fungoval ako smerovač, ktorý prenáša pakety IP z jednej siete do druhej.







V systéme Linux má jadro Linuxu premennú s názvom `ip_forward`, ktorá túto hodnotu zachováva. Je prístupný pomocou súboru `/proc/sys/net/ipv4/ip_forward`. Predvolená hodnota je 0, čo znamená žiadne presmerovanie IP, pretože bežný používateľ, ktorý prevádzkuje jeden počítač bez ďalších komponentov, to spravidla nepotrebuje. Naproti tomu pre smerovače, brány a servery VPN je to celkom zásadná funkcia.



Ďalej vám vysvetlíme, ako dočasne a natrvalo povoliť presmerovanie IP.



Preposielanie IP ako dočasné riešenie

Aby ste mohli tento parameter jadra povoliť za behu, máte dve možnosti. Možnosť 1 jednoducho uloží hodnotu 1 do vyššie uvedenej premennej takto:





#zahodil 1 > /percent/sys/čistý/ipv4/ip_forward

Možnosť 2 používa príkaz `sysctl`, ktorý vám umožňuje nastaviť rôzne parametre jadra aj za behu [2]. Ako administratívny používateľ spustite nasledujúci príkaz:

#sysctl-vnet.ipv4.ip_forward =1

Majte na pamäti, že toto nastavenie sa okamžite zmení. Výsledok tiež nebude zachovaný po reštarte systému.



Na uloženú hodnotu sa môžete opýtať nasledovne:

#kat /percent/sys/čistý/ipv4/ip_forward

Tento príkaz vráti hodnotu 0 pre žiadne presmerovanie IP a hodnotu 1 pre povolené presmerovanie IP. Alternatívne vám použitie `sysctl` tiež ukáže aktuálny stav:

# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward =0
#

Povolenie natrvalo presmerovania IP

Aby sa to dosiahlo, je potrebné vykonať ďalšie kroky. Najprv upravte súbor `/etc/sysctl.conf`. Vyhľadajte riadok obsahujúci položku # net.ipv4.ip_forward = 1 a odstráňte znak # na začiatku riadka.

Potom súbor uložte a spustením príkazu `sysctl` povolte upravené nastavenia:

#sysctl-p /atď/sysctl.conf

Voľba `-p` je skratka pre` -load` a vyžaduje názov, podľa ktorého sa má konfiguračný súbor riadiť.

Potom reštartujte systém súborov proc, ktorý poskytuje informácie o stave jadra Linuxu, pomocou nasledujúceho príkazu:

#/atď/init.d/procps reštart

Asi v roku 2015 bol názov súboru skrátený z `procps.sh` na` procps`. V starších systémoch Debian je teda skript, ktorý musíte vyvolať, pomenovaný `procps.sh`.

Obchodovanie so systémom Systemd

Ďalšia prekážka nastala s vydaním Systemdu verzie 221. Preposielanie IP je v predvolenom nastavení zakázané a povolenie vyžaduje, aby tam bol ďalší súbor. Ak tam ešte nie je, stačí ho pridať. Názov súboru pozostáva z názvu sieťového rozhrania, za ktorým nasleduje prípona `.network`, napríklad` eth0.network` pre sieťové rozhranie `/dev/eth0`. Ako sa uvádza v dokumentácii [4], ostatné rozšírenia sa ignorujú.

Nasledujúci útržok kódu ukazuje nastavenie sieťového rozhrania `/dev/tun0`. Obsahuje dve sekcie - „Zhoda“ a „Sieť“. V sekcii Zhoda definujte názov sieťového rozhrania a v sekcii siete povoľte presmerovanie IP.

# cat /etc/systemd/network/tun0.network
[Zápas]
názov= tun0
[Sieť]
IPForward= ipv4

Záver

Aktivácia presmerovania IP pre IPv4 nie je žiadnou záhadou. Len pár krokov a vy ste tam. Šťastné hackovanie!

Odkazy a referencie

* [1] Nastavenie Systemd-Networkd, Debian Wiki
* [2] Juergen Haas: Naučte sa príkaz Linux sysctl
* [3] Systemd News pre verziu 221
* [4] Dokumentácia pre Systemd