Pojem IP Forwarding označuje zasielanie 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á udržuje túto hodnotu. Je prístupný pomocou súboru „/ proc / sys / net / ipv4 / ip_forward“. Predvolená hodnota je 0, čo znamená, že žiadne presmerovanie IP, pretože bežný používateľ, ktorý beží na jednom počítači bez ďalších komponentov, to nepotrebuje, zvyčajne. Naproti tomu pre smerovače, brány a servery VPN je to dosť podstatná vlastnosť.
Ďalej vám vysvetlíme, ako dočasne a natrvalo povoliť presmerovanie IP.
Preposielanie IP ako dočasné riešenie
Ak chcete tento parameter jadra povoliť za behu, máte dve možnosti. Možnosť 1 jednoducho uloží hodnotu 1 do premennej zhora takto:
# echo 1> / proc / sys / net / ipv4 / ip_forwardMožnosť 2 používa príkaz 'sysctl', ktorý umožňuje upraviť rôzne parametre jadra aj za behu [2]. Ako administrátor spustite nasledujúci príkaz:
# sysctl -w net.ipv4.ip_forward = 1Nezabudnite, že toto nastavenie sa okamžite zmení. Výsledok sa tiež nezachová po reštarte systému.
Uloženú hodnotu môžete dopytovať takto:
# cat / proc / sys / net / ipv4 / ip_forwardTento 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_vpredsieť.ipv4.ip_forward = 0
#
Trvalé povolenie preposielania IP
Na dosiahnutie tohto cieľa je potrebné urobiť niekoľko ďalších krokov. Najskôr upravte súbor '/ etc / sysctl.conf '. Vyhľadajte riadok obsahujúci položku „#net.ipv4.ip_forward = 1 ”a odstráňte # na začiatku riadku.
Potom súbor uložte a spustením príkazu „sysctl“ povolte upravené nastavenia:
# sysctl -p / etc / sysctl.konfMožnosť „-p“ je skratka pre „-load“ a vyžaduje, aby sa sledoval názov konfiguračného súboru.
Ďalej reštartujte súborový systém proc, ktorý poskytuje informácie o stave jadra Linuxu, pomocou nasledujúceho príkazu:
# / etc / init.d / procps reštartAsi v roku 2015 bol názov súboru skrátený z „procps“.sh 'to' procps '. Takže na starších systémoch Debianu je skript, ktorý musíte vyvolať, pomenovaný 'procps.namiesto toho.
Zaoberanie sa Systemd
Ďalšia prekážka prišla s vydaním Systemd verzie 221. Preposielanie IP je predvolene 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 '.sieť “, napríklad„ eth0.sieť „pre sieťové rozhranie“ / dev / eth0 “. Ako je uvedené v dokumentácii [4], ostatné rozšírenia sú ignorované.
Nasledujúci úryvok kódu zobrazuje nastavenie sieťového rozhrania „/ dev / tun0“. Obsahuje dve časti - „Zhoda“ a „Sieť“. V časti Zhoda definujte názov sieťového rozhrania a v časti Sieť povoľte IP Forwarding.
# cat / etc / systemd / network / tun0.sieť[Zápas]
Názov = tun0
[Sieť]
IPForward = ipv4
Záver
Aktivácia preposielania IP pre IPv4 nie je záhadou. Stačí pár krokov a sú tu. Šť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