Configurer arethusa en openvpn sur DD-WRT

Bonjour,

Dans cet article nous allons voir comment configurer l’accès openvpn d’arethusa sur un routeur flashé avec un firmware DD-WRT.

Je vais aborder cette configuration en différentes étapes et à la fin je vous indique la configuration à coller sur votre routeur pour que ca fonctionne.

Pas de prise en charge nativement des nom d’utilisateur/ mot de passe sur DD-WRT

Malheureusement DD-WRT n’ intègre pas dans ses pages de configuration la possibilité d’enregistrer un nom d’utilisateur et un mot de passe pour la connexion du client Openvpn.

L’accès openvpn d’arethusa nécessite ce type d’authentification utilisateur et mot de passe (sur le liens ci-dessous)

http://bb.s6n.org/viewtopic.php?id=81

Il est donc obligatoire de créer des scripts qui renseigneront ce nom et pass à openvpn afin qu’il se connecte.

On commence par crée un fichier contenant le nom d’utilisateur et le mot de passe:

echo ‘arethusa
tguaj88v7k’ > /tmp/pass

on spécifiera dans la conf d’openvpn d’utiliser ce fichier pour l’authentification utilisateur/mot de passe grace à la ligne

auth-user-pass /tmp/pass

Désactivation d’open vpn sur le routeur

Étant donné que la configuration ne peut pas être faite uniquement sur l’interface web, autant désactiver les scripts qui lancent openvpn avec la conf e l’interface web…

Ca ne ferai que lancer un openvpn mal configuré au démarrage, puis il faudrait l’arrêter pour en relancer un bien configuré…

donc on désactive openvpn.

Création du fichier clé

Comme ce type de connexion nécessite une clé d’authentification, et qu’on ne le renseigne pas sur l’interface web, il faut faut le créer.

echo ‘—–BEGIN CERTIFICATE—–
MIIESDCCAzCgAwIBAgIJAKe19ZcHzEc/MA0GCSqGSIb3DQEBBQUAMHUxCzAJBgNV
BAYTAkFRMRMwEQYDVQQIEwpBbnRhcmN0aWNhMRUwEwYDVQQHEwxNb3VudCBWaW5z
b24xDDAKBgNVBAoTA1M2TjEPMA0GA1UEAxMGUzZOIENBMRswGQYJKoZIhvcNAQkB
Fgxyb290QHM2bi5vcmcwHhcNMDkwNzA3MTYzNTM1WhcNMjkwNzAyMTYzNTM1WjB1
MQswCQYDVQQGEwJBUTETMBEGA1UECBMKQW50YXJjdGljYTEVMBMGA1UEBxMMTW91
bnQgVmluc29uMQwwCgYDVQQKEwNTNk4xDzANBgNVBAMTBlM2TiBDQTEbMBkGCSqG
SIb3DQEJARYMcm9vdEBzNm4ub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAvjDtAjYziD4dSXXR+y/HOF3qaylJqZfa7TJabnfC4bcC7/z8LU/aSgo9
SbDa6Sh/Kn3CHmNyu6QTSz8GkokqSLC91/3OrKM+XlR8H57I9PFZNFswTZEnkxqA
vQyoklrPOUmN120nIKQoIN2+pCctD/a9klTmTxTly4JeSiaf4t+H1DfKlM0q8FD/
avBYiWRWqEOUY9ChEweKKdITFdy9Zz8Vh5J7AYlnzZfmalOyCubK1A+nuD7mCjZl
OWPe/BG0sAnXUnDUEgCBC5fiTfp851ZkScHoQb9SVHqE3iw7o8CR9RZWCUsnxPsC
GJrIzZ2S9hbI9DopZ7CpU6qIRfFLMwIDAQABo4HaMIHXMB0GA1UdDgQWBBSY2HUT
D8BXjpiHTAUN6HN8DNj6pTCBpwYDVR0jBIGfMIGcgBSY2HUTD8BXjpiHTAUN6HN8
DNj6paF5pHcwdTELMAkGA1UEBhMCQVExEzARBgNVBAgTCkFudGFyY3RpY2ExFTAT
BgNVBAcTDE1vdW50IFZpbnNvbjEMMAoGA1UEChMDUzZOMQ8wDQYDVQQDEwZTNk4g
Q0ExGzAZBgkqhkiG9w0BCQEWDHJvb3RAczZuLm9yZ4IJAKe19ZcHzEc/MAwGA1Ud
EwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBALkQ2H/znwBNWL+1V+F1T2hYZtC/
clbtKJjR5URHFDIy1eTaijOUIArJJIpFb+MeWdi5WensNj8RqFgH6ah8eiaNMoIV
bUxMyGnakqFWbiS3L1nBEVC0npiLXkrvCQimHgZvo3EmeyhBs7zznsCoxDXq8nUm
CvrFvtgEUPz4Cnn2FCr4TjPt5pgjJ3CznYpf9QOwpM40mT0dYKB/ceGTzsGuh3ao
2OYmap0IvJ0WNOteVMNpK+wbvJB11a+qpF/bx2wjcDkZe76hE7CCtJM5YWjIMDRr
nzzUUqoklinTWlEqCfGavkYEl6ktcjapCnOJtV1zAQNa/Ek4THpWQo/vqU8=
—–END CERTIFICATE—–’ > /tmp/ca

