GNU/Linux >> Linux Esercitazione >  >> Linux

Come aggiungere route su Linux

In qualità di ingegnere di rete, probabilmente dedichi molto tempo a pensare e pianificare la tua infrastruttura di rete.

Pianifichi come verranno collegati i computer, fisicamente utilizzando cavi specifici ma anche logicamente utilizzando tabelle di instradamento .

Quando il tuo piano di rete sarà costruito, dovrai implementare ogni singolo collegamento che hai teorizzato su carta.

In alcuni casi, se utilizzi computer Linux, potresti dover aggiungere alcuni percorsi per collegarlo ad altre reti della tua azienda.

Aggiunta di percorsi su Linux è estremamente semplice e gratuito:puoi utilizzare il Gestione di rete demone (se stai eseguendo una distribuzione recente) o ifconfig .

In questo tutorial imparerai come puoi facilmente aggiungere nuovi percorsi su una macchina Linux per collegarlo alla tua rete fisica.

Prerequisiti

Per aggiungere percorsi sulla tua macchina Linux, devi disporre dei diritti di amministratore.

Per verificarlo, puoi eseguire il "sudo ” comando seguito dal comando “-v opzione ” (per aggiornare le credenziali memorizzate nella cache).

$ sudo -v

Se non disponi dei diritti sudo, puoi dare un'occhiata ai nostri articoli dedicati su come ottenere i diritti di amministratore su Ubuntu o CentOS.

Aggiungi route su Linux utilizzando ip

Il modo più semplice per aggiungere una route su Linux è utilizzare il comando "ip route add" seguito dall'indirizzo di rete da raggiungere e dal gateway da utilizzare per questa route.

$ ip route add <network_ip>/<cidr> via <gateway_ip>

# Example
$ ip route add 10.0.3.0/24 via 10.0.3.1

Per impostazione predefinita, se non specifichi alcun dispositivo di rete, la tua prima scheda di rete , escluso il tuo loopback locale, verrà selezionato .

Tuttavia, se vuoi avere un dispositivo specifico, puoi aggiungerlo alla fine del comando.

$ ip route add <network_ip>/<cidr> via <gateway_ip> dev <network_card_name>

Ad esempio, supponiamo che tu voglia che due reti LAN siano in grado di comunicare tra loro.

La topologia di rete ha tre diverse macchine Linux:

  • Un computer Ubuntu con 10.0.2.2/24 indirizzo IP;
  • Un altro computer Ubuntu con 10.0.3.2/24 indirizzo IP;
  • Un computer RHEL 8 che fungerà da semplice router per le nostre due reti.

Il primo computer non può eseguire il ping dell'altro computer, non si trovano nella stessa sottorete:10.0.2.0 per la prima rete di computer e 10.0.3.0 per la seconda rete.

Poiché i due host non fanno parte della stessa sottorete, il comando ping passa al gateway predefinito.

Per vedere i percorsi già definiti sulla tua macchina, usa il "percorso ip ” comando senza argomenti. Puoi anche usare il comando “ip r” come abbreviazione.

$ ip r

Questa è la tabella di routing del tuo computer Linux:ogni computer ne ha una. Un router gestisce molti più percorsi di quello, ma essenzialmente utilizza la stessa sintassi di routing.

Allora come si legge?

Per comprendere questo output, devi leggere dall'alto verso il basso:

  • Per impostazione predefinita , le chiamate di rete verranno inoltrate al gateway predefinito locale che è 10.0.2.1
  • A MENO la tua chiamata è per la rete 10.0.2.0/24. In questo caso, verrà semplicemente inviato alla tua rete locale tramite il tuo collegamento fisico predefinito (fisicamente un cavo di rete CAT)
  • A MENO CHE la tua chiamata è per la rete 169.254.0.0/16. In questo caso, verrà inviato anche sulla tua rete locale utilizzando il tuo link fisico predefinito.

Nota :Lo sapevate? L'indirizzo 169.254.0.0/16 è chiamato APIPA (per l'indirizzamento automatico degli indirizzi IP) . È l'IP predefinito utilizzato da un sistema che non è riuscito a raggiungere un server DHCP sulla rete.

Nel nostro caso, per chiamare il 10.0.3.2/24 indirizzo IP, la chiamata verrà inoltrata al nostro 10.0.2.1 router.

Tuttavia, il nostro router è in grado di inoltrare le chiamate indirizzate alla rete 10.0.3.0/24?

Un semplice comando "ip r" sul router può darci un suggerimento.

Come puoi vedere, il router è collegato solo alla rete 10.0.2.0/24 che è ovviamente un problema.

