GNU/Linux >> Linux Esercitazione >  >> Linux

Come configurare Linux come router statico

In qualità di amministratore di rete, probabilmente sai quanto possono essere costosi i router.

Se stai configurando un'architettura di rete complessa, potresti aver bisogno di router Cisco o Netgear, poiché incorporano funzionalità avanzate per la gestione della rete.

Tuttavia, se prevedi di creare una piccola rete per la tua azienda, potrebbe esserci un'alternativa più economica.

E se potessi configurare un semplice server Linux in modo che funga da router statico ?

Utilizzando queste funzionalità, potresti avere un Raspberry Pi sul tuo sito, in grado di gestire il traffico su due o tre reti diverse.

In questo tutorial vedremo come puoi configurare un host Linux in modo che agisca come un semplice router statico.

Esamineremo anche le basi del subnetting per consentirti di comprendere le regole che hai messo in atto.

Prerequisiti

Per configurare un server Linux come router statico, è necessario disporre dei privilegi sudo sul proprio host.

Per verificarlo, puoi eseguire il comando “sudo” con l'opzione “-v”.

$ sudo -v

Se non disponi dei diritti sudo, puoi dare un'occhiata ai nostri tutorial su come diventare sudo su distribuzioni Debian o CentOS.

Ora che hai i privilegi sudo, ci sono essenzialmente tre passaggi per configurare il tuo router statico:

  • Devi avere una visione globale della tua architettura di rete :quali sono gli indirizzi IP di rete e quali reti dovranno comunicare tra loro;
  • Devi configurare la tabella di routing statica sul tuo router Linux;
  • Devi abilitare l'inoltro IP affinché i pacchetti scorrano lungo il router.

È un programma piuttosto lungo, quindi senza ulteriori indugi, scopriamo l'architettura di rete e quali sono i nostri indirizzi IP di rete.

Capire l'architettura di rete

Per semplicità, configureremo un semplice router statico tra due reti.

Per determinare gli indirizzi IP di rete, scegliamo due host in ciascuna rete:192.168.200.2/24 e 192.168.190.2/24.

I due host non appartengono alla stessa sottorete:di conseguenza, non sono in grado di comunicare direttamente.

Data la netmask del primo host, siamo in grado di determinare che la prima rete ha un indirizzo IP di 192.168.200.0/24.

Allo stesso modo, la seconda rete ha un indirizzo IP di 192.168.190.0/24.

Utilizzando queste informazioni, saremo in grado di configurare le interfacce di rete sul nostro router Linux.

Configurazione delle interfacce di rete del router

Per poter instradare i pacchetti da una rete all'altra, devi disporre di due interfacce di rete:una nella prima rete e un'altra nella seconda rete.

Per semplificare il tutorial, supponiamo che entrambi gli host utilizzino il router come gateway predefinito per le rispettive reti.

Ciò significa che il primo host sta contattando il router sul 192.168.200.1/24 L'indirizzo IP e il secondo host stanno contattando il router sul 192.168.190.1/24 Indirizzo IP.

Prima di tutto, devi identificare le interfacce di rete utilizzate per il routing

$ ip link show

Su questo host abbiamo due interfacce di rete denominate "enp0s3" e "enp0s8".

Nota:potresti dover annotare quei nomi poiché dovrai usarli nella sezione successiva.

Ora che hai i nomi delle tue interfacce di rete, configurerai il tuo router con indirizzi IP statici.

Configurazione dell'indirizzo IP statico su Debian

Se utilizzi Debian o Ubuntu, vai su /etc/network/interfaces file e aggiungi le tue due informazioni sull'interfaccia di rete al suo interno.

$ sudo nano /etc/network/interfaces

# Defining the first interface
auto <interface_name>
iface <interface_name> inet static
address 192.168.190.1
netmask 255.255.255.0

# Defining the second interface
auto <interface_name>
iface <interface_name> inet static
address 192.168.200.1
netmask 255.255.255.0

Nota :non dimenticare di aggiungere la direttiva "auto", altrimenti le tue interfacce non verranno sollevate all'avvio.

Salva il file e riavvia il servizio di rete per applicare le modifiche.

$ sudo systemctl restart networking.service

$ sudo systemctl status networking.service

In questo caso, non stiamo usando il NetworkManager:stiamo gestendo le interfacce usando l'utility ifupdown (più o meno come nelle vecchie distribuzioni).

A questo punto le tue interfacce dovrebbero essere attive e funzionanti, puoi verificarle eseguendo il comando "ip" con l'opzione "a".

Îse le tue interfacce non sono in esecuzione o sono contrassegnate come "GIÙ", puoi richiamarle eseguendo il comando "ifup".

$ ifup <interface_name>

Configurazione dell'indirizzo IP statico su CentOS

Per configurare il tuo host CentOS con un indirizzo IP statico, vai alla directory "/etc/sysconfig/network-scripts" e crea due file distinti per le tue interfacce di rete.

$ touch ifcfg-enp0s3 && touch ifcfg-enp0s8

Per configurare un indirizzo IP statico, puoi aggiungere le seguenti informazioni nel tuo file.

# Content of enp0s3

BOOTPROTO="static"
IPADDR=192.168.200.1
NETMASK=255.255.255.0
NAME="enp0s3"
ONBOOT="yes"

