#1 02/11/2011 20:38:36

but2ene
Moddeur aficionados
Date d'inscription: 31/08/2011
Messages: 108

[tuto] Installer OpenVPN sur la version modifié de FXMX86

Ce tuto montre une méthode pour installer openvpn sur votre box à l'aide de la version de fxmx86.
Je remercie fxmx86 pour son travail smile

Etape 1 : Installer openvpn.

Il existe un souci avec la dépendance tun. Il faut savoir que le module tun.ko est déjà installé sur cette box. Il sert pour le hotspot.
Mais le gestionnaire de paquet le veut donc donnons-lui.

OpenVpn s'installe simplement en faisant.

Code:

opkg update && opkg install openvpn

Étape 2: Créer les clefs RSA pour le vpn.
Comme le modem n’a pas beaucoup de mémoire pour les applications.
Je propose d’utiliser easy-rsa d’une de vos machines.
Exemple sur une Ubuntu :

Code:

sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/

Éditez la fin du fichier  /etc/openvpn/easy-rsa/vars

Code:

export KEY_COUNTRY="FR"
export KEY_PROVINCE="06"
export KEY_CITY="Nissa"
export KEY_ORG="nicolargo.com"
export KEY_EMAIL="dtc@hadopi.fr"

Ensuite la création des certificats.

Code:

cd /etc/openvpn/easy-rsa/
source vars
./clean-all
./build-dh
./pkitool --initca
./pkitool --server server
openvpn --genkey --secret keys/ta.key

retour à votre box

Code:

mkdir -p /etc/openvpn/keys
scp  login@machine:/etc/openvpn/easy-rsa/keys/{server.*,dh1024.pem,ca.crt} /etc/openvpn/keys

Étape 3: Configuration
J'ai choisi d'utiliser un tunnel de type TAP permettant de simuler entièrement Ethernet.
Ce qui permet de le bridger afin d'éviter de s'embêter avec les routes.

Créons /etc/openvpn/ si ce n'est pas fait à l'étape précédente.

Code:

mkdir /etc/openvpn

dedans nous allons mettre la configuration.
/etc/openvpn/server.conf

Code:

mode server
tls-server

#network options
port 443
proto tcp
dev tap42


#Certificate and key files
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem

server-bridge 192.168.1.1 255.255.255.0 192.168.1.151 192.168.1.250

#auth /etc/easy-rsa/keys/ta.key 0 # 0 pour le serveur
push "redirect-gateway def1"
push "dhcp-option DNS 192.168.1.1" # Change this to your router's LAN IP Address
#push "dhcp-option DNS 8.8.8.8"
client-to-client
#duplicate-cn #Si plusieurs clients utilisant le meme certif

### (optional) compression (Can be slow)
#comp-lzo
persist-key
persist-tun
verb 3
keepalive 10 120
log-append /var/log/openvpn.log

Étape 5: Script de lancement.

Pour lancer l'openvpn voici le fichier /etc/init.d/ob4_ovpn :

Code:

#!/bin/sh /etc/rc.common
start() {

iptables -A INPUT -p tcp -m tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
openvpn --mktun --dev tap42
brctl addif lan0 tap42
ifconfig tap42 promisc up
openvpn  --config /etc/openvpn/server.conf  --daemon

}

stop() {
iptables -D INPUT -p tcp -m tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
killall openvpn
brctl delif lan0 tap42
openvpn --rmtun --dev tap42


}

Bon on pourrait killer openvpn de façon moins sale, mais bon.
Ne pas oublier le chmod +x /etc/init.d/ob4_ovpn
Voilà votre serveur est prêt.

Étape 6: Passons côté client.
Vous devez faire cette procédure par client et transférer les certificats sur la machine destination.
Sur votre machine ou vous avez généré les certificats vous pouvez.
Remplacez pcportable par le nom qu’il vous plait.

Code:

cd /etc/openvpn/easy-rsa
source vars
./build-key pcportable