on spécifiera dans la conf d’openvpn d’utiliser ce fichier pour l’authentification clé grâce à la ligne

ca /tmp/ca

activation du NAT

Quand le tunnel sera crée, si on veux que nos paquets ip soient routés chez arethusa et par la suite sur internet

il est nécessaire de changer l’ip source des paquets sortants par l’interface vpn par l’ip de l’interface vpn.

c’est la commande:

iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE


qui se charge de ca.

on ajoutera la commande en fin de démarrage du routeur pour qu’elle soit toujours présente.

Création du fichier de conf

certains paramètres du fichier de configuration fournis par arethusa sont indispensables:

notamment comp-lzo, l’adresse du serveur ^^ cipher … etc…

on crée donc un fichier de conf quasi-identique

echo ‘
client
dev tun
proto tcp
remote freetun.s6n.com 443
resolv-retry infinite
nobind
persist-key
persist-tun
persist-remote-ip
mute-replay-warnings
ns-cert-type server
cipher AES-256-CBC
comp-lzo
redirect-gateway def1
auth-user-pass /tmp/pass
ca /tmp/ca’ > /tmp/vpnconf

le fichier vpnconf contient toute la configuration, il sera spécifié à openvpn d’utiliser ce fichier

grâce à l’argument

-–config


Lancement d’openvpn

On peut désormais lancer openvpn:

/usr/sbin/openvpn –-config /tmp/vpnconf –-daemon

le

-–daemon


permet qu’openvpn s’ exéctue en tache de fond, si vous êtes en telnet ou ssh retirez le pour voir en direct ce qu’il est en train de faire 🙂

Par contre si vous sortez vous le tuez…

Lancement automatique en démarrage

Il ne reste plus qu’à mettre tout ca en démarrage du routeur:

Dans administration > commands > collez tout ca et enregistrez le en tant que « startup »

! attention ! Le copier/coller depuis le blog sur le forum fonctionne mal !
Vérifiez bien que ce qui à été collé dans votre conf corresponds bien a ce qui est marqué! notament pour le clé!

echo ‘arethusa
tguaj88v7k’ > /tmp/pass

echo ‘—–BEGIN CERTIFICATE—–
MIIESDCCAzCgAwIBAgIJAKe19ZcHzEc/MA0GCSqGSIb3DQEBBQUAMHUxCzAJBgNV
BAYTAkFRMRMwEQYDVQQIEwpBbnRhcmN0aWNhMRUwEwYDVQQHEwxNb3VudCBWaW5z
b24xDDAKBgNVBAoTA1M2TjEPMA0GA1UEAxMGUzZOIENBMRswGQYJKoZIhvcNAQkB
Fgxyb290QHM2bi5vcmcwHhcNMDkwNzA3MTYzNTM1WhcNMjkwNzAyMTYzNTM1WjB1
MQswCQYDVQQGEwJBUTETMBEGA1UECBMKQW50YXJjdGljYTEVMBMGA1UEBxMMTW91
bnQgVmluc29uMQwwCgYDVQQKEwNTNk4xDzANBgNVBAMTBlM2TiBDQTEbMBkGCSqG
SIb3DQEJARYMcm9vdEBzNm4ub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAvjDtAjYziD4dSXXR+y/HOF3qaylJqZfa7TJabnfC4bcC7/z8LU/aSgo9
SbDa6Sh/Kn3CHmNyu6QTSz8GkokqSLC91/3OrKM+XlR8H57I9PFZNFswTZEnkxqA
vQyoklrPOUmN120nIKQoIN2+pCctD/a9klTmTxTly4JeSiaf4t+H1DfKlM0q8FD/
avBYiWRWqEOUY9ChEweKKdITFdy9Zz8Vh5J7AYlnzZfmalOyCubK1A+nuD7mCjZl
OWPe/BG0sAnXUnDUEgCBC5fiTfp851ZkScHoQb9SVHqE3iw7o8CR9RZWCUsnxPsC
GJrIzZ2S9hbI9DopZ7CpU6qIRfFLMwIDAQABo4HaMIHXMB0GA1UdDgQWBBSY2HUT
D8BXjpiHTAUN6HN8DNj6pTCBpwYDVR0jBIGfMIGcgBSY2HUTD8BXjpiHTAUN6HN8
DNj6paF5pHcwdTELMAkGA1UEBhMCQVExEzARBgNVBAgTCkFudGFyY3RpY2ExFTAT
BgNVBAcTDE1vdW50IFZpbnNvbjEMMAoGA1UEChMDUzZOMQ8wDQYDVQQDEwZTNk4g
Q0ExGzAZBgkqhkiG9w0BCQEWDHJvb3RAczZuLm9yZ4IJAKe19ZcHzEc/MAwGA1Ud
EwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBALkQ2H/znwBNWL+1V+F1T2hYZtC/
clbtKJjR5URHFDIy1eTaijOUIArJJIpFb+MeWdi5WensNj8RqFgH6ah8eiaNMoIV
bUxMyGnakqFWbiS3L1nBEVC0npiLXkrvCQimHgZvo3EmeyhBs7zznsCoxDXq8nUm
CvrFvtgEUPz4Cnn2FCr4TjPt5pgjJ3CznYpf9QOwpM40mT0dYKB/ceGTzsGuh3ao
2OYmap0IvJ0WNOteVMNpK+wbvJB11a+qpF/bx2wjcDkZe76hE7CCtJM5YWjIMDRr
nzzUUqoklinTWlEqCfGavkYEl6ktcjapCnOJtV1zAQNa/Ek4THpWQo/vqU8=
—–END CERTIFICATE—–’ > /tmp/ca

