Outils pour utilisateurs

Outils du site


openwrt_openvpn

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
openwrt_openvpn [2017/04/07 11:11]
jean-kiki
openwrt_openvpn [2019/09/25 21:54] (Version actuelle)
thatoo
Ligne 1: Ligne 1:
 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... 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 cours de rédaction... 
  
-pour modifier les dns et ne pas prendre ceux de la box :  +01) brancher le routeur nouvellement acquis et allez sur la page d'admin (192.168.1.1 généralement)
-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.+
  
 +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) se connecter en ssh au routeur : ssh root@ip_local_du_routeur
 +
 +05) dans /etc/openvpn/ créer un fichier appelé « faimaison.ovpn » (en utilisant nano) et coller la conf ci-dessous : 
 +<code>
 +# ########################################################################### #
 +# FAImaison
 +# Fichier de configuration du client OpenVPN
 +# fma_client.ovpn
 +# ########################################################################### #
 +
 +## Type de configuration
 +client
 +
 +## Interface
 +dev tun
 +
 +## Protocole utilisé (tcp/udp)
 +proto udp
 +
 +## en UDP, décommentez cette ligne, le serveur sera alors notifié quand vous vous déconnecterez, ce qui permettra d'éviter de vous envoye$
 +## explicit-exit-notify
 +
 +## Serveur (adresse et port)
 +remote vpn.faimaison.net 1194
 +
 +## Verification du certificat du serveur
 +ns-cert-type server
 +
 +## le Common Name du certificat doit être "vpn.faimaison.net" pour être accepté
 +verify-x509-name vpn.faimaison.net name
 +
 +## Essayer de se connecter à l'infini, et au dela
 +resolv-retry infinite
 +
 +## Pas besoin de se lier a un port local
 +nobind
 +
 +## Configuration persistante au redemarrage
 +persist-key
 +#persist-tun
 +
 +## MTU du lien (?)
 +link-mtu 1541
 +
 +## Verbosité des logs
 +verb 3
 +
 +## redirige tout le trafic vers ce vpn
 +redirect-gateway def1
 +
 +## on ne stock pas les identifiants de l'utilisateur en mémoire
 +#auth-nocache
 +
 +## Les identifiants de l'utilisateur (username + password) sont stockés dans un fichier "passFMA" à coté de ce fichier de config
 +## la premiere ligne sera le login, et la deuxieme le mot de passe
 +## Il est aussi possible de passer l'option '--auth-user-pass' au lancement de
 +## la commande openvpn, pour se voir demander ces informations  
 +auth-user-pass /etc/openvpn/passFMA
 +
 +## compatibilité windows
 +route-method exe
 +
 +## on attend un peut avant d'ajouter la route via le vpn, le temps que notre adresse IP soit récupérée
 +route-delay 2
 +
 +## options rajoutés en s'inspirant de la conf de carlota pour éviter que le vpn ne se coupe (utile si serveur derrière la connexion)
 +#ping crée du traffic pour que le serveur soit actif toute les 10s envoie un paquet
 +ping 10
 +#ping-restart écoute le traffic et redémarre si il n'y a rien au bout de 30s
 +ping-restart 30
 +
 +## avoir des logs
 +log-append /var/log/openvpn.log
 +status /var/log/openvpn-status.log
 +
 +## Certificat de la CA de FAImaison
 +<ca>
 +-----BEGIN CERTIFICATE-----
 +MIIFBjCCA+6gAwIBAgIJAIY1ylYTFFj0MA0GCSqGSIb3DQEBCwUAMIGyMQswCQYD
 +VQQGEwJGUjEZMBcGA1UECBMQUGF5cyBkZSBsYSBMb2lyZTEPMA0GA1UEBxMGTmFu
 +dGVzMRIwEAYDVQQKEwlGQUltYWlzb24xEDAOBgNVBAsTB09wZW5WUE4xCzAJBgNV
 +BAMTAkNBMR0wGwYDVQQpExRGQUltYWlzb24gT3BlblZQTiBDQTElMCMGCSqGSIb3
 +DQEJARYWYWRtaW5zeXNAZmFpbWFpc29uLm5ldDAeFw0xNjA2MzAyMjQ2MTFaFw0y
 +NjA2MjgyMjQ2MTFaMIGyMQswCQYDVQQGEwJGUjEZMBcGA1UECBMQUGF5cyBkZSBs
 +YSBMb2lyZTEPMA0GA1UEBxMGTmFudGVzMRIwEAYDVQQKEwlGQUltYWlzb24xEDAO
 +BgNVBAsTB09wZW5WUE4xCzAJBgNVBAMTAkNBMR0wGwYDVQQpExRGQUltYWlzb24g
 +T3BlblZQTiBDQTElMCMGCSqGSIb3DQEJARYWYWRtaW5zeXNAZmFpbWFpc29uLm5l
 +dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMKRZm+K1SEnvS6fNoSX
 +eHGjGl6CyTaQvC4NEMEEVA4bLSBoFnfPjmvFa9gVSN3l757id+KtIBjjJpsTjSSL
 +JT+uTv4w0ApS6JZssBIltSg1FGzIh0WAJbOBjlC1if8mHnAVRaFM7YzZGy/RUEp/
 +6dl6rvJW2zf+bLxHpFZV5mxHkAkmiHweEEv8BXcXbQK9UkTpWN4icU8IQpnkSnFV
 +JAb6308DRqmwz+5sSuAyqDtjmJx/+M2pOSPCCrK6eV9D5aJqOvVCXFQ2s5Q7qilQ
 +KUJ+GKLne3Z3yHI1WWIvUxLSfPtciOz2EGAuJWQ9WSJNu/3iQSzA191o/pGmNc4Q
 +qIMCAwEAAaOCARswggEXMB0GA1UdDgQWBBSp+ECuBVx9WGgao9xy+H6jgvWj2zCB
 +5wYDVR0jBIHfMIHcgBSp+ECuBVx9WGgao9xy+H6jgvWj26GBuKSBtTCBsjELMAkG
 +A1UEBhMCRlIxGTAXBgNVBAgTEFBheXMgZGUgbGEgTG9pcmUxDzANBgNVBAcTBk5h
 +bnRlczESMBAGA1UEChMJRkFJbWFpc29uMRAwDgYDVQQLEwdPcGVuVlBOMQswCQYD
 +VQQDEwJDQTEdMBsGA1UEKRMURkFJbWFpc29uIE9wZW5WUE4gQ0ExJTAjBgkqhkiG
 +9w0BCQEWFmFkbWluc3lzQGZhaW1haXNvbi5uZXSCCQCGNcpWExRY9DAMBgNVHRME
 +BTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAMcMCiOcB+HM8RI5Yq488yO8oghnmr
 +D/Cawtn+eOHh/j4TI8RqbgNiRCKybnOkloYsqg32iBB0DciPI2eq1OvgtZckUzqC
 +u84nNxiesaKALH84TJZtBf7zOjNsOX2b6b5FXP5Z0WtCrOwNbMhrWF9v4O9siuNj
 +aRFeEexeIyk3QNO5AmkjKQfA0h3BAd5ySLc2tbezTSyHTS0CSCNOsbArL8xU70oS
 +BWAJQPTFoCD/JGR1HhsMAU6t0odEVJ58bYyeZVaijoK3AlnqZ8BTCyqYK4Y0yZMJ
 +OixgAbQgwlZPLGOKci04jcPMMdOhesY46oyp5Gjy7+lNyAUqbXi/NzBu
 +-----END CERTIFICATE-----
 +</ca>
 +</code>
 +
 +06) puis créer un fichier « passFMA » également dans /etc/openvpn/ contenant vos identifiants et mot de passe VPN fourni par FAImaison. Exemple : 
 +<code>
 +pseudo
 +mot-de-passe
 +</code>
 +
 +07) 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 le DNS est fermé et on se coupe les pattes sur la branche sur laquelle on est assise].
 +<code>
 uci set network.wan.peerdns='0' uci set network.wan.peerdns='0'
  
