Non è cosa da tutti i giorni ma è possibile che un cliente abbia 2 o piu’ connessioni internet e le voglia sfruttare contemporaneamente su una stessa macchina, come fare?
Ecco qua, farò un esempio con 2 connessioni una HDSL (eth0) e una WIFI (eth1).
Questa sarà la configurazione delle interfaccie, ovviamente senza gateway (Es: /etc/network/interfaces di Debian).
auto eth0
iface eth0 inet static
address 1.1.1.2
netmask 255.255.255.0
broadcast 1.1.1.255
#gateway 1.1.1.1
network 1.1.1.0auto eth1
iface eth1 inet static
address 2.2.2.2
netmask 255.255.255.0
broadcast 2.2.2.255
#gateway 2.2.2.1
network 2.2.2.0
Per prima cosa nel file /etc/iproute2/rt_tables bisogna aggiungere 2 tabelle di routing:
200 hdsl
201 wifi
Ora che abbiamo le due nuove tabelle non ci resta che popolarle, passo passo i comandi necessari.
Aggiungiamo le rotte per le nostre reti:
ip route add 1.1.1.0/24 dev eth0 src 1.1.1.2 table hdsl
ip route add default via 1.1.1.1 table hdsl
ip route add 2.2.2.0/24 dev eth1 src 2.2.2.2 table wifi
ip route add default via 2.2.2.1 table wifi
Aggiungiamo le regole di utilizzo:
ip rule add from 1.1.1.2 table hdsl
ip rule add from 2.2.2.2 table wifi
Aggiungiamo la loopback:
ip route add 127.0.0.0/8 dev lo table hdsl
ip route add 127.0.0.0/8 dev lo table wifi
Ora possiamo aggiungere la rotta di default del sistema:
ip route add default scope global nexthop via 1.1.1.1 dev eth0 weight 1 nexthop via 2.2.2.1 dev eth1 weight 1
Il weight è stato messo volutamente a 1 in modo tale che ci sia un load balancing fra i due provider, potete variare il peso di uno o dell’altro per privilegiare una linea o l’altra.
N.B. Al riavvio del sistema questi comandi spariscono, per cui vi consiglio di metterli in un file che viene eseguito all’avvio, tipo rc.local
Spero di essere stato utile a qualcuno.
A presto!
2 Responses
Comment by Schumy
04/02/2010 at 20:50
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6
Ciao Omar,
sono giunto alla lettura di questo articolo partendo da una ricerca che mi portasse alla soluzione di ciò che vorrei mettere in pratica io…forse tu potresti aiutarmi.
Mettendo da parte quella che può essere la sua utilità, ecco cosa vorrei fare:
Sul mio pc ho 2 adattatori di rete, uno wireless (wlan0) e uno ethernet (eth0). Entrambi, e qui la differenza, hanno lo stesso next hop router.
Vorrei fare in modo che il kernel inoltrasse i pacchetti generati da alcune applicazioni (es. p2p) verso una interfaccia (es. eth0) e altri, o tutti gli altri, verso l’altra interfaccia (wlan0).
Ad allettarmi molto è il comando “ip rule add from”, ma sembra che dopo il from ci vada obbligatoriamente un indirizzo ip….invece farebbe al caso mio il numero di una porta!
Suggerimenti?
Ti ringrazio in anticipo! Ciao.
Comment by Omar
05/02/2010 at 18:46
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; en-US) AppleWebKit/532.9 (KHTML, like Gecko) Chrome/5.0.318.0 Safari/532.9
Ciao,
non saprei veramente..forse con qualche regola di iptables potresti fare in modo che per alcune porte esca dall’indirizzo sulla wlan0 e per altre dall’indirizzo sulla eth0, però poi non so come si comporterebbe il routing.