Terminas „IP persiuntimas“ apibūdina tinklo paketo siuntimą iš vienos tinklo sąsajos į kitą tame pačiame įrenginyje. Jis turėtų būti įjungtas, kai norite, kad jūsų sistema veiktų kaip maršrutizatorius, perduodantis IP paketus iš vieno tinklo į kitą.
„Linux“ sistemoje „Linux“ branduolys turi kintamąjį, pavadintą „ip_forward“, kuris išlaiko šią vertę. Tai galima pasiekti naudojant failą „/ proc / sys / net / ipv4 / ip_forward“. Numatytoji vertė yra 0, o tai reiškia, kad nėra IP persiuntimo, nes įprastam vartotojui, valdančiam vieną kompiuterį be papildomų komponentų, to nereikia. Priešingai, maršrutizatoriams, šliuzams ir VPN serveriams tai gana svarbi savybė.
Toliau paaiškinsime, kaip laikinai ir visam laikui įgalinti IP persiuntimą.
IP persiuntimas kaip laikinas sprendimas
Norėdami įgalinti šį branduolio parametrą skriejant, turite dvi galimybes. 1 parinktis paprasčiausiai įrašo 1 reikšmę į kintamąjį iš viršaus taip:
# echo 1> / proc / sys / net / ipv4 / ip_forward2 parinktyje naudojama komanda „sysctl“, kuri leidžia ir vykdymo metu koreguoti skirtingus branduolio parametrus [2]. Kaip administratoriaus vartotojas vykdykite šią komandą:
# sysctl -w tinklas.„ipv4“.„ip_forward“ = 1Atminkite, kad šis nustatymas iš karto pakeičiamas. Be to, rezultatas nebus išsaugotas perkraunant sistemą.
Užklausą apie saugomą vertę galite pateikti taip:
# cat / proc / sys / net / ipv4 / ip_forwardŠi komanda grąžina 0, jei nėra IP persiuntimo, ir 1 reikšmę, kai įjungtas IP persiuntimas. „Sysctl“ naudojimas taip pat parodo dabartinę būseną:
# sysctl tinklas.„ipv4“.„ip_forward“neto.„ipv4“.„ip_forward“ = 0
#
Įgalinti IP persiuntimą visam laikui
Norint tai pasiekti, reikia atlikti kitus veiksmus. Pirmiausia redaguokite failą '/ etc / sysctl.konf. “. Ieškokite eilutės su įrašu „#net.„ipv4“.ip_forward = 1 “ir pašalinkite # eilutės pradžioje.
Tada išsaugokite failą ir paleiskite komandą „sysctl“, kad įgalintumėte pakoreguotus nustatymus:
# sysctl -p / etc / sysctl.konfParinktis „-p“ reiškia „-load“ ir reikalauja, kad būtų laikomasi konfigūracijos failo.
Tada iš naujo paleiskite proc failų sistemą, teikiančią informaciją apie „Linux“ branduolio būseną, naudodami šią komandą:
# / etc / init.„d / procps“ paleidžiamas iš naujoMaždaug 2015 m. Failo pavadinimas buvo sutrumpintas iš „procps“.sh 'į' procps '. Taigi senesnėse „Debian“ sistemose scenarijus, kurį turite naudoti, yra vadinamas „procps“.sh ', o ne.
Darbas su Systemd
Kita kliūtis kilo išleidus „Systemd“ 221 versiją. IP persiuntimas pagal numatytuosius nustatymus yra išjungtas, o įgalinant reikia turėti papildomą failą. Jei jo dar nėra, tiesiog pridėkite jį. Failo pavadinimą sudaro tinklo sąsajos pavadinimas, po kurio nurodoma priesaga '.tinklas “, pvz.,„ eth0.tinklas „tinklo sąsajai“ / dev / eth0 “. Kaip teigiama dokumentuose [4], kiti plėtiniai nepaisomi.
Šis kodo fragmentas rodo tinklo sąsajos „/ dev / tun0“ sąranką. Ją sudaro du skyriai - „Rungtynės“ ir „Tinklas“. Skyriuje „Rungtynės“ apibrėžkite tinklo sąsajos pavadinimą, o tinkle - įgalinkite „IP“ persiuntimą.
# cat / etc / systemd / network / tun0.tinklo[Rungtis]
Pavadinimas = tun0
[Tinklas]
IPForward = ipv4
Išvada
Suaktyvinti IP persiuntimą naudojant „IPv4“ nėra paslaptis. Vos keli žingsniai, ir jūs esate ten. Laimingo įsilaužimo!
Nuorodos ir nuorodos
* [1] „Systemd-Networkd“, „Debian Wiki“ nustatymas
* [2] Juergenas Haasas: sužinokite komandą „Linux sysctl“
* [3] „Systemd“ naujienos, skirtos 221 versijai
* [4] Systemd dokumentacija