• Accueil
  • Nouvelles
  • VPNs
    • Fiches et Critiques VPNs
    • Articles
  • Usenet
    • Fiches et Critiques Usenet
  • Routeurs/firmwares
  • Guides
    • Windows
    • Smartphones
    • Firmware DD-WRT
  • Contact

DD-WRT : Tuto général

Mardi, 24 Août 2010 Écrit par Skalp

On a vu fleurir les derniers mois pas mal d'offres ventant les mérites de routeurs "anti-hadopi" qui ne sont rien d'autre que des WRT54G utilisant un custom firmware maison, le DD-WRT. Ils sont vendus hors de prix et on peut le faire soi-même en utilisant, notamment des routeurs plus puissants. Le routeur utilisera lui-même un VPN (OpenVPN ou PPTP) pour l'ensemble de votre réseau !

logo

 

Préambule

Tous les tests ont été effectués à partir de DIR-825* de D-Link ou de WRT300N de Linksys et s'appliquent à tous les routeurs compatibles DD-WRT. Le DD-WRT est un firmware pour routeur basé sur un noyau linux et offrant de multiples possibilités telles que VPN, SSH, Telnet, VLan, repeater, etc. inclus nativement ! En gros, vous décuplez la puissance de votre appareil pour rien.

Ce sujet requiert un minimum de connaissances. Si vous savez déjà jouer un peu dans votre routeur (le configurer un minimum) il n'y aura aucun problème. L'IP de base d'un DD-WRT est 192.168.1.1 pour accéder à l'interface admin. Faites vos configurations initiales après le flash (DHCP ou PPPOE par exemple) qui sont identiques à ce que vous utilisez actuellement.

De plus, rien ne vous empêche de brancher le routeur à un  routeur principal  et de créer un 2ème réseau en branchant le routeur DD-WRT dans l'un des RJ-45 disponible puis d'y connecter vos PC, vous serez derrière le VPN également (les tests ont été effectués ainsi). N'oubliez pas de configurer également vos connexions sans fil une fois tout terminé car le wireless est activé par défaut !

Ainsi, ce tuto se veut très général et vous sera utilise si vous ne trouvez pas votre bonheur dans la section Firmware DD-WRT de VPN Addict. L'objectif est de vous offrir les bases afin que vous puissiez résoudre des problèmes de base liés à votre configuration routeur. Si vous avez la moindre question, n'hésitez pas

 

I- Configurer OpenVPN

Ici, il existe 2 méthodes (en fait 3 mais une est assez inefficace et échoue trop souvent) suivant le type de VPN que vous avez. Tout d'abord, nous allons voir les OpenVPN sans mot de passe et ceux avec login et mot de passe. On se retrouve donc à l'adresse 192.168.1.1. Vous allez commencer par vous créer un login et pass administrateur !

N'hésitez pas à regardez dans le menu si votre VPN a déjà son tuto !

A- OpenVPN sans login/pass

C'est notamment le cas de XangoVPN.

Dans un premier temps, décompressez le fichier que vous donnera votre fournisseur VPN ou téléchargez les 3 clés qu'il vous envoie. Vous devriez avoir un .ovpn, un .key, un ca.crt et un .crt. Ouvrez le .ovpn avec notepad. Il devrait ressembler à cela :

client
dev tun #ou tap
proto tcp  #ou udp suivant le protocole
remote IP.SERVEUR PORT #en général 1194 pour le port
resolv-retry infinite
nobind
persist-key
persist-tun

ca ca.crt  #votre ca.crt
cert cert.crt #votre cert.crt
key key.key #votre key.key
comp-lzo #la compression est activée
verb 1
route-method exe
route-delay 2

Comme vous pouvez le constater, tout est décrit afin que nous puissions configurer notre routeur correctement. Rendez-vous maintenant dans l'interface Admin du routeur puis dans Services > VPN

 

l'interface de base

 

le menu client OpenVPN

 

 

1. Activez OpenVPN Client

2. Server IP/Name : mettez-y l'ip de votre VPN

3. Port : le port du VPN

