Aktivering av IP-videresending for IPv4 i Debian GNU/Linux

Enabling Ip Forwarding



Noen ganger kan det være vanskelig å sette opp et datanettverk. Å aktivere IPv4 -videresending på en Linux -maskin er en ganske enkel oppgave, heldigvis.

Begrepet IP Forwarding beskriver sending av en nettverkspakke fra ett nettverksgrensesnitt til et annet på samme enhet. Det bør være aktivert når du vil at systemet skal fungere som en ruter som overfører IP -pakker fra ett nettverk til et annet.







På et Linux -system har Linux -kjernen en variabel med navnet 'ip_forward' som beholder denne verdien. Den er tilgjengelig ved hjelp av filen `/proc/sys/net/ipv4/ip_forward`. Standardverdien er 0, noe som betyr ingen IP -videresending, fordi en vanlig bruker som kjører en enkelt datamaskin uten ytterligere komponenter vanligvis ikke trenger det. I kontrast, for rutere, gateways og VPN -servere er det en ganske vesentlig funksjon.



Deretter vil vi forklare deg hvordan du aktiverer IP -videresending midlertidig og permanent.



Videresending av IP som en midlertidig løsning

For å aktivere denne kjerneparameteren på farten har du to alternativer. Alternativ 1 lagrer ganske enkelt verdien av 1 i variabelen ovenfra som følger:





#kastet ut 1 > /prosent/sys/nett/ipv4/ip_forward

Alternativ 2 bruker kommandoen 'sysctl' som lar deg justere forskjellige kjerneparametere også under kjøretid [2]. Som administrativ bruker kjører du følgende kommando:

#sysctl-inet.ipv4.ip_forward =1

Husk at denne innstillingen endres umiddelbart. Resultatet blir heller ikke bevart etter omstart av systemet.



Du kan spørre den lagrede verdien på følgende måte:

#katt /prosent/sys/nett/ipv4/ip_forward

Denne kommandoen returnerer verdien 0 for ingen IP -videresending, og verdien 1 for IP -videresending aktivert. Som et alternativ viser bruk av 'sysctl' deg også gjeldende status:

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

Aktiverer IP -videresending permanent

For å oppnå dette må noen andre trinn gjøres. Rediger først filen `/etc/sysctl.conf`. Søk etter en linje som inneholder oppføringen # net.ipv4.ip_forward = 1, og fjern # i begynnelsen av linjen.

Lagre deretter filen, og kjør kommandoen `sysctl` for å aktivere de justerte innstillingene:

#sysctl-s /etc/sysctl.conf

Alternativet '-p' er forkortelse for '–load', og krever et navn for konfigurasjonsfilen som skal følges.

Deretter starter du proc -filsystemet på nytt som gir informasjon om statusen til Linux -kjernen ved å bruke følgende kommando:

#/etc/init.d/rekvirerer omstart

Omtrent 2015 ble filnavnet forkortet fra `procps.sh` til` procps`. Så på eldre Debian -systemer heter manuset du må påberope deg 'procps.sh' i stedet.

Håndterer Systemd

Den neste hindringen kom med utgivelsen av Systemd versjon 221. IP -videresending er deaktivert som standard, og aktivering krever at en ekstra fil er der. Hvis den ikke er der ennå, er det bare å legge den til. Filnavnet består av navnet på nettverksgrensesnittet etterfulgt av suffikset `.network`, for eksempel` eth0.network` for nettverksgrensesnittet `/dev/eth0`. Som det fremgår av dokumentasjonen [4], ignoreres andre utvidelser.

Følgende kodebit viser oppsettet for nettverksgrensesnittet '/dev/tun0'. Den inneholder to seksjoner - 'Match' og 'Nettverk'. I Match -delen definerer du navnet på nettverksgrensesnittet, og i nettverksdelen aktiverer du IP -videresending.

# cat /etc/systemd/network/tun0.network
[Kamp]
Navn= tun0
[Nettverk]
IPForward= ipv4

Konklusjon

Aktivering av IP -videresending for IPv4 er ikke et mysterium. Bare noen få skritt, og du er der. God hacking!

Lenker og referanser

* [1] Sette opp Systemd-Networkd, Debian Wiki
* [2] Juergen Haas: Lær Linux sysctl -kommandoen
* [3] Systemd News for versjon 221
* [4] Dokumentasjon for Systemd