Skip to content
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Une box VPN à faire vous-même pour surfer en toute sécurité

Hier, j’ai déterré mon vieux routeur Linksys WRT54-GL. Mais si, souvenez-vous, c’est celui où j’avais installé OpenWRT et que j’avais même brické.

Objectif : Installer un client OpenVPN dessus, le coller juste derrière ma box ADSL pour faire transiter par le VPN l’intégralité des appareils de la maison. Ça me permet de sécuriser ma connexion et de profiter de la compression OpenVPN.

Du coup, je vais expliquer comment configurer un client OpenVPN sur un WRT54-GL.

Avant de commencer, vous devez avoir :

Allez, on commence… Etape n°1, installer dd-wrt sur le routeur. Tout est expliqué ici. Ahahaha, oui ce n’est pas compliqué, vous verrez.

Concernant les versions du firmware, il faut d’abord installer une version Mini Generic (dd-wrt.v24_mini_generic.bin) puis ajouter par dessus une version VPN Generic (dd-wrt.v24_vpn_generic.bin). Vous les trouverez ici (cherchez le mot clé 54GL ou la ref de votre routeur).

Alors ce qu’il faut savoir c’est que dans les versions dd-wrt post-2011 de je ne sais plus quel mois, il y a tout ce qu’il faut pour configurer un client OpenVPN digne de ce nom en clickodrome. Malheureusement, la version de ddwrt du vieux WRT54GL date de 2010. Y’a bien un client OpenVPN dedans, mais il ne fonctionne pas correctement, en tout cas pour se connecter à un OpenVPN-AS.

Bref, me voilà avec mon dd-wrt tout frais. Mais la partie est loin d’être gagnée, car j’ai rencontré pas mal de soucis et je vais vous raconter tout ça, pour que justement, vous ne cherchiez pas trop. Concernant la config de DD-WRT, faites en sorte que l’accès au net se fasse bien via le routeur, n’hésitez pas à désactiver le Wifi si vous ne vous en servez pas, et configurez le routeur en mode « routeur » (Héééé oui).

routeur

Je ne sais pas si ça a un impact, mais vérifiez que DNSMasq est bien activé.

dnsmas

Dans cette partie VPN, ne cochez rien. Enfin, vous pouvez essayer, peut être que ça marchera directement pour vous, mais en ce qui me concerne, tous mes essais là-dedans n’ont rien donné de concluant.

ddwrt

Non, nous comme on est des punks, on va tout faire en scripts… Ne paniquez pas, c’est super easy !

Pour commencer, il faut que vous récupériez le fichier Autologin de votre compte OpenVPN AS.

openvpn

Bon, si vous n’avez pas de fichier de conf en autologin, vous pouvez toujours utiliser un fichier de conf (user-locked profile) + un fichier contenant votre login et votre mot de passe que vous passerez en paramètre à OpenVPN avec –auth-user-pass, mais il faudra adapter un peu mon script.

Là où ça devient drôle, c’est qu’on ne peut rien « écrire » sur le routeur. Enfin, si, mais à chaque reboot tout est effacé. C’est moche. Il faut donc générer vos fichiers de conf lors du boot du routeur. Pour ce faire, rendez-vous ici.

commandes

Et copiez-collez-y le script suivant :

echo « XXXXXX » > /tmp/myopenvpn.conf
(sleep 20 ; ntpclient -h ns3.vedur.is ; sleep 60 ; killall openvpn ; /usr/sbin/openvpn –config /tmp/myopenvpn.conf –daemon ; sleep 60 ; 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;)&

Je vous explique tout ça… Vous voyez les XXXXX ? Et bien il faut les remplacer par le contenu de votre fichier ovpn (celui en autologin). Le petit echo est utilisé pour créer le fichier de config ovpn.

Ensuite, on a un enchainement de commandes, toutes très utiles… Après avoir fait mon echo, je lance un petit sleep pour faire une pause de 20 secondes, puis je synchronise la date et l’heure via NTP. Alors pour la petite histoire, j’avais tout bien fait, mais impossible de me connecter en sur mon serveur OpenVPN et j’avais l’erreur suivante :

TLS Error: Unroutable control packet received from…

Après avoir cherché un moment, je me suis rendu compte que c’était parce que la date et l’heure du routeur n’étaient pas la même que la date et l’heure de mon serveur OpenVPN. Mon serveur OpenVPN étant en Islande, il fallait que je synchronise la date de mon routeur sur le fuseau islandais. J’ai bien essayé de le faire directement depuis l’interface de ddwrt, à cet endroit-là (SETUP -> BASIC SETUP):

time

