Barra laterale

rete:uno_script_per_conflitti_routing_openvpn

Uno script per risolvere i conflitti di routing con openvpn

Autore: Fabio Di Matteo
Ultima revisione: 02/05/2010

Puo' capitare di avere una rete locale di classe C 192.168.1.0/24 (o con altri indirizzi ip) e dover raggiungere un' altra rete analoga tramite openvpn. Openvpn potrebbe inviare le rotte anche per la rete remota con un comando simile /sbin/route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.8.0.9 a questo punto il nostro SO avra' sicuramente dei problemi a trovare il gateway predefinito creando problemi alla nostra rete locale.

Lo script seguente non fa altro che avviare openvpn, cancellare le rotte inviate per la rete 192.168.1.0/24 (da modificare se necessario in base alle esigenze) e rimetterle di nuovo tutte escludendo 192.168.1.1 .

Avviare la vpn

ersuvpn start

Terminare la vpn

ersuvpn stop

PS è senz'altro comodo copiare lo script in /usr/local/bin/ in modo tale da non cercarlo ogni volta che si deve avviare la vpn.

ersuvpn

#!/bin/sh
 
DEVICE=tun0
DIRSCRIPT=/home/fabio/Vpns/ersu/
NET=192.168.1.0/24
NETPREFIX=192.168.1.
 
OPENVPNCONF=$DIRSCRIPT/openvpn.conf
PIDFILE=$DIRSCRIPT/openvpn.pid
 
if [ "$1" = "start" ];then
        echo "Inserire password utente sudo:"
        cd $DIRSCRIPT
        sudo openvpn --daemon --config $OPENVPNCONF --writepid $PIDFILE
        if [ -f $PIDFILE ] ; then 
                sleep 10
                sudo ip route del $NET dev $DEVICE
                for i in `seq 2 254`;
                do
                        sudo ip route add $NETPREFIX$i dev $DEVICE
                done
                echo ; echo "Vpn avviata correttamente."
        else
                echo; echo "Impossibile avviare la vpn."
        fi    
fi
 
if [ "$1" = "stop" ];then
        sudo ip route flush dev $DEVICE 
        sudo kill -9 `cat $PIDFILE`
        rm -f $PIDFILE
        echo; echo "Vpn terminata."
fi
 
 
 

P.S. Qualora non fosse gia' attivato e' necessario attivare sudo per l'utente che lancera' lo script.


rete/uno_script_per_conflitti_routing_openvpn.txt · Ultima modifica: 18/04/2018 - 15:49 (modifica esterna)