4. Ne touchez pas les 4 paramètres suivants SAUF si vous avez une configuration différente avec votre VPN

5. Use LZO : ici oui

6. Tunnel protocole : ici TCP (je vous le dis tout de suite, UDP c'est mieux !)

7. Tunnel Device : TAP ou TUN, ici TUN

8. Public server key : copiez l'intégralité de votre ca.crt

9. Public client key : copiez l'intégralité de votre cert.crt

10. Private Client key : copiez l'intégralité de votre key.key

11. Cliquez sur Apply Settings puis Save

12. Allez dans le menu Administration en haut

13. Appuyez sur Reboot Router et attendez une 30aine de secondes

14. Rendez-vous sur http://monip.org tout devrait fonctionner

 

B-OpenVPN avec un login/pass

C'est la méthode que nous retiendrons pour de nombreux fournisseurs VPN comme Arethusa, Cryptocloud (avec quelques modifs de paramètres), VPNTunnel.se, etc. Il existe ici 2 variantes. La première est simple et convient à ceux n'ayant que une clé (ca.crt) ainsi qu'un login et un pass. La seconde convient à tout type de configuration de 1 à 4 clés !

 

B-1 Méthode rapide avec 1 clé ca.crt

1- Aller dans Services > VPN

2- Activer VPN Daemon

3- Start Type Wan Up

4- Copier votre ca.crt dans "Certification du serveur public"

5- Dans "Clef du Client Privée" inscrivez sur 2 lignes votre login et votre pass

6- Copier votre vpn.ovpn (votre fichier de configuration) dans "OpenVPN Config"

7- à la ligne ca xxxx.crt mettez ca ca /tmp/openvpn/ca.crt

8- Ajoutez ou modifiez la ligne auth-user-pass en indiquant auth-user-pass /tmp/openvpn/key.pem

9- Vous pouvez tentez de modifier votre fichier config avec des fonctions présentes sur cette page ou vous inspirez des scripts de la méthode B-2

10- Allez Dans Administration > Shell et entrez les lignes suivantes :

iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -o br0 -j ACCEPT
iptables -I INPUT -i tun0 -j REJECT
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE


Faites Sauvegarder le Pare-Feu

11- Allez dans Administration > Gestion et redémarrez le routeur

12- Un petit tour sur http://monip.org et vous devriez être sur le VPN

 

OpenVPN Daemon

 

Firewall

 

Note:

Cette méthode peut être adaptée en utilisant les autres champs pour les autres clés.

 

B-2 Méthode avec scripts

Nous allons commencer par activer la partition JFFS2 du routeur afin de pouvoir y mettre nos clés, login et pass. Pour cela allez dans Administration > Gestion > JFFS2 et activez le tout.

 

JFFS

 

Par mesure de sécurité, cliquer aussi sur Activer pour Effacer JFFS2. Enregistrez vos paramètres puis redémarrez le routeur. Vous verrez que le bouton Désactiver au niveau de Effacer JFFS2 est maintenant coché :

 

Partition activée

 

Récupérez les différentes informations de votre founisseurs: fichiers configuration, login et pass, certificats (en général, vous n'avez que le ca.crt). Nous sommes prêt à commencer.

Allez dans Administration Shell et suivez à la lettre les indications suivantes :

 

Le shell via interface  web

 

Voici ci dessous 3 scripts exemples afin de vous montrer les 3 grandes différences de scripts au niveau des clés (on peut en avoir entre 1 et 4 suivant le fournisseur de VPN). Regardez bien votre fichier ovpn et les clés qui accompagnent votre abonnement afin d'adapter l'un de ces exemples.

1. Script pour clé ca.crt (arethusa, vpntunnel.se, etc.):

Entrez le script suivant si vous avez seulement la clé ca.crt:

sleep 30
echo "USERNAME
PASSWORD" > /jffs/user.conf
sleep 10
echo "client
dev tun
proto udp
remote nl.tunsrv.s6n.net 443
resolv-retry infinite
nobind
hand-window 30
persist-key
persist-tun
ca /jffs/ca.crt
ns-cert-type server
cipher AES-256-CBC
comp-lzo
verb 3
keepalive 10 60
reneg-sec 0
auth-user-pass /jffs/user.conf
redirect-gateway def1 bypass-dhcp" > /jffs/config.ovpn
sleep 10
echo "-----BEGIN CERTIFICATE-----
VOTRE CLÉ CA.CRT À L'IDENTIQUE
-----END CERTIFICATE-----" > /jffs/ca.crt

2. Script avec 3 clés ca.crt, cert.crt et key.key:
sleep 30
echo "USERNAME
PASSWORD" > /jffs/user.conf
sleep 10
echo "client
dev tun
proto udp
remote SERVEUR PORT
resolv-retry infinite
nobind
persist-key
persist-tun
ca /jffs/ca.crt
cert /jffs/cert.crt
key /jffs/key.key
ns-cert-type server
cipher AES-256-CBC
comp-lzo
verb 3
auth-user-pass /jffs/user.conf
redirect-gateway def1 bypass-dhcp" > /jffs/config.ovpn
sleep 10
echo "-----BEGIN CERTIFICATE-----
VOTRE CLÉ CA.CRT À L'IDENTIQUE
-----END CERTIFICATE-----" > /jffs/ca.crt
sleep 10
echo "-----BEGIN CERTIFICATE-----
VOTRE CLÉ CERT.CRT À L'IDENTIQUE
-----END CERTIFICATE-----" > /jffs/cert.crt
sleep 10
echo "Contenu de la clé à l'identique" > /jffs/key.key

 

3. Script pour 4 clés ca.crt, ta.key, cert.crt et key.key :

Entrez le script suivant si vous avez 4 clés:

sleep 30
echo "USERNAME
PASSWORD" > /jffs/user.conf
sleep 10
echo "float
remote SERVEUR PORT
dev tun
persist-key
persist-tun
proto udp
pull
route-method exe
route-delay 2
nobind
tun-mtu 1500
comp-lzo
auth-user-pass /jffs/user.conf
cipher AES-256-CBC
tls-client
client
tls-auth /jffs/ta.key 1
ns-cert-type server
ca /jffs/ca.crt
cert /jffs/cert.crt
key /jffs/key.key
keepalive 10 60
resolv-retry 86400
verb 1" > /jffs/config.ovpn
sleep 10
echo "-----BEGIN CERTIFICATE-----
VOTRE CLÉ CA.CRT À L'IDENTIQUE
-----END CERTIFICATE-----" > /jffs/ca.crt
sleep 10
echo "-----BEGIN CERTIFICATE-----
VOTRE CLÉ CERT.CRT À L'IDENTIQUE
-----END CERTIFICATE-----" > /jffs/cert.crt
sleep 10
echo "-----BEGIN CERTIFICATE-----
VOTRE CLÉ TA.KEY À L'IDENTIQUE
-----END CERTIFICATE-----" > /jffs/ta.key
sleep 10
echo "Contenu de la clé à l'identique" > /jffs/key.key


Note:

1. Copier l'un de ces scripts en respectant les retour à la ligne

2. Remplacez username et password par les vôtres

3. Remplacez serveur port par votre serveur et le port de ce dernier

4. Si vous avez plusieurs serveurs disponibles, mettez remote-random sur une ligne puis dessous remote serveur port pour chaque serveur.

5. echo "client jusqu'au prochain " correspond à votre fichier ovpn. Adaptez cette partie du script. Vous pouvez avoir dev tap au lieu de dev tun ou alors prot tcp au lieu de udp par exemple.

6. le dernier echo "---BEGIN CERTIFICATE--- est pour votre clé ca.crt que vous mettez à l'identique et les autres, si vous en avez servent à créer les autres clés

6. N'oubliez pas que votre script peut être différent et ajouter d'autres paramètres ou bien en enlever, tenez-vous y.

 

Maintenant que vous avez adapté votre script (ne vous inquiétez pas, c'est la phase la plus difficile), cliquez sur "sauver le démarrage" puis vous devriez voir votre script s'afficher :

 

Voilà le script de  démarrage

 

 

Nous allons maintenant créer les règles du firewall afin de ne pas avoir de problèmes lors de nos passages dans le VPN.

Toujours dans le Shell entrez les lignes suivantes :

iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -o br0 -j ACCEPT
iptables -I INPUT -i tun0 -j REJECT
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

Cliquez maintenant sur Sauver le Pare-Feu et vous devriez obtenir ceci :

 

pare-feu

 

Note:

Si votre VPN est en tap (dev tap) remplacez les tun0 par tap0

 

Maintenant, allez dans Administration > Gestion et tout en bas, redémarrez votre routeur. Votre script de démarrage va créer tous les fichiers dont nous avons besoin. Attendez environ 3 à 4  minutes.

Retournez maintenant Dans Administration > Shell puis cliquez sur le bouton Éditer sous Démarrage puis effacez dans la fenêtre et remplacez par ce script :

sleep 30
/usr/sbin/openvpn --config /jffs/config.ovpn --auth-user-pass /jffs/user.conf &

Sauvegardez à nous en cliquant sur Sauver le Démarrage tout en bas, ça vous donne un truc de ce genre là après :

 

les 2 scripts finaux

 

Maintenant, allez dans Services > VPN

 

le menu VPN

 

Dans Client OpenVPN (en bas), cliquez sur activer et ne remplissez RIEN puis sauvegardez :

 

ne rien remplir

 

Maintenant, retournez dans Administration > Gestion puis cliquez sur redémarrer...

Dans 2 à 3 minutes allez faire un tour sur http://monip.org et tout devrait fonctionner parfaitement, vous devriez être protégé par votre VPN !

 

II- Configurer PPTP

C'est le plus simple (mais aussi le VPN le moins sécurisé et réputé moins stable). Pour cela, connectez-vous à votre interface admin à l'IP 192.168.1.1 du DD-WRT.

Allez dans Services > VPN puis remplissez les champs avec les différentes informations que vous a donné votre fournisseur (si vous n'avez que IP, login et pass, ne rentrez que cela). Ensuite, allez dans Administration > Gestion puis redémarrer...

 

PPTP

 

Allez faire un tour sur http://monip.org et tout devrait fonctionner parfaitement, vous devriez être protégé par votre VPN !

Note :

Afin de renseigner correctement les différents champs, regardez la configuration Linux disponible chez votre fournisseur VPN, elle donne en général une description plus importante et fournit l'ensemble des données nécessaires.

Pour des raisons de sécurité, préférez TOUJOURS l'OpenVPN au PPTP qui souffre de vulnérabilités diverses.

 

III- Conclusion

Vous voilà maintenant équipé d'un routeur tournant sous Linux avec un VPN qui se connecte automatiquement et protège l'ensemble de votre réseau ! De plus, en cas de déconnexion, il se reconnectera automatiquement. N'hésitez pas à aller vérifier votre IP une fois de temps en temps. Si vous avez la moindre question, n'hésitez pas à utiliser le formulaire de contact ou alors un commentaire afin d'étayer le présent tuto !

N'hésitez pas trop à franchir le pas, ça vaut vraiment le coup surtout que vous pouvez, une fois que vous commencez à maîtriser un peu l'engin, utiliser et activer le SSH par exemple ou encore mettre des routeur en mode repeater à l'étage d'une maison, etc. Vous tenez là un jouet qui vous occupera des heures...

 

*Le DIR-825 de Linksys s'est montré extrêmement instable durant tous les tests, préférez-lui un routeur Broadcom (Asus RT-N16, WRT300N, etc.)

Ajouter un Commentaire


Enregistrer
Annuler
JComments

Menu des Guides

  • Guides DD-WRT
  • Guides SmartPhones
  • Guides Windows
  • À propos
  • Twitter
  • Facebook
Guides Guides
Nouvelles Nouvelles

DD-WRT
TomatoVPN
OpenWRT


S'identifier/S'enregistrer

  • S'enregistrer
  • Identifiant perdu
  • Mot de passe perdu