Mais rien à faire, quand je me connectais via SSH à mon routeur, et que je tapais la commande « date », j’avais toujours le 1er janvier 1970 (apparemment, la synchro prenait un temps indéterminé). J’ai donc du forcer une synchro NTP dans mon script de commande (ntpclient -h ns3.vedur.is) pour synchroniser correctement la date et l’heure sur un serveur NTP islandais (le même que celui qu’utilise mon serveur. Je le sais grâce à la commande « ntpq -p » qui sort la liste des serveurs NTP utilisés par l’OS) puis je patiente 60 secondes (sleep 60) pour être certain que la date et l’heure sont bien récupérées par le routeur. 60 secondes, c’est surement trop, mais je n’ai pas encore affiné les durées.

Après je shoote tous les openvpn pour être bien sûr qu’aucun ne tourne (killall openvpn) et je lance openvpn en mode daemon en spécifiant le fichier de config myopenvpn.conf qui contient les clés nécessaires à la connexion (/usr/sbin/openvpn –config /tmp/myopenvpn.conf –daemon).

Et j’attends à nouveau 60 secondes pour être certain que la connexion est bien établie. Une fois que c’est fait, votre routeur WRT54GL est bien connecté à l’OpenVPN, mais vos paquets n’y passent pas encore. C’est pourquoi il faut ajouter les 3 règles suivantes dans votre iptables pour que tout soit correctement redirigé via l’interface tun0 du VPN (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;)

Et voilà pour les explications.

En gros, ça devrait ressembler à ça dans votre zone de commande :

dwrt2

Dès que vous êtes satisfait du résultat, cliquez sur le bouton SAVE STARTUP un peu plus bas.

savestartup

Et redémarrez votre routeur (ADMINISTRATION -> MANAGEMENT -> REBOOT ROUTER).

Ensuite, rendez-vous sur le site whatismyip.com. Vous devriez y voir dans un premier temps votre vraie IP (rien n’est lancé), puis au bout d’une minute, plus d’accès au net (le vpn est actif), puis une minute plus tard vous devriez voir l’adresse IP de votre serveur OpenVPN (les règles iptables sont actives).

Et voilà ! Comme je vous le disais, il faudrait que j’affine la durée des sleep pour que ça prenne moins de temps, mais bon, c’est pas bien grave, car une fois que ça tourne, ça tourne.

Au niveau du débit, évidemment, j’ai perdu un peu (genre 150 Ko/s), mais ça, ça va dépendre fortement de votre VPN. Par contre, je trouvais que les résolutions DNS via VPN mettaient trop de temps. J’ai donc installé un petit serveur unbound pour faire de la résolution DNS en local sur mon serveur islandais et ça va beaucoup mieux.

Une fois Unbound activé, rendez-vous sur l’admin de votre serveur OpenVPN-AS, et dans Configuration -> VPN Settings, mettez 127.0.0.1 en serveur DNS primaire (et un autre si vous voulez, mais c’est pas nécessaire).

ns

Voilà, j’espère que ce petit tuto fait à l’arrache vous inspirera. J’ai utilisé le WRT54-GL parce que c’est ce que j’avais sous la main, mais je pense qu’avec n’importe quel routeur qui supporte dd-wrt, c’est jouable de la même manière. Après c’est pas un modèle dernier cri donc peut mieux faire niveau rapidité mais vu la connexion ADSL pourrie que je me tape, ça suffit largement pour surfer à l’aise.

Bref, amusez-vous bien !

Ps: Cher Monsieur Cazeneuve, si vous désirez consulter l’intégralité de mes communications électroniques, sachez que ma porte est grande ouverte (pas la peine de la défoncer) et que vous ou vos sbires peuvent venir rafler à la maison quand vous le voulez. Je vous donnerais tous les accès dont vous avez besoin pour violer ma vie privée.

A la recherche d’un DNS qui vous protège et respecte votre vie privée ?

Vie privée, contrôle parental, exceptions de filtrage…

NextDNS offre une grosse couche de sécurité qui vous permet de bloquer automatiquement la résolution de certains noms de domaine en fonction de listes fournies par différents acteurs. Vous pouvez par exemple bloquer les sites remontés par Google comme les sites fournissant des malwares ou proposant des pages de phishing. Tout ce qui est cryptojacking, c’est-à-dire les sites utilisant votre navigateur pour miner de la cryptomonnaie à votre insu, peut être également bloqué.

Le typosquatting vous connaissez ? Il s’agit de prendre un nom de domaine qui ressemble vraiment à un nom de domaine officiel et tromper les gens qui feraient des fautes de frappe ou en utilisant des caractères ASCII graphiquement proche de véritables lettres de l’alphabet. Et bien ici, même chose, NextDNS vous protège.

