In molti casi può succedere di aver bisogno di catturare il traffico di rete  in arrivo su una determinata porta di un indirizzo IP e di trasferirlo ad un altro computer. Il caso più comune è quello di un server virtualizzato oppure quando ci troviamo davanti ad una rete locale con un vecchio router che non offre grandi possibilità di personalizzazione (come il mio).
Ecco che ci viene in soccorso LINUX con un comando semplice da usare: ipvsadm.
Se non presente già nella propria installazione di ubuntu è possibile installarlo semplicemente con il comando
sudo apt-get install ipvsadm
a questo punto si può creare uno script da far avviare al boot. Io di solito inserisco i comandi all’interno del file /etc/rc.local.
Prima di tutto dobbiamo resettare l’attuale configurazione con il comando:
ipvsadm -C
Dopodiché iniziamo a dare le regole con i comandi come nell’esempio qui sotto in cui diciamo che le chiamate TCP (parametro -t) all’indirizzo 192.168.0.100 sulla porta 5060 (quella per il protocollo SIP) debbano essere inoltrate alla stessa porta dell’indirizzo 192.168.0.250.  Per reindirizzare una chiamata UDP sostituire il -t con -u.
ipvsadm -A -t 192.168.0.100:5060 -s rr
ipvsadm -a -t 192.168.0.100:5060 -r 192.168.0.250:5060 -m
Naturalmente è possibile catturare il traffico su una porta e inoltrarla ad un’altra con un comando tipo questo:
ipvsadm -A -t 192.168.0.100:88 -s rr
ipvsadm -a -t 192.168.0.100:88 -r 192.168.0.250:80 -m
In questo caso non abbiamo fatto altro che prendere le chiamate alla porta 88 dell’indirizzo 192.168.0.100 e rinviarle al server web dell’IP 192.168.0.250 sulla normale porta 80.
Personalmente utilizzo questo tipo di reindirizzamenti quando utilizzo server installati su macchine virtuali come VirtualBox. Così posso raggiungere il server virtuale anche dall’esterno con pochissimi passi di configurazione. Condivido volentieri questa informazione dato che per trovare la soluzione al mio problema è stata veramente dura!! Giorni e giorni di ricerche su google…