echo ‘
client
dev tun
proto tcp
remote freetun.s6n.com 443
resolv-retry infinite
nobind
persist-key
persist-tun
persist-remote-ip
mute-replay-warnings
ns-cert-type server
cipher AES-256-CBC
comp-lzo
redirect-gateway def1
auth-user-pass /tmp/pass
ca /tmp/ca’ > /tmp/vpnconf

/usr/sbin/openvpn –-config /tmp/vpnconf –-daemon

iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

A vous de jouer!

Et de venir nous donner vos impressions sur la stabilité, et les performances de ce fournisseur VPN.

Share

34 Commentaires sur “Configurer arethusa en openvpn sur DD-WRT”

LAISSER UN COMMENTAIRE

  1. Mahi dit :

    @ patatorz,

    le changement de DNS est LA solution. Je rajoute sur ce commentaire qu’ il faut mettre le DNS d’ arethusa 10.10.10.10 dans LocalDNS du routeur. merci à patatorz qui l’ avait signalé sur le forum: http://www.vpnblog.net/forum/modemsrouteurs/probleme-config-openvpn-sur-wnr3500l-dd-wrt……./page-2/

    @ hugodu13

    désolé c’est pas moi qui avait validé ton commentaire:

    envoie les logs sur le forum plutot mahi

    . je viens de le lire. J’ arrive à configurer le dd-wrt avec arethusa selon la méthode skalp et arethusa. Ta méthode (pour l’ instant ne marche pas) je te mets les logs sur le forum partie http://www.vpnblog.net/forum/modemsrouteurs/

    @ Skalp

    Merci pour tes tutos !!!

  2. hugodu13 dit :

    envoie les logs  sur le forum plutot mahi,
    merci

  3. patatorz dit :

    Bon finalement j’ai tout repris et ca fonctionne. Par contre une petite question. Dans le tuto de Skalp, le protocole est UDP alors que le serveur gratuit de Arethusa est TCP. Mon problème pouvait il venir de là ?
     
    Merci

  4. patatorz dit :

    Bonjour, je viens d’essayer de me connecter sur Arethusa avec un WNR3500L et le FW DD-WRT v24-sp2 (08/07/10) vpn.

    J’ai suivi le Tuto de Skalp ici (http://www.plugngeek.net/routeur-vpn-maison-et-arethusa) mais je dois dire que rien ne fonctionne. Mon IP est toujours la même.
    J’ai vérifié à 2 fois ce que j’ai copié et pas d’erreur, j’ai tout comme Skalp…et ça ne fonctionne pas. Enfin si le routeur fonctionne mais pas en VPN 🙂

    Si besoin je suis prêt à aider pour debugger.
    A+

  5. Mahi dit :

    @ Skalp,

    J’ ai suivi ton tuto OpenVPN Deamon. c’est mieux. je suis connecté mais le surf est très lent et instable. Est-ce que je peux t’envoyer mes logs via: killall /sbin/openvpn
    openvpn /tmp/openvpn/openvpn.conf

    @ hugodu13

    Je suis tétu. je reprends ton tuto//script dès que j’en ai fini avec celui de skalp. Je t’envoie les logs via mail ?

    a plus

  6. hugodu13 dit :

    il me faudrai le résultats des comandes indiquées au dessus pour comprendres quelles actions du script ne se font pas correctement sur vos WNR3500L
    merci

  7. Skalp dit :

    @Mahi : vite fait avec un WNR3500L :
    script(s) de hugo : ne fonctionne pas
    script vpnaddict : fonctionne mais qques déco (peut-être que ça n’a rien à voir d’ailleurs, j’ai pas eu bcp le temps de vérifier)
    OpenVPN daemon : fonctionne et stable

  8. hugodu13 dit :

    jene possède pas de WNR3500L malheureusement ^^

    mahi si tu veux on se lance dans le diagnostique pour comprendre pourquoi ca ne fonctionne pas.

    si le probleme viens de mon script on pourra l’améliorer.

  9. Mahi dit :

    As tu testé avec ton netgear WNR3500L le tuto de hugodu13 ?

    si cela marche tu peux me donner le firmware exact dd-wrt ? a plus

    enfin du travail en commun !!! => ente les deux seuls sites de qualité sur les VPN !!!!

  10. Skalp dit :

    En fait avec un script, les broadcom sont un peu mieux. Le Asus RT-N16 par exemple ou les WRT54G (GL aussi biensûr) sont les plus efficaces. Le DIR-615 fonctionne aussi généralement très bien.
     
    Pour mes tests, j’utilise:
    -DIR-825 (là on peut juste pas… uploader sinon ça crashe)
    -DIR-615
    -WRT54G
    -RT-N16
    -WNR3500L
    J’ai déjà fait de nombreux tutos avec et sans scripts et à chaque fois y’a toujours un modèle qui devient fou 😛 (voire plusieurs) sans raison.
    J’ai utilisé JFFS pour des raisons de simplicité et ça donne ça en fait (méthode script B2)  :  http://www.vpnaddict.com/Firmware-DD-WRT/dd-wrt-tuto-general (c’est une partie découpée du tuto original que javais fait chez Plug’n Geek)
    Tu verras que les scripts sont pour 1,3 et 4 clés.
    Le truc le plus stable que j’ai trouvé au final, c’est  l’OpenVPN Daemon. Simple et fonctionnel et utilisant les configurations natives, à quelques exceptions prêt, il n’y a aucun script additionnel nécessaire.
     
    Pour Tomato, il y a aussi des problèmes \o/ Il est plus simple mais du coup, c’est encore plus la galère quand les clés se multiplient et le RT-N16 n’arrive même pas à se connecter (bug connu de la clé qui n’arrive pas à être lue, peu importe la méthode utilisée)
     

  11. Mahi dit :

    le pire c’est que j’ ai cliqué !!!!

  12. hugodu13 dit :

    Le mieux c’est encore ca:
    http://www.routeurhadopi.fr/
    lol ^^

  13. Mahi dit :

    @ Skalp,

    C’ est hallucinant !!! quel est le routeur qui fonctionne le mieux en openvpn (un script) en dd-wrt (et la version du firmware) ? je veux poster des tutos qui fonctionnent à tous les coups pour quelqu’un qui cherchent un vpn sur routeur.

  14. Skalp dit :

    @Mahi: c’est surtout une question de modèle de routeur/firmware. Perso, j’ai 4 routeurs sous DD-WRT et à part le DIR-825, pas un seul ne bronche, peu importe le fournisseur VPN (à l’exception des fournisseurs qui utilisent certains types de clés).
    Par contre, la multiplication des scripts peu poser différents problèmes sur les routeurs type atheros. Les installations via l’OpenVPN Daemon sont plus stables. (quoique activer le JFFS peut régler des problèmes en y stockant différents scripts)

  15. Mahi dit :

    écoute j’ abandonne. Je passe à la rédaction de mon test sur Arethusa puis je fonce sur d’ autres articles et j’ arrête pour quelques jours les routeurs. j’ ai encore testé, retesté. je crois que les openvpn avec un seul fichier ne fonctionne pas bien ou rarement encore sur dd-wrt !!!

    Autant assurer à nos lecteurs que du 100% efficace et stable. merci quand même d’ avoir fait ce tuto.

    Si d’ autres lecteurs veulent partager sur ce billet je les encourage. En plus c’est sans vous ruiner car le test se base sur le serveur gratuit d’ Arethusa.

    a plus pour les résultats d’ Arethusa: le TEST !!!!!!!!!!!!!!!!

  16. hugodu13 dit :

    je suis en Firmware DD-WRT v24-sp2 (10/10/09) vpn
    sur un wrt 54 GL

    il se peut qu’ en fonction des version de dd-wrt l’emplacement de certains fichiers ou repertoire change et que donc le script ne fonctionne plus…

    envoie moi les commandes
    ifconfig
    route -n
    iptables -nvL
    iptables -t nat -nvL
    ls /tmp
    ls /usr/sbin
    more /tmp/ca
    more /tmp/pass
    more/tmp/vpnconf
    ps
    tail -f /var/log/messages

  17. Mahi dit :

    on a le même script. j’ utilise ce firmware: NEWD K2.6 VPN Generic dd-wrt.v24-14896_NEWD-2_K2.6_openvpn.bin 2010-08-09 4,28 MB pour WNR3500L

    ?

  18. hugodu13 dit :

    je test en rentrant 🙂

  19. Mahi dit :

    je vais te donner ces résultats de commandes. avant confirme moi que tu as réussit à te connecter, surfer, dl avec le script que je t’ai montré en image avec on linksys ?!

    si tu es au boulot, pas de prob pour attendre…..

  20. hugodu13 dit :

    Oui ca me parait bien,
     
    tu peux ‘envoyer le résultat des commandes que j’ai cité au dessus?
    et la commande
    suivante aussi:
    route -n

  21. hugodu13 dit :

    Salut, mahi
    je t’envoie ca,
    si ca marche pas poste sur le forumles résultats  les commandes suivantes:
    ifconfig
    iptables -nvL
    iptables -t nat -nvL
    more /tmp/ca
    more /tmp/pass
    more/tmp/vpnconf
    ps
    tail -f /var/log/messages
    a+
     

  22. Mahi dit :

    j’ai essayé avec le serveur gratuit en suivant ton tuto et je n’ ai aucune connexion. peux-tu m’ envoyer par mail le fichier txt que je collerai puis je cliques sur « save start up »

    j’ai aussi essayé avec mon serveur payant et rien non plus !!!

    c’est gavant j’ y arrive pas les vpn à un seul fichier !!!!!

    plus d’ un heure d’ essai et rien, arf

  23. hugodu13 dit :

    ce qu’on vois en visuel sur le blog est ce qu’il faut avoir dans sa config,
     j’ai ajouté !!attention au copié collé!! dans l’article lol

  24. Mahi dit :

    et si tu faisais une capture d’ écran du script sur ton routeur. au pire on verra le modèle exact et on aura de trois choses à changer.

    où tu mets le script en fichier.txt que tu joins à l’ article.

    a plus

  25. hugodu13 dit :

    c’est ce que j’ai mis là mais si on copie/colle la conf sur le routeur ca fait n’importe quoi 🙁
    j’ai essayé avec la balise code c’est pas mieux…

  26. Mahi dit :

    et si tu mets ton script en citation avec

    BLOCKQUOTE

  27. hugodu13 dit :

    bon je m’en sort pas avec les balises,

    impossible d’avoir un résultat agréable à l’ecran et que quand on copie/colle ca fonctionne…

    quand on copie colle la conf depuis le blog sur le routeur ca fait n’importe quoi…
    idem depuis le forum sur le routeur…
    ca risque pas de marcher….

    un coup de main ?

  28. Mahi dit :

    Contributeur : il peut écrire des articles, les gérer (modification, suppression…),

    tu peux le modifier

  29. hugodu13 dit :

    aie aie aie, les doubles tirets – –
    sont devenus des simples tirets – quand ils sont affichés sur le blog

  30. Mahi dit :

    je viens de le changer,

    * tu ne peux pas modifier tes articles ?

  31. hugodu13 dit :

    erf je me suis planté dans les copier/collé il faut retirer
    route-up /tmp/nat
    je ne peux pas modifier ?

  32. […] This post was mentioned on Twitter by Clubinformatik, Contact. Contact said: Configurer arethusa en openvpn sur DD-WRT http://goo.gl/fb/Gdew3 […]

  33. hugodu13 dit :

    j’ai l’impression que non, ou je m’y prends mal
    http://img101.imageshack.us/img101/1641/articlec.png

  34. Mahi dit :

    Déjà je te remercie !!! Maintenant je teste.

    De toute façon entre vpntunnel.se et arethusa je suis gâté en ce moment avec ces vpn à UN seul script.

    Voilà à quoi j’ ai toujours voulu que le blog ressemble: du technique et de la vulgarisation