Per aggiungere un percorso sul nostro router Linux, utilizziamo "add route ip comando ".

$ sudo ip route add 10.0.3.0/24 via 10.0.3.1

Ora, se dovessi eseguire il ping del tuo secondo computer sul primo computer, saresti in grado di raggiungerlo.

Fantastico, hai aggiunto con successo un percorso da un computer Linux a un altro!

Aggiunta della configurazione del percorso permanente su Ubuntu

Su Ubuntu, ci sono tre modi di aggiungere un percorso permanente alla tua macchina Linux :

  • Puoi aggiungerlo al tuo Gestore di rete file di configurazione;
  • Puoi modificare il tuo Netplan YAML file di configurazione;
  • Puoi aggiungere il tuo percorso a "/etc/network/interfaces ” se stai usando una vecchia distribuzione Ubuntu.

Utilizzo di Network Manager

Per aggiungere un percorso permanente a Network Manager, devi accedere al file di connessione che si trova in "/etc/NetworkManager/system-connections".

Modifica la tua "Connessione cablata ” e aggiungi un “percorso1 ” nella parte IPv4 della configurazione di rete.

Il percorso deve essere definito come:l'indirizzo IP di rete seguito dal CIDR, quindi il gateway predefinito e infine l'hop successivo.

Affinché le modifiche vengano applicate, puoi riavviare la connessione di rete ed eseguire il comando "route -n" per vedere il tuo percorso.

$ sudo nmcli connection reload

Fantastico, hai aggiunto un percorso permanente al tuo server Linux!

Utilizzo di Netplan

Netplan è un'esclusiva di Ubuntu ma può essere molto utile se vuoi configurare la tua rete usando un semplice file YAML.

Per aggiungere un percorso permanente utilizzando Netplan, aggiungi la seguente sezione al file di configurazione "/etc/netplan".

$ sudo vi /etc/netplan/<configuration_file>.yaml

Affinché le modifiche vengano applicate, dovrai eseguire il comando “netplan” con l'argomento “applica”.

$ sudo netplan apply

Congratulazioni, hai configurato la tua rete utilizzando Netplan . Se vuoi saperne di più su Netplan e sui suoi obiettivi, puoi dare un'occhiata alla documentazione dedicata.

Utilizzo di /etc/network/interfaces

Per aggiungere un percorso permanente a una distribuzione utilizzando ifup e ifdown, modifica il file "/etc/network/interfaces" e aggiungi la sezione seguente.

$ sudo vi /etc/network/interfaces

auto eth0
iface eth0 inet static
      address 10.0.2.2
      netmask 255.255.255.0
      up route add -net 10.0.3.0 netmask 255.255.0.0 gw 10.0.2.1

Aggiunta configurazione del percorso permanente su RHEL

Aggiungendo il percorso nella sezione precedente, è possibile che la tua distribuzione abbia creato un file per rendere permanente il percorso.

Tuttavia, in caso contrario, è necessario aggiungerlo per mantenere il percorso al riavvio del server.

Nelle distribuzioni RHEL e CentOS, è necessario creare un file denominato "route- ” in “/etc/sysconfig/network-scripts cartella ".

$ sudo vi /etc/sysconfig/network-scripts/route-enp0s3

Aggiungi route su Linux usando nmcli

Un altro modo per aggiungere una route su Linux consiste nell'utilizzare l'utilità "nmcli" e aggiungere una route IPV4 utilizzando il comando "modify".

$ sudo nmcli connection modify <interface_name> +ipv4.routes "<network_ip> <gateway_ip>" 

Nota :hai bisogno di un articolo completo sul Network Manager? Abbiamo un articolo completo sulla configurazione della rete utilizzando Network Manager.

Ad esempio, utilizzando l'infrastruttura della sezione precedente, per aggiungere un percorso, eseguiremo il comando seguente.

$ sudo nmcli connection modify enp0s3 +ipv4.routes "10.0.3.0/24 10.0.3.1"

Poiché le modifiche non vengono apportate in tempo reale, dovrai ricaricare le connessioni di rete dal disco utilizzando "nmcli reload comando ".

$ sudo nmcli connection reload

Fantastico! Ora c'è un percorso tra la tua prima e la seconda rete.

Di conseguenza, sarai in grado di eseguire il ping del tuo secondo computer dal primo computer.

Aggiunta di un percorso utilizzando l'interfaccia grafica di rete

Se non ti piace eseguire comandi nel terminale, fortunatamente per te, c'è un modo per aggiungere un percorso su Linux usando un'interfaccia grafica.

Che tu sia su Ubuntu, Debian o RHEL non fa differenza poiché condividono tutti lo stesso pannello di rete su GNOME.

