Sąvoka 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į pavadinimu „ip_forward“, kuris išsaugo šią vertę. Jis pasiekiamas naudojant failą „/proc/sys/net/ipv4/ip_forward“. Numatytoji reikšmė yra 0, o tai reiškia, kad nėra IP persiuntimo, nes paprastam vartotojui, valdančiam vieną kompiuterį be papildomų komponentų, paprastai to nereikia. Priešingai, maršrutizatoriams, šliuzams ir VPN serveriams tai yra esminė savybė.
Toliau paaiškinsime, kaip laikinai ir visam laikui įjungti IP persiuntimą.
IP persiuntimas kaip laikinas sprendimas
Norėdami įjungti šį branduolio parametrą, turite dvi parinktis. 1 parinktis tiesiog išsaugo 1 reikšmę kintamajame iš viršaus taip:
#išmetė 1 > /proc/sys/tinklas/ipv4/ip_forward
2 parinktis naudoja komandą `sysctl`, kuri leidžia pakoreguoti ir skirtingus branduolio parametrus vykdymo metu [2]. Kaip administratorius, paleiskite šią komandą:
#sysctl-įnet.ipv4.ip_forward =1Atminkite, kad šis nustatymas iš karto keičiamas. Be to, rezultatas nebus išsaugotas iš naujo paleidus sistemą.
Galite užklausti išsaugotos vertės taip:
#katė /proc/sys/tinklas/ipv4/ip_forwardŠi komanda grąžina 0 reikšmę, jei nėra IP persiuntimo, ir 1, jei įgalintas IP persiuntimas. Kaip alternatyva, naudojant „sysctl“ taip pat rodoma dabartinė būsena:
# sysctl net.ipv4.ip_forwardnet.ipv4.ip_forward =0
#
Nuolatinis IP persiuntimo įgalinimas
Norint tai pasiekti, reikia atlikti keletą kitų veiksmų. Pirmiausia redaguokite failą „/etc/sysctl.conf“. Ieškokite eilutės, kurioje yra įrašas # net.ipv4.ip_forward = 1, ir pašalinkite # eilutės pradžioje.
Tada išsaugokite failą ir paleiskite komandą „sysctl“, kad įgalintumėte koreguotus nustatymus:
#sysctl-p /ir kt/sysctl.confParinktis „-p“ sutrumpina „–load“ ir reikalauja, kad būtų laikomasi konfigūracijos failo.
Tada paleiskite iš naujo „proc“ failų sistemą, kurioje pateikiama informacija apie „Linux“ branduolio būseną, naudodami šią komandą:
#/ir kt/init.d/procps paleisti iš naujoMaždaug 2015 m. Failo pavadinimas buvo sutrumpintas nuo „procps.sh“ iki „procps“. Taigi, senesnėse „Debian“ sistemose scenarijus, kurį turite iškviesti, yra pavadintas „procps.sh“.
Darbas su Systemd
Kita kliūtis buvo išleista „Systemd“ 221. versija. IP persiuntimas pagal nutylėjimą yra išjungtas, todėl norint jį įjungti reikia papildomo failo. Jei jo dar nėra, tiesiog pridėkite. Failo pavadinimą sudaro tinklo sąsajos pavadinimas, po kurio eina priesaga „.network“, pvz., „Eth0.network“ tinklo sąsajai `/dev/eth0`. Kaip nurodyta dokumentuose [4], kiti plėtiniai ignoruojami.
Šis kodo fragmentas rodo tinklo sąsajos sąranką `/dev/tun0`. Jį sudaro du skyriai - „Rungtynės“ ir „Tinklas“. Skiltyje „Atitikti“ apibrėžkite tinklo sąsajos pavadinimą, o tinklo skiltyje įgalinkite IP persiuntimą.
# cat /etc/systemd/network/tun0.network[Rungtynės]
vardas= tun0
[Tinklas]
IPPersiųsti= ipv4
Išvada
IP persiuntimo aktyvinimas „IPv4“ nėra paslaptis. Vos keli žingsniai, ir jūs esate ten. Laimingas įsilaužimas!
Nuorodos ir nuorodos
* [1] „Systemd-Networkd“, „Debian Wiki“ sąranka
* [2] Juergenas Haasas: išmokite komandą „Linux sysctl“
* [3] „Systemd News“ 221 versijai
* [4] „Systemd“ dokumentacija