Supponiamo di avere un server Linux con più di una interfaccia ethernet (eth0 e eth1) verso internet. Tipica situazione in cui volete implementare una soluzione di backup attivando due connessioni con altrettanti provider. Di default possiamo definire solo un default gateway, il che è sufficente per i servizi in uscita, tuttavia se riceviamo traffico in entrata, ad esempio verso i servizi di posta, ci sono dei problemi. Vediamo il perchè.
Supponiamo di avere questa situazione :
Ora, per il traffico entrante su eth0 non c'e' problema: tutto funziona regolarmente. Ma il traffico entrante da eth1 ? Supponiamo facciate un normale "ping" su eth1 dall'esterno: il traffico di ritorno esce da eth0 (default gateway) e non da eth1. Questo è male: il ping non funziona. Allo stesso modo dall'esterno su 10.20.1.2 non funzionerà nemmeno una connessione SSH, la posta e il resto. Magari avete messo due record MX nel DNS del provider ma non serve ad un tubo, il record MX che punta all'indirizzo di eth1 non funzionerà mai. Ma che backup del c...o :)
Quello che ci serve è che la risposta alle richieste su eth0 esca da eth0, quella su eth1 esca da eth1. In buona sostanza, nel nostro caso, dobbiamo "switchare" il default gateway quando le richieste arrivano da eth1.
Vediamo come si fà.
Qui ci addentriamo in campo minato, se vi interessa l'argomento approfondite pure il seguito.
Operiamo con il comando ip che dovrebbe già essere installato nel vostro server, vediamo se è vero :
ip route show
Ma guarda un po', proprio quello che ci serve !
Cominciamo con il creare una nuova tabella di routing :
sudo echo 1 net2 >> /etc/iproute2/rt_tables
sudo nano /etc/iproute2/rt_tables
#
- reserved values
#
255 local
254 main
253 default
0 unspec
#
- local
#
#1 inr.ruhep
1 net2
Ora andiamo ad aggiungere la route che ci serve nella nuova tabella:
ip route add default via 10.20.1.2 dev eth2 table net2
sudo ip rule add from 10.20.1.2/32 table net2
Facile no ? :D
Ora vediamo qualche comando:
Questo vi mostra la tabella di routing "net2"
sudo ip route show table net2
Questo vi mostra quella principale (che è lo stesso che fare route -n):
sudo ip route show table main
e, infine, possiamo vedere le regole :
sudo ip rule show
32765: from 10.20.1.2/32 lookup net2
Congratulazioni ! Ora abbiamo due default gateway che si attivano secondo necessità ! Wow ...
Maggiori informazioni e altri esempi .
Byez.
Credo che ci sia qualche errore nel tuo articolo perche io mi sto trovando di fronte ad una situazione simile ma tentando di applicare la tua guida non funziona cmq, anzi, ho hotato che la rete va e viene in continuazione.
Uhm... forse ho semplificato troppo ? Ora non riesco a verificare.
Prova a dare un occhio al documento collegato.
http://www.linuxhorizon.ro/iproute2.html
il mio problema è il seguente:
ho un default gateway MA supponiamo che voglia solo per YUM (ovvero per fare upgrade) in quel momento o "settato" in modo permanente un altro default gateway che mi serve per utilizzare yum secondo voi come posso fare?