-uci del network.wan.dns+uci delete network.wan.dns
  
 uci add_list network.wan.dns='80.67.169.40' uci add_list network.wan.dns='80.67.169.40'
Ligne 15: Ligne 136:
  
 uci commit uci commit
 +</code>
 https://diyisp.org/dokuwiki/doku.php?id=technical:dnsresolver https://diyisp.org/dokuwiki/doku.php?id=technical:dnsresolver
  
-Du coup quelques petits éléments complémentaires. Je vous écris +fin de conf et historique extrait d'échange email :  
-de Trévoux (coucou !), et ce depuis un VPN faimaison sur un + 
-OpenWRT, par dessus une box RED-SFR ADSL (donc exactemment le +8) 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 :
-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 ?) - si le tunnel crashait, il ne remontait pas tout seul (probablement dû au changement d'IP de SFR ?)
Ligne 30: Ligne 147:
  
 Du coup j'ai amélioré un peu la chose : 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 Au lieu de la ligne dans /etc/rc.local, j'utilise un service
-propre. Pour utiliser le service openvpn (/etc/init.d/openwrt)+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 : Effectuer les commandes suivantes :
 +<code>
 uci set openvpn.fma_client=openvpn uci set openvpn.fma_client=openvpn
  
 uci set openvpn.fma_client.enabled='1' uci set openvpn.fma_client.enabled='1'
  
-uci set openvpn.fma_client.config='/etc/openvpn/fma-client.ovpn'+uci set openvpn.fma_client.config='/etc/openvpn/faimaison.ovpn'
  
 uci commit uci commit
 +</code>
 (le nom fma_client est arbitraire et peut être changé pour ce que (le nom fma_client est arbitraire et peut être changé pour ce que
-vous voulez, le fichier /etc/openvpn/fma-client.ovpn est à+vous voulez, le fichier /etc/openvpn/faimaison.ovpn est à
 remplacer par le bon chemin de fichier de conf openvpn). remplacer par le bon chemin de fichier de conf openvpn).
 +<code>
 /etc/init.d/openvpn enable /etc/init.d/openvpn enable
 +</code>
 Un reboot plus tard, ça fonctionnait  Un reboot plus tard, ça fonctionnait 
 +
 +9) De retour dans l'interface LuCI d'openwrt :
 +
 +Dans Network/Interfaces éditer "lan" et changer l'adresse ip local (par exemple 192.168.2.1). Ainsi si vous branchez votre routeur à une box (avec généralement une ip local 192.168.1.1) les 2 n'entreront pas en conflit (sinon ça tourne en rond).
 +
 +10) Dans l'onglet /Network/Interfaces/ cliquer sur « New Interface »
 +
 +"name" : wanvpn
 +
 +"Protocol of the new interface" : unmanaged
 +
 +Dans "Cover the folowing interface" entrez la valeur "tun0"
 +
 +cliquez sur "submit". Une fois créé allez dans l'onglet "firewall settings" cliquez sur "unspecified -or- create:" et rentrer la valeur "wanvpn" puis appuyez sur entrée.
 +
 +11) Dans l'onglet /Network/Firewall/General Settings/Zones
 +
 +wanvpn doit être à input : reject ; outpout : accept ; forward : reject
 +
 +cocher masquerading
 +cocher mssclamping
 +
 +si vous "éditer" wanvpn vérifier que "lan" est bien coché dans : Allow forward from source zones: lan
 +
 +si vous "éditer" lan : décocher "wan" dans le Zones de "lan" et dans Allow forward to destination zones: wanvpn
 +
 +---
 +
 +[déjà intégré dans les étapes ci-dessus]
  
 *Des logs !* *Des logs !*
Ligne 97: Ligne 240:
  
 … La doc sur le wiki opewrt n'étant pas top pour ce cas d'utilisation je trouve. … La doc sur le wiki opewrt n'étant pas top pour ce cas d'utilisation je trouve.
 +
 +---
openwrt_openvpn.1491556284.txt.gz · Dernière modification: 2017/04/07 11:11 de jean-kiki