IP pārsūtīšanas iespējošana IPv4 Debian GNU/Linux

Enabling Ip Forwarding



Datortīkla iestatīšana dažreiz var būt sarežģīta. Par laimi, IPv4 pārsūtīšanas iespējošana Linux datorā ir diezgan vienkāršs uzdevums.

Termins IP pārsūtīšana apraksta tīkla paketes nosūtīšanu no vienas tīkla saskarnes uz citu tajā pašā ierīcē. Tam jābūt iespējotam, ja vēlaties, lai jūsu sistēma darbotos kā maršrutētājs, kas pārsūta IP paketes no viena tīkla uz citu.







Linux sistēmā Linux kodolam ir mainīgais ar nosaukumu 'ip_forward', kas saglabā šo vērtību. Tam var piekļūt, izmantojot failu '/proc/sys/net/ipv4/ip_forward'. Noklusējuma vērtība ir 0, kas nozīmē, ka nav IP pārsūtīšanas, jo parastam lietotājam, kurš vada vienu datoru bez papildu komponentiem, tas parasti nav vajadzīgs. Turpretī maršrutētājiem, vārtejām un VPN serveriem tā ir diezgan būtiska iezīme.



Tālāk mēs jums izskaidrosim, kā īslaicīgi un pastāvīgi iespējot IP pārsūtīšanu.



IP pārsūtīšana kā pagaidu risinājums

Lai iespējotu šo kodola parametru, jums ir divas iespējas. 1. opcija vienkārši saglabā vērtību 1 mainīgajā no augšas šādi:





#izmest ārā 1 > /procenti/sys/tīkls/ipv4/ip_forward

2. variantā tiek izmantota komanda `sysctl`, kas ļauj arī izpildes laikā pielāgot dažādus kodola parametrus [2]. Kā administratora lietotājs izpildiet šādu komandu:

#sysctl-iekšānet.ipv4.ip_forward =1

Ņemiet vērā, ka šis iestatījums tiek mainīts uzreiz. Rezultāts netiks saglabāts arī pēc sistēmas pārstartēšanas.



Jūs varat vaicāt saglabāto vērtību šādi:

#kaķis /procenti/sys/tīkls/ipv4/ip_forward

Šī komanda atgriež vērtību 0, ja nav IP pārsūtīšanas, un vērtību 1, ja ir iespējota IP pārsūtīšana. Kā alternatīva, izmantojot 'sysctl', tiek parādīts arī pašreizējais statuss:

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

Pastāvīga IP pārsūtīšanas iespējošana

Lai to panāktu, ir jāveic daži citi pasākumi. Vispirms rediģējiet failu '/etc/sysctl.conf'. Meklējiet rindu, kurā ir ieraksts # net.ipv4.ip_forward = 1, un noņemiet # rindiņas sākumā.

Pēc tam saglabājiet failu un palaidiet komandu 'sysctl', lai iespējotu pielāgotos iestatījumus:

#sysctl-lpp /utt/sysctl.conf

Opcija '-p' ir saīsinājums no '-load', un tai ir nepieciešams konfigurācijas faila nosaukums.

Pēc tam restartējiet proc failu sistēmu, kas sniedz informāciju par Linux kodola statusu, izmantojot šādu komandu:

#/utt/init.d/procps restart

Aptuveni 2015. gadā faila nosaukums tika saīsināts no 'procps.sh' uz 'procps'. Tātad vecāka gadagājuma Debian sistēmās skripts, kas jums jāizsauc, tiek nosaukts kā procps.sh.

Darījumi ar Systemd

Nākamais šķērslis bija Systemd 221. versijas izlaišana. IP pārsūtīšana pēc noklusējuma ir atspējota, un, lai to iespējotu, ir nepieciešams papildu fails. Ja tā vēl nav, vienkārši pievienojiet to. Faila nosaukums sastāv no tīkla saskarnes nosaukuma, kam seko sufikss '.network', piemēram, 'eth0.network' tīkla saskarnei '/dev/eth0'. Kā norādīts dokumentācijā [4], citi paplašinājumi netiek ņemti vērā.

Šis koda fragments parāda tīkla interfeisa iestatījumus '/dev/tun0'. Tajā ir divas sadaļas - 'Match' un 'Network'. Sadaļā Atbilstība definējiet tīkla saskarnes nosaukumu un tīkla sadaļā iespējojiet IP pārsūtīšanu.

# cat /etc/systemd/network/tun0.network
[Saskaņot]
Vārds= tun0
[Tīkls]
IPPārsūtīt= ipv4

Secinājums

IP pārsūtīšanas aktivizēšana IPv4 nav noslēpums. Tikai daži soļi, un jūs esat tur. Laimīgu hakeru!

Saites un atsauces

* [1] Systemd-Networkd, Debian Wiki iestatīšana
* [2] Juergens Hāss: Uzziniet Linux sysctl komandu
* [3] Systemd News versijai 221
* [4] Systemd dokumentācija