Outils pour utilisateurs

Outils du site


openwrt_openvpn

Ceci est une ancienne révision du document !


cette page a pour but de présenter l'installation d'openvpn sur un système openwrt (sur un routeur notamment) afin d'utiliser le vpn de faimaison chez soi…

créé par jkiwi le 30 mars 2017 en cour de rédaction…

01) brancher le routeur nouvellement acquis et allez sur la page d'admin (192.168.1.1 généralement)

02) dans la section “mise à jour” uploader le fichier openwrt trouvé sur le site et correspondant à votre routeur : https://wiki.openwrt.org/toh/start

03) installer openvpn via l'interface LuCI : dans /System/Software/ penser à « update lists » puis dans /Available packages installer « nano » et « openvpn-openssl »

04)

pour modifier les dns et ne pas prendre ceux de la box : attention de prendre des dns ouverts car sinon si le vpn se relance il ne pourra pas résoudre les noms de domaine si dns fermé et on se coupe les pattes sur la branche on est assise.

uci set network.wan.peerdns='0'

uci del network.wan.dns

uci add_list network.wan.dns='80.67.169.40'

uci add_list network.wan.dns='80.67.188.188'

uci commit

https://diyisp.org/dokuwiki/doku.php?id=technical:dnsresolver

Du coup quelques petits éléments complémentaires. Je vous écris de Trévoux (coucou !), et ce depuis un VPN faimaison sur un OpenWRT, par dessus une box RED-SFR ADSL (donc exactemment le même setup que toi jkiwi !). Alors que ça avait bien roulé dans mon setup similaire (VPN pour une salle de formation, qui a tourné pendant trois mois), j'ai eu quelques petites déconvenues :

- si le tunnel crashait, il ne remontait pas tout seul (probablement dû au changement d'IP de SFR ?) - aucun log pour savoir ce qu'il se passe

Du coup j'ai amélioré un peu la chose :

*/etc/rc.local*

Au lieu de la ligne dans /etc/rc.local, j'utilise un service propre. Pour utiliser le service openvpn (/etc/init.d/openwrt)

1) Commenter la ligne qu'on avait ajoutée dans /etc/rc.local 2) Effectuer les commandes suivantes :

uci set openvpn.fma_client=openvpn

uci set openvpn.fma_client.enabled='1'

uci set openvpn.fma_client.config='/etc/openvpn/fma-client.ovpn'

uci commit

(le nom fma_client est arbitraire et peut être changé pour ce que vous voulez, le fichier /etc/openvpn/fma-client.ovpn est à remplacer par le bon chemin de fichier de conf openvpn).

/etc/init.d/openvpn enable

Un reboot plus tard, ça fonctionnait

*Des logs !*

Pour suivre un peu ce qui se trame, j'ai ajouté des logs (et un fichier de statut). J'ai ajouté les fichiers suivants

log-append /var/log/openvpn.log
status /var/log/openvpn-status.log

à mon fichier .ovpn, il faut ensuite relancer openvpn /etc/init.d/openvpn restart

Ces logs m'ont permis de constater que le processus de redémarrage automatique du tunnel en cas de changement d'IP (ou tout autre problème réseau) fonctionnait, puisque ce matin vers 10h, les logs ont dit :

[…]
Tue Mar 28 10:07:34 2017 [vpn.faimaison.net] Inactivity timeout (–ping-restart

), restarting

Tue Mar 28 10:07:34 2017 SIGUSR1[soft,ping-restart] received, process restarting
[…]

… Et la connexion est remontée toute seule

Restent deux souci avec ce setup :

1) je pense que les requêtes DNS passent toujours par le DNS SFR. À vérifier et améliorer le cas échéant…

2) Même si ça fonctionne, j'ai toujours une erreur au redémarrage du tunnel :

Enter Auth Username:Tue Mar 28 10:07:42 2017 ERROR: could not read Auth username from stdin. En tombant sur ce sujet : https://sourceforge.net/p/openvpn/mailman/message/23742332/ j'ai tenté de commenter l'option “auth-nocache” pour voir si ça faisait le job. Réponse demain au changement d'IP

Cette doc m'a beaucoup aidé :

https://github.com/jlund/streisand/wiki/Setting-an-OpenWrt-Based-Router-as-OpenVPN-Client

… La doc sur le wiki opewrt n'étant pas top pour ce cas d'utilisation je trouve.

openwrt_openvpn.1513853596.txt.gz · Dernière modification : 2017/12/21 10:53 de jean-kiki