On le copie sur la machine destination.

Code:

scp /etc/openvpn/easy-rsa/keys/{pcportable.*,ca.crt} login@pcportable:/destination

Le fichier configuration du client

Code:

client
dev tap
proto tcp
remote ipexterieurboxoudyndns 443
resolv-retry infinite
nobind

persist-key
persist-tun
ca ca.crt
cert pcportable.crt
key pcportable.key
ns-cert-type server

#tls-auth ta.key 1 # si vous voulez une sécurité de plus

verb 3

Pour connecter le client vous pouvez faire openvpn --config fichieraudessus.conf
Normalemnt vous êtes connecté à votre box.

FAQ

--Vous avez la flemme de mettre une clef usb et vous n'avez que 1Mo restant sur votre rescue (/opt). On va déplacer le firmware du modem ADSL (je ne sais pas ce qu'il fait ici) dans la ram installer open vpn et le remettre en place.

Code:

mv /opt/lib/modules/adsl_phy.bin /tmp

Installez ovpn et n'oubliez pas :

Code:

mv  /tmp/adsl_phy.bin /opt/lib/modules

--Problème l'installation de tun échoue à cause de function.sh ou de load_module et du coup le vpn n'y est pas :

Code:

touch /etc/functions.sh /opt/bin/load_modules && chmod +x /etc/functions.sh /opt/bin/load_modules

Installer openvpn

Code:

rm /etc/functions.sh /opt/bin/load_module

Dernière modification par but2ene (29/06/2012 23:39:21)

Hors ligne

 

#2 02/11/2011 22:32:44

fxmx86
Administrateur
Date d'inscription: 31/12/2007
Messages: 2891
Site web

Re: [tuto] Installer OpenVPN sur la version modifié de FXMX86

Excellent But2ene ! A tester d'urgence... smile


Version NB4 modée :  OB4-FULL+USB-R2.1.6

Hors ligne

 

#3 03/11/2011 14:32:36

goundoulf
Administrateur
Date d'inscription: 21/08/2007
Messages: 4607
Site web

Hors ligne

 

#4 03/11/2011 16:40:20

zakapatul
Moddeur newbie
Date d'inscription: 03/11/2011
Messages: 24

Re: [tuto] Installer OpenVPN sur la version modifié de FXMX86

Whaouh, incroyable tout ce qu'on peut faire avec cette petite box wink Maintenant je me pose une question : peut-on installer un client OpenVPN sur la box ? histoire de pouvoir faire par exemple un réseau maillé ?

Hors ligne

 

#5 03/11/2011 17:02:27

goundoulf
Administrateur
Date d'inscription: 21/08/2007
Messages: 4607
Site web

Re: [tuto] Installer OpenVPN sur la version modifié de FXMX86

Oui c'est tout à fait possible. Comme la neufbox tourne sous OpenWrt, il est possible de s'inspirer de http://martybugs.net/wireless/openwrt/openvpn.cgi

Hors ligne

 

#6 03/11/2011 17:18:45

but2ene
Moddeur aficionados
Date d'inscription: 31/08/2011
Messages: 108

Re: [tuto] Installer OpenVPN sur la version modifié de FXMX86

zakapatul a écrit:

Whaouh, incroyable tout ce qu'on peut faire avec cette petite box wink Maintenant je me pose une question : peut-on installer un client OpenVPN sur la box ? histoire de pouvoir faire par exemple un réseau maillé ?

Oui en fait une fois openvpn installé. Le mode client ou le mode serveur dépend du fichier configuration (les premières lignes).
Donc vous pouvez même lancer un client et un serveur en même temps.
Par contre attention à la consommation mémoire.

Hors ligne

 

#7 07/04/2012 20:42:10

tiphergane
Moddeur newbie
Date d'inscription: 07/04/2012
Messages: 8

Re: [tuto] Installer OpenVPN sur la version modifié de FXMX86

Salut,