En Savoir + sur NextDNS

Vos cartes PlayStation Network en promo avec Eneba et Korben

— Article en partenariat avec Eneba —

Si vous possédez une PlayStation, voilà un bon plan qui pourrait vous plaire. Grâce à Eneba, vous allez pouvoir faire quelques économies. Histoire de bien commencer l’année avec la nouvelle PS5 que vous avez reçue lors des fêtes de fin d’année dernière (sinon ça marche aussi avec les PS3 et PS4). Eneba vous propose, notamment, des cartes PlayStation Network avec jusqu’à 16% de réduction par défaut (valeur 50€, mais certains vendeurs la propose dés 41.89€ soit 44.54€ avec les frais). A quoi vous pouvez ajouter le code KORBEN vous bénéficiez en de 3% supplémentaire donc 43.21€ TTC au final (à entrer lors de la validation de votre achat).

Il est tout beau ce code non ?

Eneba c’est quoi ?

Pour ceux qui ne connaissent pas encore, Eneba c’est une place de marché en ligne qui propose un tas de produits numériques liés en grande partie au jeu vidéo, le plus souvent avec des promotions assez intéressantes. Le site est rapide, assez complet, sécurisé et moins cher, pourquoi se priver ?

La boutique propose beaucoup de contenu pour les plateformes de jeux parmi les plus connues (Steam, GOG, Uplay, Origin, Epic Games, Nintendo Switch, Xbox & co), de nombreuses cartes cadeaux (Amazon, Blizzard, Google Play, Nintendo eShop, Netflix, Spotify & co) mais aussi des abonnements, des points de jeu ou encore des logiciels. Bref il y en a pour tous les profils.

Promotions sur les meilleurs jeux avec eneba.com !

Que faire avec ma Carte PlayStation Network (PSN50) ?

Le crédit d’achat des différentes cartes PSN (de 5€ et jusqu’à 100€) vous permettra d’accéder à tous les produits du PlayStation Network :

  • les jeux récents : NBA2K21, FIFA21, Spider-Man : Miles Morales , les nouveaux bundles Fortnite, etc.
  • les jeux en précommandes
  • les DLC
  • des films et séries (si vous avez déjà un abo PS+)

Et pour le cas ou vous vous poseriez la question, il n’y a pas d’anguille sous roche, oui les produits sont bien activés sur la plateforme officielle PSN. Eneba a d’ailleurs comme partenaires des boites solides comme Konami, Ci Games ou Team17 (Worms, Project-X …). La boutique en ligne vérifie de manière approfondie la fiabilité de chaque vendeur sur sa place de marché (état des stocks, légalité …) pas de risques d’arnaques. Ils sont de plus très bien notés sur Trustpilot.

Attention tout de même, pour bénéficier de l’offre votre compte devra être enregistré en France. Par contre le crédit sur la carte n’a pas de date d’expiration, vous en disposerez jusqu’à épuisement.

À qui s’adresse la carte cadeau PSN ?

À n’importe qui désirant faire quelques économies. Un petit pourcentage ici et là ça finit par compter, surtout chez les gros joueurs qui ont besoin parfois d’une ou plusieurs cartes chaque mois.

Mais c’est aussi un cadeau idéal à offrir si vous connaissez un joueur sur PlayStation, mais que vous ne savez pas ce qu’il aime ou ce qu’il possède déjà. Où dont l’anniversaire est dans plusieurs mois (vous achetez moins cher aujourd’hui tant que l’offre promo existe et vous gardez la carte jusqu’à la date)

A la recherche d’un DNS qui vous protège et respecte votre vie privée ?

Vie privée, contrôle parental, exceptions de filtrage…

NextDNS offre une grosse couche de sécurité qui vous permet de bloquer automatiquement la résolution de certains noms de domaine en fonction de listes fournies par différents acteurs. Vous pouvez par exemple bloquer les sites remontés par Google comme les sites fournissant des malwares ou proposant des pages de phishing. Tout ce qui est cryptojacking, c’est-à-dire les sites utilisant votre navigateur pour miner de la cryptomonnaie à votre insu, peut être également bloqué.

Le typosquatting vous connaissez ? Il s’agit de prendre un nom de domaine qui ressemble vraiment à un nom de domaine officiel et tromper les gens qui feraient des fautes de frappe ou en utilisant des caractères ASCII graphiquement proche de véritables lettres de l’alphabet. Et bien ici, même chose, NextDNS vous protège.

En Savoir + sur NextDNS

Les articles du moment