Habilitació del reenviament d'IP per a IPv4 a Debian GNU / Linux

Enabling Ip Forwarding



Configurar una xarxa d’ordinadors de vegades pot ser complicat. Habilitar el reenviament d'IPv4 en una màquina Linux és una tasca bastant senzilla, per sort.

El terme reenviament IP descriu l'enviament d'un paquet de xarxa d'una interfície de xarxa a una altra al mateix dispositiu. S'hauria d'activar quan vulgueu que el vostre sistema actuï com un encaminador que transfereix paquets IP d'una xarxa a una altra.







En un sistema Linux, el nucli Linux té una variable anomenada `ip_forward` que manté aquest valor. És accessible mitjançant el fitxer `/ proc / sys / net / ipv4 / ip_forward`. El valor per defecte és 0, cosa que significa que no hi ha cap reenviament d’IP, perquè un usuari normal que executa un equip únic sense components addicionals no en necessita generalment. En canvi, per als encaminadors, passarel·les i servidors VPN és una característica força essencial.



A continuació, us explicarem com habilitar el reenviament IP de manera temporal i permanent.



Reenviament d’IP com a solució temporal

Per habilitar aquest paràmetre del nucli a la marxa, teniu dues opcions. L'opció 1 simplement emmagatzema el valor d'1 a la variable des de la següent manera:





#trobo 1 > /per cent/sys/net/ipv4/ip_forward

L'opció 2 utilitza l'ordre `sysctl` que també us permet ajustar diferents paràmetres del nucli en temps d'execució [2]. Com a usuari administratiu, executeu l'ordre següent:

#sysctl-ennet.ipv4.ip_forward =1

Tingueu en compte que aquesta configuració es canvia a l'instant. A més, el resultat no es conservarà després de reiniciar el sistema.



Podeu consultar el valor emmagatzemat de la manera següent:

#gat /per cent/sys/net/ipv4/ip_forward

Aquesta ordre retorna un valor de 0 per a cap reenviament IP i un valor d'1 per al reenviament IP habilitat. Com a alternativa, fer servir `sysctl` també mostra l'estat actual:

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

Habilitació del reenviament IP permanent

Per aconseguir-ho, cal fer alguns altres passos. Primer, editeu el fitxer `/ etc / sysctl.conf`. Cerqueu una línia que contingui l'entrada # net.ipv4.ip_forward = 1 i traieu la # al principi de la línia.

A continuació, deseu el fitxer i executeu l'ordre `sysctl` per habilitar la configuració ajustada:

#sysctl-p /etc/sysctl.conf

L'opció `-p` és abreviatura de` –load` i requereix un nom per al fitxer de configuració que s'ha de seguir.

A continuació, reinicieu el sistema de fitxers proc que proporciona informació sobre l'estat del nucli Linux mitjançant l'ordre següent:

#/etc/init.d/procps reinicia

Cap al 2015, el nom del fitxer es va escurçar de `procps.sh` a` procps`. Per tant, en sistemes Debian per a persones grans, l’escript que heu d’invocar es diu 'procps.sh'.

Tractar amb Systemd

El següent obstacle es va produir amb la versió de Systemd versió 221. El reenviament IP està desactivat de manera predeterminada, i l'activació requereix un fitxer addicional. Si encara no hi és, només cal afegir-lo. El nom del fitxer consisteix en el nom de la interfície de xarxa seguit del sufix `.network`, per exemple` eth0.network` per a la interfície de xarxa `/ dev / eth0`. Tal com s’indica a la documentació [4], s’ignoren altres extensions.

El següent fragment de codi mostra la configuració de la interfície de xarxa `/ dev / tun0`. Conté dues seccions: 'Match' i 'Network'. A la secció Coincideix definiu el nom de la interfície de xarxa i, a la secció de xarxa, activeu el reenviament IP.

# cat /etc/systemd/network/tun0.network
[Partit]
Nom= tun0
[Xarxa]
IPForward= ipv4

Conclusió

Activar el reenviament d’IP per a IPv4 no és un misteri. Només hi ha uns quants passos i ja hi sou. Feliç pirateria!

Enllaços i referències

* [1] Configuració de Systemd-Networkd, Debian Wiki
* [2] Juergen Haas: Apreneu l'ordre Linux sysctl
* [3] Notícies de Systemd per a la versió 221
* [4] Documentació per a Systemd