# Content of enp0s8
BOOTPROTO="static"
IPADDR=192.168.190.1
NETMASK=255.255.255.0
NAME="enp0s8"
ONBOOT="yes"

Nota :non dimenticare di aggiungere "ONBOOT ” affinché le tue interfacce vengano sollevate all'avvio.

Ora che hai il tuo router connesso a entrambe le reti, dovrai aggiungere un percorso statico tra le tue due reti affinché possano comunicare.

Creazione di percorsi statici tramite ip

Avere due interfacce di rete non significa che il tuo kernel instraderà naturalmente i pacchetti da un'interfaccia all'altra.

Prima di tutto, assicurati di elencare i percorsi esistenti che potrebbero esistere sul tuo server eseguendo il "percorso ip comando ".

$ ip route

Eliminazione di percorsi statici esistenti

Se sono già definiti router statici per le tue interfacce di rete, dovrai eliminarli:in caso contrario, non potrai aggiungerne di nuovi.

Per eliminare un percorso, utilizzare il comando "ip route" con l'opzione "cancella" e specificare il percorso da eliminare.

$ ip route delete <route>

Nel nostro caso, vogliamo eliminare le rotte che puntano alle reti 192.168.190.0/24 e 192.168.200.0/24.

$ ip route delete 192.168.190.0/24

$ ip route delete 192.168.200.0/24

$ ip route

Ora che i percorsi sono stati eliminati, puoi aggiungere quelli che ti interessano.

Creazione di nuovi percorsi statici

Affinché i pacchetti possano fluire dalla prima rete alla seconda, la tua prima scheda di rete deve puntare alla seconda e viceversa.

In primo luogo, puoi creare un percorso dal primo indirizzo IP della scheda di rete al secondo indirizzo IP di rete.

$ ip route add 192.168.200.0/24 via 192.168.190.1

Utilizzando questa regola, tutti i pacchetti in arrivo utilizzando l'interfaccia 192.168.190.1 come gateway possono essere reindirizzati alla rete 192.168.200.0.

Allo stesso modo, puoi aggiungere un altro percorso nella direzione opposta in modo che i tuoi pacchetti possano tornare indietro.

$ ip route add 192.168.190.0/24 via 192.168.200.1

Ora che i tuoi percorsi sono stati aggiunti, puoi verificare che siano attivi e attivi eseguendo nuovamente il comando "ip route".

$ ip route

Ora che i tuoi percorsi sono stati aggiunti, c'è un ultimo passaggio che devi configurare affinché i tuoi host possano eseguire il ping l'un l'altro.

Abilitazione dell'inoltro IP su Linux

Anche se esistono percorsi, il kernel non inoltrerà naturalmente i pacchetti alle interfacce di rete corrispondenti senza configurazione.

Per abilitare l'inoltro IP, vai al file /etc/sysctl.conf e cerca il parametro "net.ipv4.ip_forward".

$ vi /etc/sysctl.conf

Per impostazione predefinita, questo parametro è impostato su "0", ma si desidera impostarlo su "1" per abilitare l'inoltro IP.

Salva il tuo file e aggiorna la configurazione del sistema eseguendo il comando “sysctl”.

$ sysctl -p /etc/sysctl.conf

Test della connettività di rete

Ora che l'inoltro IP è abilitato, dovresti essere in grado di eseguire il ping da un host sulla prima rete a un host sulla seconda rete.

Per verificarlo, connettiti a un host sulla prima rete ed esegui un comando "ping" su un host situato sulla seconda rete.

$ ping <host_second_network>

Nel nostro caso, vorremmo eseguire il ping dell'host "192.168.190.2/24" da quello "192.168.200.2/24".

Eccezionale! Il tuo primo host è in grado di eseguire il ping del secondo.

Come ulteriore controllo, puoi assicurarti che il tuo secondo host sia in grado di eseguire il ping del primo.

Grande!

Ora che la configurazione è pronta, dovresti essere in grado di aggiungere nuovi host a entrambe le reti e iniziare a comunicare tra le due reti.

Conclusione

In questo tutorial, hai imparato come configurare facilmente un sistema Linux come router statico .

Questa configurazione può essere molto utile se prevedi di creare una piccola infrastruttura di rete per la tua azienda.

Invece di acquistare e dover configurare un router Cisco, puoi semplicemente utilizzare un Raspberry Pi come router statico.

Se la tua azienda cresce e prevedi di avere un'infrastruttura di rete più grande, puoi controllare i router gestiti poiché probabilmente offriranno maggiore flessibilità alle tue esigenze.

Se sei interessato a Amministrazione di sistema Linux , abbiamo una sezione completa dedicata ad esso sul sito Web, quindi assicurati di dare un'occhiata!


Linux
  1. Come configurare un indirizzo IP statico su Debian Linux

  2. Come impostare l'indirizzo IP statico e configurare la rete in Linux

  3. Come configurare un indirizzo IP statico su Fedora

  4. Come configurare l'indirizzo IP statico e dinamico in Arch Linux

  5. Come posso configurare Qt per la compilazione incrociata da Linux a destinazione Windows?

Come configurare l'indirizzo IP statico in Linux e Unix

Come configurare una VLAN in Linux

3 modi per configurare un'interfaccia di rete in Linux

Come configurare un indirizzo IP statico su Alpine Linux

Come aggiungere route su Linux

Come configurare l'indirizzo IP statico su un sistema Linux