Nell'angolo in alto a destra dello schermo, cerca una piccola icona di rete e fai clic su di essa.

Fai clic su "Connesso via cavo ” e cerca le “Impostazioni cablate ” sotto di esso.

Quando il pannello si apre, cerca "Cablato ” e fai clic sulla piccola ruota dentata accanto ad essa.

Nella sezione "Cablata ", ti verranno presentati molti parametri diversi:il tuo attuale indirizzo IPv4, il tuo attuale indirizzo MAC, un indirizzo IPv6 opzionale e la tua velocità di collegamento.

Nella sezione "IPv4 ", ti verrà presentato il tuo IP corrente configurato (molto probabilmente due affinché il tuo computer funga da router Linux).

Proprio sotto di esso, vedrai i "Percorsi " sezione. Qui puoi specificare l'input delle sezioni precedenti.

Al termine, fai clic su "Applica ” pulsante blu nell'angolo in alto a destra della finestra.

Affinché le modifiche vengano applicate, sarà necessario riavviare la rete. Puoi ottenerlo facendo clic sull' interruttore "on/off" nella finestra “Wired” dei parametri di rete.

Fatto!

Hai aggiunto correttamente un percorso su Linux utilizzando l'interfaccia grafica, ora i tuoi computer dovrebbero essere in grado di parlare tra loro.

Risoluzione dei problemi di Internet su Linux

In alcuni casi, potresti voler aggiungere un percorso sul tuo Linux perché vuoi essere in grado di raggiungere siti Web al di fuori della tua rete locale, ad esempio 8.8.8.8.

Ad esempio, supponiamo che tu abbia un router locale collegato a "Internet" che risiede in 192.168.178.1/24.

Ispezionare i tuoi percorsi attuali è un modo semplice per indovinare il motivo per cui non riesci a raggiungere i siti Web su Internet.

Il processo di pensiero è abbastanza semplice :

  • L'IP che sto cercando di raggiungere fa parte della mia sottorete o no?
  • Se sì, dovrei essere in grado di raggiungerlo senza alcun percorso, tutto sarà gestito dal protocollo ARP ed Ethernet.
  • In caso contrario, ho bisogno di un percorso dal mio computer a un router in grado di inoltrare richieste a Internet.

Tuttavia, ricorda che i percorsi sono autostrade a due corsie:devi essere in grado di raggiungere un IP esterno, ma l'IP esterno deve poterti ricontattare.

Di conseguenza, i percorsi devono essere definiti correttamente sull'architettura della rete locale. Poiché un diagramma è più utile di mille parole, ecco un modo per capirlo.

Ogni volta che stai risolvendo problemi con Internet, devi pensare a percorsi:ho un percorso dal mio computer al computer che sto cercando di raggiungere?

I computer oi router tra me e la destinazione sono configurati per gestire le mie chiamate?

Raggiungere una parte della rete è fantastico, ma ​​questa parte della rete è in grado di rispondermi?

Nel nostro diagramma dettagliato sopra, il nostro router potrebbe ricevere una risposta da Google, ma deve sapere cosa fare con la richiesta. Nella tua rete domestica locale, non devi preoccuparti perché la maggior parte delle richieste viene inoltrata utilizzando il protocollo NAT (abbreviazione di Network Address Translation Protocol).

Conclusione

In questo tutorial hai imparato come aggiungere facilmente un nuovo percorso su molte diverse distribuzioni Linux.

In questo momento, come per altri argomenti, alcuni strumenti coesistono su Linux rendendo la configurazione di rete un po' contorta a volte.

Tuttavia, abbiamo elencato la maggior parte delle opzioni che potresti incontrare. Se abbiamo dimenticato un'opzione, assicurati di lasciare un commento per farci sapere.

Se sei interessato a Amministrazione di sistema Linux , assicurati di dare un'occhiata alla nostra sezione dedicata sul sito web.


Linux
  1. Come aggiungere un nuovo percorso statico su RHEL7 Linux

  2. Come aggiungere una stampante in Linux Mint 12 | Aggiungi stampante in Linux Mint

  3. Come aggiungere il repository software Linux di Microsoft

  4. Come aggiungere un utente a un gruppo in Linux

  5. Come aggiungere spazio di swap in Linux

Come trovare le interfacce di rete disponibili su Linux

Come aggiungere un utente al gruppo in Linux

Come modificare l'indirizzo MAC di rete in Linux

Come aggiungere un utente al gruppo su Linux

7 Esempi di comandi di route Linux (come aggiungere route in Linux)

Come aggiungere un utente a un gruppo Linux