Alors moi j'ai une question qui va surement vous sembler conne mais l'installation d'openvpn c'est bien passée, mais je ne peux pas me connecter à mon serveur.

Il faut savoir que ma nb4 est en bridge apres une Freebox v6, j'ai bien le net via les carte réseau voip0 et voip0:0, j'ai pu flasher avec la nouvelle méthode fr fxmx86 .

Quand je lance un ping ca roule sans soucis, mais si je lance un ping via l'interface tap42 ca donne rien

Code:

root@nb4:~# /etc/init.d/ob4_ovpn start
Sat Jan  1 01:03:36 2000 TUN/TAP device tap42 opened
Sat Jan  1 01:03:36 2000 Persist state set to: ON
root@nb4:~# ping -I tap42 www.google.Fr
PING www.google.Fr (209.85.147.94): 56 data bytes

--- www.google.Fr ping statistics ---
46 packets transmitted, 0 packets received, 100% packet loss

si quelqu'un a une idée (je suppose que mon probleme viens de la pour la non connexion en OpenVPN)

La carte tap42 est bien en PROMISC donc normalement elle devrait chopper tous les paquet qui passent selon la RFC ....

Code:

root@nb4:~# ifconfig tap42
tap42     Link encap:Ethernet  HWaddr 52:B9:DF:9C:AF:BF
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:1138 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Dernière modification par tiphergane (07/04/2012 21:43:48)

Hors ligne

 

#8 10/04/2012 16:35:54

but2ene
Moddeur aficionados
Date d'inscription: 31/08/2011
Messages: 108

Re: [tuto] Installer OpenVPN sur la version modifié de FXMX86

Bonjour,
J'ai une question bête : que voulez-vous faire ?

pourquoi cherchez-vous google sur le tap42 ?
Normalement ce sont les clients qui sont sur cette interface.
Si vous avez des clients connecté dessus vous pouvez les pinger via cette interface.

Ce tuto a pour but d'avoir un accès vpn de l'extérieur sur votre réseau local et internet. C'est pour cela que tap42 est bridgé avec lan0 (dans votre cas voip0 et encore je n'en suis pas sur).

Une fois un client connecté dessus de l'extérieur un ping google à partir du client devrait marcher.

Mais vous pouvez vous en servir pour autre chose. d'où ma première question smile
@+

Dernière modification par but2ene (10/04/2012 16:40:26)

Hors ligne

 

#9 10/04/2012 17:33:45

tiphergane
Moddeur newbie
Date d'inscription: 07/04/2012
Messages: 8

Re: [tuto] Installer OpenVPN sur la version modifié de FXMX86

Bonjour,

Quand j'essaye de me connecter (client) j'ai un WSAERRCONNTIONREFUSED (ou un truc du genre)

Donc je me suis demandé si l'interface tap42 avais bien un acces au net (d'ou mon test de ping vers google).

