Omogočanje posredovanja IP za IPv4 v Debian GNU/Linux

Enabling Ip Forwarding



Vzpostavitev računalniškega omrežja je včasih lahko težavna. Omogočanje posredovanja IPv4 na računalniku Linux je na srečo precej preprosta naloga.

Izraz posredovanje IP opisuje pošiljanje omrežnega paketa iz enega omrežnega vmesnika v drugega v isti napravi. Omogočiti ga je treba, če želite, da vaš sistem deluje kot usmerjevalnik, ki prenaša pakete IP iz enega omrežja v drugo.







V sistemu Linux ima jedro Linuxa spremenljivko z imenom 'ip_forward', ki ohranja to vrednost. Dostopna je z datoteko `/proc/sys/net/ipv4/ip_forward`. Privzeta vrednost je 0, kar pomeni, da ni posredovanja IP, ker običajni uporabnik, ki uporablja en sam računalnik brez dodatnih komponent, tega običajno ne potrebuje. Nasprotno pa je za usmerjevalnike, prehode in strežnike VPN precej bistvena lastnost.



Nato vam bomo razložili, kako začasno in trajno omogočiti posredovanje IP.



Posredovanje IP kot začasna rešitev

Če želite ta parameter jedra omogočiti na hitro, imate dve možnosti. Možnost 1 preprosto shrani vrednost 1 v spremenljivko od zgoraj, kot sledi:





#vrgel ven 1 > /odstotkov/sys/mreža/ipv4/ip_forward

Možnost 2 uporablja ukaz `sysctl`, ki vam omogoča, da tudi med izvajanjem prilagodite različne parametre jedra [2]. Kot skrbniški uporabnik zaženite naslednji ukaz:

#sysctl-vnet.ipv4.ip_forward =1

Upoštevajte, da se ta nastavitev takoj spremeni. Tudi rezultat ne bo ohranjen po ponovnem zagonu sistema.



Shranjeno vrednost lahko povprašate na naslednji način:

#mačka /odstotkov/sys/mreža/ipv4/ip_forward

Ta ukaz vrne vrednost 0 za brez posredovanja IP in vrednost 1 za omogočeno posredovanje IP. Druga možnost je, da uporaba `sysctl` prikaže tudi trenutno stanje:

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

Omogočanje trajnega posredovanja IP

Da bi to dosegli, je treba narediti še nekaj drugih korakov. Najprej uredite datoteko `/etc/sysctl.conf`. Poiščite vrstico, ki vsebuje vnos # net.ipv4.ip_forward = 1, in odstranite # na začetku vrstice.

Nato shranite datoteko in zaženite ukaz `sysctl`, da omogočite prilagojene nastavitve:

#sysctl-str /itd/sysctl.conf

Možnost `-p` je okrajšava za` –load` in zahteva ime konfiguracijske datoteke, ki ji je treba slediti.

Nato znova zaženite datotečni sistem proc, ki ponuja informacije o stanju jedra Linuxa z naslednjim ukazom:

#/itd/init.d/procps znova zaženi

Približno leta 2015 je bilo ime datoteke skrajšano iz `procps.sh` v` procps`. Tako se namesto starejših sistemov Debian skript, ki ga morate priklicati, imenuje `procps.sh`.

Ukvarjanje s Systemd

Naslednja ovira je bila izdaja različice Systemd 221. Posredovanje IP je privzeto onemogočeno, za omogočanje pa je potrebna dodatna datoteka. Če ga še ni, ga samo dodajte. Ime datoteke je sestavljeno iz imena omrežnega vmesnika, ki mu sledi pripona `.network`, na primer` eth0.network` za omrežni vmesnik `/dev/eth0`. Kot je navedeno v dokumentaciji [4], se druge razširitve ne upoštevajo.

Naslednji delček kode prikazuje nastavitve za omrežni vmesnik `/dev/tun0`. Vsebuje dva razdelka - 'Ujemanje' in 'Omrežje'. V razdelku Ujemanje določite ime omrežnega vmesnika, v razdelku omrežje pa omogočite posredovanje IP.

# cat /etc/systemd/network/tun0.network
[Ujemanje]
Ime= tun0
[Omrežje]
IP naprej= ipv4

Zaključek

Aktiviranje posredovanja IP za IPv4 ni skrivnost. Le nekaj korakov in tu ste. Veselo hekiranje!

Povezave in reference

* [1] Nastavitev Systemd-Networkd, Debian Wiki
* [2] Juergen Haas: Naučite se ukaza Linux sysctl
* [3] Systemd News za različico 221
* [4] Dokumentacija za Systemd