OpenVPN

Demander vos Certificats ( fichier .crt et .key et les mettre dans /etc/openvpn/keys )

Installation des paquets necessaires




ipkg update 
ipkg install http://downloads.openwrt.org/whiterussian/packages/liblzo_2.02-1_mipsel.ipk
ipkg install openvpn 
  • Le dépendances : kmod-tun liblzo et libopenssl

sont installées automatiquement en même temps.

  • Creer le réperoitre :
mkdir /etc/openvpn
  • Vérifier si le module TUN est installé avec :
ipkg status kmod-tun
  • Est-ce que le module TUN est bien chargé ?
insmod /lib/modules/*/tun.o
insmod tun
  • Activer le routage IP :
echo 1 > /proc/sys/net/ipv4/ip_forward

Configuration

/etc/openvpn/server.conf

( seulement pour le serveur , donc moi :) )

mode server
port 5000
proto udp
dev tap
comp-lzo
verb 3
tls-server
client-to-client
mssfix

cipher BF-CBC
keepalive 10 120

ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/rw-vpn-server.crt
key /etc/openvpn/keys/rw-vpn-server.key
dh /etc/openvpn/keys/dh1024.pem

persist-key
persist-tun

server 172.76.0.0 255.255.0.0

client-config-dir /etc/openvpn/ccd
ccd-exclusive

/etc/openvpn/client.conf

Pour tout le monde qui souhaite rejoindre le VPN

client
remote vpn.rouen-wireless.net 5000
resolv-retry infinite
proto udp
dev tap
comp-lzo
verb 3
tls-client
nobind
mssfix

cipher BF-CBC
keepalive 10 120

ns-cert-type server
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/node2.crt
key /etc/openvpn/keys/node2.key

persist-key
persist-tun

Pare feu ( /etc/local.fw )

Pour autoriser le Traffic VPN

# Place your firewall addons here

case $1 in
       start)
       iptables -I OUTPUT -o tap0 -j ACCEPT
       iptables -I INPUT -i tap0 -j ACCEPT
       iptables -I FORWARD -o tap0 -j ACCEPT
       iptables -I FORWARD -i tap0 -j ACCEPT
       ;;
       stop)
       iptables -D OUTPUT -o tap0 -j ACCEPT
       iptables -D INPUT -i tap0 -j ACCEPT 
       iptables -D FORWARD -o tap0 -j ACCEPT
       iptables -D FORWARD -i tap0 -j ACCEPT
       ;;
esac

OLSR ( /etc/local.olsrd.conf )

Pour Router par OLSR le traffic VPN

# Add your addons (e.g. plugins) to olsrd.conf here,
# addons for interfaces in /etc/local.olsrd.conf.eth1
Interface "tap0"
{
 HelloInterval           5.0
 HelloValidityTime       90.0
 TcInterval              2.0
 TcValidityTime          270.0
 MidInterval             15.0
 MidValidityTime         90.0
 HnaInterval             15.0
 HnaValidityTime         90.0
 Ip4Broadcast 172.76.255.255
# LinkQualityMult 172.76.0.1 0.4
}

Script de démmarrage auto : /etc/init.d/S46openvpn

#!/bin/sh

case "$1" in
        start)
                openvpn --daemon --config /etc/openvpn/client.conf
        ;;
        restart)
                $0 stop
                sleep 3
                $0 start
        ;;
        reload)
                killall -SIGHUP openvpn
        ;;
        stop)
                killall openvpn
        ;;
esac

TEST

vous pouvez lancer le client openvpn par :

openvpn /etc/openvpn/client.conf

vous verrez defiler plein de ligne et vous verez a la fin si ca fonctionne.

Pour retourner au shell, faites Ctrl C

statistiques

  • nvram set ff_stat_gateway1=tap0
  • nvram set ff_stat_gateway2=tun0
  • nvram commit

Sources

Tutos a suivre

sources