L'interface qui a le net (et l'IP de mon web pannel) est la VOIP0:0 (ne me demandez pas pourquoi, c'est comme ca). Mes tests de ping IN/OUT sur l'interface de base montre une bonne connexion entre la nb4 et le net, mais normalement l'interface TUN/TAP qui est bridgé dessus aurait du avoir le même comportement (a mon avis)

Je vais tenter des connexion depuis l'extérieur, et je te tiendrais au courant !

Cordialement.

Hors ligne

 

#10 10/04/2012 18:12:27

but2ene
Moddeur aficionados
Date d'inscription: 31/08/2011
Messages: 108

Re: [tuto] Installer OpenVPN sur la version modifié de FXMX86

Avant d'essayer de l'extérieur, il faut déjà arriver à connecter le tunnel même en interne. Dans le tuto c'est une connexion TCP/IP. Si on obtient une connexion refusée, c'est déjà un souci.
(je suppose que votre nb4 possède une IP et que vous avez ouvert le bon port avec iptable)

Une fois connectée, la liaison avec les clients devrait exister : vous devriez pouvoir pinger la box en utilisant le tunnel (c'est là où c'est mieux d'être en extérieur, car le sous réseau IP est le même dû au bridge).

A mon avi (ce n'est que le mien) elle ne peut ne pas avoir le même comportement vis-à-vis du ping car le bridge et le ping ne sont pas au même niveau l'interface tap42 fonctionne du coup qu'au niveau 2 (d'où le promiscuous) non au niveau 3 (IP et ping). Normalement vos interfaces en niv3  sont dans la colone de gauche avec brctl show.

Mais si vous voulez tester, vous pouvez changer la configuration pour qu'elle soit sous un autre sous réseau et non plus bridgé.
En remplaçant (je suppose que votre box n'est pas en 192.168.1.1)
server-bridge 192.168.1.1 255.255.255.0 192.168.1.151 192.168.1.250
dev tap
par 
server 10.8.0.0 255.255.255.0
dev tun

Sans lancer le script init.d juste en exécutant openvpn  --config /etc/openvpn/server.conf
et en essayant de connecter le client en tun (config client) il devrait y avoir un tunnel dans le sous réseaux 10.8.0.0

J'espère que mes explications ne sont pas trop confuses.
Bon courage @+

Dernière modification par but2ene (10/04/2012 18:13:23)

Hors ligne

 

#11 11/04/2012 20:45:44

tiphergane
Moddeur newbie
Date d'inscription: 07/04/2012
Messages: 8

Re: [tuto] Installer OpenVPN sur la version modifié de FXMX86

Bonsoir,

En fait j'avais quelques erreur dans mon fichier de conf a la base, je n'écoutait pas le bon local (tiphergane.hd.free.fr au lieu de localhost) une fois cette erreur trouvée mon client essaye bien de ce connecter, MAIS il est viré au bout d'un moment

Code:

Wed Apr 11 20:43:04 2012 TCPv4_CLIENT link remote: 192.168.1.253:443
Wed Apr 11 20:43:04 2012 TLS: Initial packet from 192.168.1.253:443, sid=512bd50a 487fdf4d
Wed Apr 11 20:43:04 2012 VERIFY OK: depth=1, /C=FR/ST=49/L=Paris/O=DansTonCulHadopi/CN=DansTonCulHadopi_CA/emailAddress=tiphergane@tiphergane.hd.free.fr
Wed Apr 11 20:43:04 2012 VERIFY OK: nsCertType=SERVER
Wed Apr 11 20:43:04 2012 VERIFY OK: depth=0, /C=FR/ST=49/L=Paris/O=DansTonCulHadopi/CN=server/emailAddress=tiphergane@tiphergane.hd.free.fr
Wed Apr 11 20:43:04 2012 Connection reset, restarting [-1]
Wed Apr 11 20:43:04 2012 TCP/UDP: Closing socket
Wed Apr 11 20:43:04 2012 SIGUSR1[soft,connection-reset] received, process restarting

Donc maintenant c'est plus sur le TLS que cela merde .... aurais je oublié une clé ?

EDIT:

Erreur trouvé, la box est bloqué au 1 janv. 2000 j'ai installé ntpclient et j'ai ajouter le ntp de ma box et c'est ok !

Code:

opkg update && opkg install ntpclient
ntpclient -c l -s -h mafreebox.freebox.fr &

Merci pour ton tuto et ton aide but2ene

Dernière modification par tiphergane (11/04/2012 21:33:45)

Hors ligne

 

#12 18/04/2012 21:05:47

tiphergane
Moddeur newbie
Date d'inscription: 07/04/2012
Messages: 8

Re: [tuto] Installer OpenVPN sur la version modifié de FXMX86

bonjour,

Pour éviter de passer par le SCP pour les fainéant comme moi, voici un petit script du genre postinstall

Préparer les les fichiers necessaire sur votre clé usb avec l'architecture de base

Code:

/openvpn { la racine des repertoire openvpn + le script init.d (appelez ici openvpn)}
/openvpn/server {les fichiers .crt .ca .pem etc ...}
/openvpn/server/conf {le fichier de configuration du serveur en .conf}

Voici le code du postinstall owrt

Code:

#!/bin/bash
version="1.0.0"
#===========================
# Liste des packet a installer
#===========================
LISTE=""
LISTE=$LISTE" openvpn ntpclient"

#============================

#Test que le disque USB est monté
USB='cat /proc/mounts | grep /dev/sda1'
if [ $USB -ne 0 ]; then
        echo "ERROR, pas de disque USB detecte" 1>&2
        exit 1
fi

#Installation des paquets
echo "Installation des paquets"
opkg install $LISTE

#Creation des dossiers de travail
echo ""
echo "creation des repertoires pour OpenVpn"
mkdir /etc/openvpn
mkdir /etc/openvpn/ccd
mkdir /etc/openvpn/jail/ccd
mkdir /etc/openvpn/keys

#Recuperation des fichiers de conf
echo ""
echo "copie des fichiers necessaire pour le serveur"
cp /mnt/usb/sda1/openvpn/server/conf/*.conf /etc/openvpn/
cp /mnt/usb/sda1/openvpn/server/* /etc/openvpn/keys/
cp /mnt/usb/sda1/openvpn/openvpn /etc/init.d/
chmod +x /etc/init.d/openvpn

echo ""
echo "bonne journée professeur"

#Fin du script
#============================

A vous de voir si cela peut vous etre utile, l'installation de openvpn est automatisée, vous avez plus qu'a prendre 15 a 30 min de votre temps pour réaliser les fichiers de conf sur votre linux habituel !

Dernière modification par tiphergane (18/04/2012 21:06:25)

Hors ligne

 

#13 16/06/2012 20:07:23

Varamil
Moddeur newbie
Date d'inscription: 16/06/2012
Messages: 6

Re: [tuto] Installer OpenVPN sur la version modifié de FXMX86

Bonjour,

Je suis très intéressé par l'installation d'un serveur vpn sur ma box.
J'ai commencé à suivre le tuto mais j'ai un problème dès l'installation :

Code:

opkg update && opkg install openvpn
(...chargement paquets, début configuration...)
Configuring kmod-tun /opt//usr/lib/opkg/info/kmod-tun.postinst: .: line 3: can't open /etc/functions.sh
postinst script returned status 2

L'accès au fichier functions.sh est refusé, et finalement c'est normal puisque que si je fais un :

Code:

ls /etc/functions.sh
ls: /etc/functions.sh: No such file or diezctory

Avez vous une idée du problème ? Ce fichier doit être générer lors de l'installation ou il devrait déjà exister ?

Merci

Hors ligne

 

#14 16/06/2012 22:06:55

but2ene
Moddeur aficionados
Date d'inscription: 31/08/2011
Messages: 108

Re: [tuto] Installer OpenVPN sur la version modifié de FXMX86

Varamil a écrit:

Bonjour,

Je suis très intéressé par l'installation d'un serveur vpn sur ma box.
J'ai commencé à suivre le tuto mais j'ai un problème dès l'installation :

Code:

opkg update && opkg install openvpn
(...chargement paquets, début configuration...)
Configuring kmod-tun /opt//usr/lib/opkg/info/kmod-tun.postinst: .: line 3: can't open /etc/functions.sh
postinst script returned status 2

L'accès au fichier functions.sh est refusé, et finalement c'est normal puisque que si je fais un :

Code:

ls /etc/functions.sh
ls: /etc/functions.sh: No such file or diezctory

Avez vous une idée du problème ? Ce fichier doit être générer lors de l'installation ou il devrait déjà exister ?

Merci

Oui le problème est connus suffit de lire la faq section :"--Problème l'installation de tun échoue à cause de function.sh ou de load_module et du coup le vpn n'y est pas :"

Hors ligne

 

#15 16/06/2012 23:46:33

Varamil
Moddeur newbie
Date d'inscription: 16/06/2012
Messages: 6

Re: [tuto] Installer OpenVPN sur la version modifié de FXMX86

Merci but2ene, mais de quelle faq parles tu exactement ? Celle sur la box de fxmx86, sur le forum (où ? je n'en trouve pas), ou bien sur le site d'OpenVPN ?

Hors ligne

 

#16 18/06/2012 10:47:34

but2ene
Moddeur aficionados
Date d'inscription: 31/08/2011
Messages: 108

Re: [tuto] Installer OpenVPN sur la version modifié de FXMX86

Varamil a écrit:

Merci but2ene, mais de quelle faq parles tu exactement ? Celle sur la box de fxmx86, sur le forum (où ? je n'en trouve pas), ou bien sur le site d'OpenVPN ?

Celle qui se situe sur cette page vous tapez ctrl+f et vous entrez FAQ wink

Hors ligne

 

#17 20/06/2012 22:34:19

Varamil
Moddeur newbie
Date d'inscription: 16/06/2012
Messages: 6

Re: [tuto] Installer OpenVPN sur la version modifié de FXMX86

Merci, j'avais cherché partout sauf dans sauf à la fin du 1er topic, j'avais même tapé la phrase dans google ^^

Sinon j'ai réussi à installer le tout, par contre petite question quand on met en place le serveur, tu indiques :

Code:

mkdir -p /etc/openvpn/keys
scp  login@machine:/etc/openvpn/easy-rsa/{server.*,dh1024.pem,ca.crt} /etc/openvpn/keys

Il ne manque pas un keys dans le chemin de départ ? Car j'ai eu besoin de le rajouter, mais c'est peut être du à une erreur de manip de ma part.

Enfin, j'ai bien ob4_opvn dans /etc/init.d/, il ne devrait pas démarrer automatiquement (après reboot au moins) ? on est obligé de se connecter en ssh et de lancer /etc/init.d/ob4_opvn start ?

Merci

Hors ligne

 

#18 21/06/2012 17:39:49

but2ene
Moddeur aficionados
Date d'inscription: 31/08/2011
Messages: 108

Re: [tuto] Installer OpenVPN sur la version modifié de FXMX86

Oui en effet il manque un keys. Merci smile

Normalement il démarre tout seul mais vérifiez qu'il y a bien ces lignes dans le fichier /etc/init.d/services

Code:

        for i in `ls /etc/init.d/ob4_*`; do
                [ -x $i ] && $i start 2>&1
        done

et du coup que ls -l /etc/init.d/ob4_* affiche bien ob4_opvn et avec les droit d'exécution. On ne sais jamais.

Hors ligne

 

#19 22/06/2012 18:07:40

Varamil
Moddeur newbie
Date d'inscription: 16/06/2012
Messages: 6

Re: [tuto] Installer OpenVPN sur la version modifié de FXMX86

Bizarre, j'ai bien ces lignes, et tout mes ob4_* sont exécutables...

De plus si je regarde certains de ces scripts semblent se lancer correctement :

Code:

ps | grep "ob4"
 1926 root      1304 S    /bin/sh /etc/rc.common /etc/init.d/ob4_cal start
 1966 root      1304 S    /bin/sh /etc/rc.common /etc/init.d/ob4_key start
 1969 root      1304 S    /bin/sh /etc/rc.common /etc/init.d/ob4_key start
 3012 root       788 S    /owrt/usr/bin/dtach -A /tmp/ob4-dtach -e ^ /bin/sh
 3013 root       788 S    /owrt/usr/bin/dtach -A /tmp/ob4-dtach -e ^ /bin/sh
 3316 root       788 S    /owrt/usr/bin/dtach -A /tmp/ob4-dtach -e ^ /bin/sh
 4024 root      1284 S    grep ob4

(après reboot)

Pour info j'ai ob4-usb activé (pour le ftp).

Hors ligne

 

Pied de page des forums