Aller au contenu

Besoin d'aide pour utiliser une image "OpenVPN Server", comment définir les paramètres du serveur après lancement de l'image ?


Elrick

Messages recommandés

Posté(e)

Bonjour,

Je souhaite abandonner l'utilisation du package Synology "VPN Server" car ce dernier est bcp trop vieux et limité.

Ce dernier n'est pas capable d'utiliser tls-auth pour ajouter une signature HMAC supplémentaire à tous les paquets de négociation SSL / TLS pour la vérification de l'intégrité.

La   signature HMAC tls-auth offre un niveau de sécurité supplémentaire au-delà de celui fourni par SSL / TLS. 

Il peut protéger contre:

  • Les attaques DoS ou bufferoverflow sur le port UDP OpenVPN.
  • L'analyse des ports pour déterminer quels ports UDP du serveur sont en état d'écoute.
  • Les vulnérabilités de débordement de tampon dans l'implémentation SSL / TLS.
  • Initiatives de prise de contact SSL / TLS à partir de machines non autorisées (alors que de telles prises de contact échoueraient finalement à s'authentifier,  tls-auth  peut les interrompre à un stade beaucoup plus précoce).

L'utilisation de  tls-auth  nécessite de générer une clé secrète partagée qui est utilisée en plus du certificat / clé RSA standard.

Il est un fait que l'implémentation OpenVPN de Synology ne prend pas officiellement en charge l'option --tls-auth à configurer via son interface graphique.

Aussi, je souhaite explorer la possibilité d'utiliser une image docker OpenVPN Server pour monter mon propre serveur VPN sur mon NAS Synology, ce sera toujours moins crade que d'avoir ce package qui n'évolue plus depuis plusieurs années.

J'ai donc installé l'image openvpn-as, mais je ne vois pas comment je dois faire après comment définir les paramètres du serveur pour accéder à l'interface de gestion et l'utiliser.

https://www.smarthomebeginner.com/install-openvpn-access-server-using-docker/#Install_OpenVPN_Access_Server_using_Docker

J'ai tenté de coller les commandes via le terminal mais je n'ai pas la réaction souhaité quand je regarde le journal.

N'ayant pas de connaissance dans le fonctionnement de docker, est-ce que quelqu'un serait me dire comment définir les paramètres svp ?

Merci pour votre aide.

 

 

  • Elrick a modifié le titre en Besoin d'aide pour utiliser une image "OpenVPN Server", comment définir les paramètres du serveur après lancement de l'image ?
Posté(e)

Salut,

J'ai aussi abandonné le paquets Syno, pour OpenVPN-AS.

Voir la doc de linuxserver https://github.com/linuxserver/docker-openvpn-as

Quelles sont tes connaissances en Docker ? Pour débuter il y a ce bon tuto de @.Shad. : [TUTO] Docker : Introduction

je te conseil fortement de créer le conteneur via Docker-compose

L'acces au panneau de gestion ce fait via l'adresse : https://DOCKER-HOST-IP:943/admin avec le login : admin et le mot de passe : password

 

Posté(e)

Hello,

Coool, merci pour ta réponse qui va m'aider grandement, je ne connais pas Docker, je le découvre par la même occasion.

Si je comprends bien, il faut créer un fichier docker-compose.yml

Il doit contenir les informations utiles :

---
version: "2.1"
services:
  openvpn-as:
    image: ghcr.io/linuxserver/openvpn-as
    container_name: openvpn-as
    cap_add:
      - NET_ADMIN
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
      - INTERFACE=eth0 #optional
    volumes:
      - <path to data>:/config
    ports:
      - 943:943
      - 9443:9443
      - 1194:1194/udp
    restart: unless-stopped

Qu'as-tu mis au niveau de :

- <path to data>:/config

Ou est-ce que je mets le fichier après ?

Et à quel endroit dois je taper docker-compose up -d  stp ? c'est en ssh n'importe ou ? ou depuis la fenetre terminal après avoir lancé le package ?

Posté(e)

Exact dans ce fichier docker-compose.yml

Tu y renseigne tes paramètres, tu trouvera les infos sur les différents paramètres ici

Afin de savoir quoi renseigner en PUID/GUID, regarde ici

TZ doit être egal à Europe/Paris si tu es en France 🙂

Le volume correspond au chemin vers ton dossier de configuration du vpn sur le nas

Par exemple, si tu l'install dans un dossier /openvpn-as/config du dossier docker sur ton NAS, il va te falloir créer manuellement les dossiers openvpn-as et config

Ensuite tu place ton fichier docker-compose.yml dans /docker/openvpn-as

Si ton docker est installé sur le volume1 alors le chemin complet est /volume1/docker/openvpn-as c'est ce chemin a renseigner dans "volume", exemple :

    volumes:
      - /volume1/docker/openvpn-as/config:/config

 

Pour créer le conteneur, en SSH, il faut ce placer dans le dossier ou est présent le fichier docker-compose.yml avec la commande : ( si le chemin est /volume1/docker/openvpn-as )

cd /volume1/docker/openvpn-as

Puis lancer la création :

docker-compose up -d

( la 1ere création peu prendre plusieurs minutes )

Tu peu consulter les logs du conteneur avec la commande :

docker logs openvpn-as

 

Posté(e)

J'ai suivi tes recommandation mais j'ai le message d'erreur suivant quand je lance la commande :

ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
 

Mon fichier est le comme ceci :

---
version: "2.1"
services:
  openvpn-as:
    image: ghcr.io/linuxserver/openvpn-as
    container_name: openvpn-as
    cap_add:
      - NET_ADMIN
    environment:
      - PUID=1026
      - PGID=100
      - TZ=Europe/Paris
      - INTERFACE=eth0 #optional
    volumes:
      - /volume1/docker/openvpn-as:/config
    ports:
      - 943:943
      - 9443:9443
      - 13090:13090/udp
    restart: unless-stopped

 

Le dernier port UDP je l'ai changé car j'ai pas envie de laisser le port standard, mais je pense pas que ce soit çà qui dérange ?!

Je sèche un peu 

Posté(e)

Salut,

Il faut lancer la commande en root.

sudo docker-compose up -d

Ou passer en root avant, avec la commande :

sudo su –

Ce qui permet ensuite d’exécuter les commandes sans rajouter "sudo" devant.

Pour le port, aucun soucis a le modifier.

 

 

 

Posté(e)

J'ai lancé comme ceci mais je me retrouve avec le retour suivant.... on y est presque.

DS1621@Diskstation:/volume1/docker/openvpn-as$ sudo docker-compose up -d
Creating network "openvpn-as_default" with the default driver
Pulling openvpn-as (ghcr.io/linuxserver/openvpn-as:)...
latest: Pulling from linuxserver/openvpn-as
Digest: sha256:4157c2XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Status: Downloaded newer image for ghcr.io/linuxserver/openvpn-as:latest
Creating openvpn-as ... error

ERROR: for openvpn-as  Cannot start service openvpn-as: driver failed programming external connectivity on endpoint openvpn-as (6be7e2ccc4ce16cad467719eeXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX😞 Error starting userland proxy: listen udp 0.0.0.0:13090: bind: address already in use

ERROR: for openvpn-as  Cannot start service openvpn-as: driver failed programming external connectivity on endpoint openvpn-as (6be7e2ccc4ce16cad467719eeXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX): Error starting userland proxy: listen udp 0.0.0.0:13090: bind: address already in use
ERROR: Encountered errors while bringing up the project.
 

il y a 14 minutes, Elrick a dit :

J'ai lancé comme ceci mais je me retrouve avec le retour suivant.... on y est presque.

DS1621@Diskstation:/volume1/docker/openvpn-as$ sudo docker-compose up -d
Creating network "openvpn-as_default" with the default driver
Pulling openvpn-as (ghcr.io/linuxserver/openvpn-as:)...
latest: Pulling from linuxserver/openvpn-as
Digest: sha256:4157c2XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Status: Downloaded newer image for ghcr.io/linuxserver/openvpn-as:latest
Creating openvpn-as ... error

ERROR: for openvpn-as  Cannot start service openvpn-as: driver failed programming external connectivity on endpoint openvpn-as (6be7e2ccc4ce16cad467719eeXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX😞 Error starting userland proxy: listen udp 0.0.0.0:13090: bind: address already in use

ERROR: for openvpn-as  Cannot start service openvpn-as: driver failed programming external connectivity on endpoint openvpn-as (6be7e2ccc4ce16cad467719eeXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX): Error starting userland proxy: listen udp 0.0.0.0:13090: bind: address already in use
ERROR: Encountered errors while bringing up the project.
 

J'ai compris l'erreur, c'est le port d'écoute du package de VPN Server qui entre en conflit avec l'installation... je vais le changer sur VPN Server et relancer pour voir.

 

Posté(e)

Est-ce qu'il y a une manipulation particulière à faire pour que le conteneur sa lance automatiquement au démarrage du NAS ?

Par défaut il autorise 2 connexion VPN simultané à prior vu ? Je vois qu'il y a une notion de licence...

Posté(e)

Oui 2 co max en version gratuite

Dans le docker compose cela signifie quel le conteneur doit rester démarré. Il ne redémarrera pas que si tu l'arrete toi meme avec docker stop openvpn-as

restart: unless-stopped
Posté(e)

Y a quelque chose que je comprends pas, pourquoi il me met une IP qui a rien à voir avec l'IP du NAS ici....

Il faut bien mettre la même IP que le NAS puisque le conteneur est en mode bridge  ?

image.thumb.png.e741528ef8611ada742fdd88c4521c8b.png

 J'ai tenté de modifier le mot de passe Admin par défaut, il le prends pas... c'est curieux.

Posté(e)
il y a 49 minutes, Elrick a dit :

Y a quelque chose que je comprends pas, pourquoi il me met une IP qui a rien à voir avec l'IP du NAS ici....

C'est l'adresse du "bridge" docker

 

On le voit dans tes log au dessus qu'il a créer un reseau "bridge" :

Citation

Creating network "openvpn-as_default" with the default driver

 

Posté(e)

En l'état, je pense que si tu tapes 172.18.0.1:5000, tu devrais tomber sur DSM (sous réserve que ton pare-feu l'autorise).
Par contre je ne suis pas sûr que tu puisses atteindre autre chose sur ton LAN. A tester.
Il m'est arrivé d'utiliser OpenVPN-AS, je trouvais ça plus simple de l'utiliser en mode host, pour avoir accès à tout mon LAN facilement.

Ca se traduit via docker-compose par :

network_mode: host

 

Posté(e)

@.Shad. @EVOTk Ah je comprends mieux pourquoi je me retrouve dans cette situation... 

En mode host, j'aurai la même IP que DSM et les clients VPN auront accès aux autres équipement sur le LAN ? c'est bien çà ?

 

Autre point, je voulais modifier le type de chiffrement pour passer d'AES-256-CBC à AES-256-GCM mais je constate que cela ne semble pas disponible.

Je suis tombé sur un vieux contenu ou c'est effectivement le cas ? Ca serait un peu dommage car j'utilise ce chiffrement sur du parefeu pfSense.

L'idée qu'OpenVPN propose moins de chose dans leur propre solution que ce que permet d'autres serait décevant.

image.png.fddc3c16fa4c4c0ca92c54df35b01fb2.png

 

Posté(e)
il y a une heure, Elrick a dit :

En mode host, j'aurai la même IP que DSM et les clients VPN auront accès aux autres équipement sur le LAN ? c'est bien çà ?

Pour moi oui, mais si tu arrives à la même chose en mode bridge c'est mieux je pense, le mode host c'était pour ne pas me casser la tête. 😄 Et vu que mon NAS n'utilisait pas le VPN en mode serveur ou client, aucun risque de conflit.
Soit le routage est géré automatiquement depuis 172.18.0.0 vers ton réseau local en 192.168.0.0 (ou autre) et là c'est banco, soit c'est un routage manuel à faire mais là je pense que ça devient chiant, car les règles iptables ne persistent pas par défaut, donc il faudrait recréer ces règles à chaque reboot du NAS.

Je pense que ce serait intéressant que tu joues un peu avec pour voir. 😉 

il y a une heure, Elrick a dit :

Autre point, je voulais modifier le type de chiffrement pour passer d'AES-256-CBC à AES-256-GCM mais je constate que cela ne semble pas disponible.

Je suis tombé sur un vieux contenu ou c'est effectivement le cas ? Ca serait un peu dommage car j'utilise ce chiffrement sur du parefeu pfSense.

L'idée qu'OpenVPN propose moins de chose dans leur propre solution que ce que permet d'autres serait décevant.

Comme tu dis, c'est un vieuxxxxx patchlog, on est à la version 2.8.7 d'OpenVPN AS, qui embarque OpenVPN 2.5, lequel prend en charge par défaut AES-256-GCM et AES-128-GCM. Ce sera raccord avec la version d'OpenVPN disponible sur pfSense 2.4.5+

Posté(e)

Je viens de tester en mettant l'IP du NAS, ca fonctionne correctement.

En revanche, je ne sais pas si il attribut toujours une ip virtuelle à mon NAS pour accèder à l'interface web, je crois quand meme que le mode host serait mieux que le mode bridge.

 

@.Shad. @EVOTk  Autres interrogations :

 

> Est-ce que vous arrivez à changer le mot de passe Admin par défaut... cela ne fonctionne pas chez moi, normal ?

> Est-ce le mode host pourrait me permettre d'atteindre mon NAS avec l'IP qu'elle a sur mon LAN ? (au lieu de l'atteindre avec le réseau virtuel VPN) ?

 

Posté(e)
il y a 45 minutes, Elrick a dit :

Est-ce que vous arrivez à changer le mot de passe Admin par défaut... cela ne fonctionne pas chez moi, normal ?

Salut,

Je te conseil de lire cette note https://github.com/linuxserver/docker-openvpn-as#application-setup

 

il y a 45 minutes, Elrick a dit :

Est-ce le mode host pourrait me permettre d'atteindre mon NAS avec l'IP qu'elle a sur mon LAN ? (au lieu de l'atteindre avec le réseau virtuel VPN) ?

Je ne suis pas en mode host et je peu atteindre mon nas sans soucis,  et autres périphériques. De memoire c'est une options a cocher dans les réglages pour permettre l'acces aux autres réseaux. 

Posté(e)

Je confirme, suis bien la procédure pour créer un nouvel utilisateur admin.
Et bonne nouvelle pour le mode bridge qui fonctionne bien. 👍

Posté(e)

@.Shad. @EVOTk Il est indiqué :

Le compte "admin" est un compte système (PAM) et après la mise à jour ou la recréation du conteneur, son mot de passe revient à la valeur par défaut. Il est fortement recommandé de bloquer l'accès de cet utilisateur pour des raisons de sécurité:

  1. Créez un autre utilisateur et définissez-le en tant qu'administrateur,
  2. Connectez-vous en tant que nouvel utilisateur,
  3. Supprimez l'utilisateur "admin" dans l'interface graphique,
  4. Modifiez le as.conffichier sous config / etc et remplacez la ligne boot_pam_users.0=adminpar#boot_pam_users.0=admin boot_pam_users.0=kjhvkhv (cela ne doit être fait qu'une seule fois et survivra à la récréation du conteneur)

Le point 3, j'ai pas la possibilité de le faire via l'interface, comment faites vous ?

image.thumb.png.a95c789825c02c0ac7bcf38fb8c4f5ec.png

Nous sommes d'accord que le point 4 n'est pas réalisable/à faire ?

 

Dernière question, si je veux refaire un container en mode host, il est pas nécessaire de modifier le fichier docker-compose.yml ?

Il faut juste cocher l'option Utiliser le même réseau que Docker host ?

image.png.f1f8964cff7a4feecdbb7613317e6267.png

Posté(e)
Il y a 21 heures, Elrick a dit :

Le point 3, j'ai pas la possibilité de le faire via l'interface, comment faites vous ?

Tu es bien connecté avec ton nouvel utilisateur ?

Il y a 21 heures, Elrick a dit :

remplacez la ligne boot_pam_users.0=adminpar#boot_pam_users.0=admin boot_pam_users.0=kjhvkhv

Je n'ai pas compris de quoi il est question, soit ton c/c est foireux, soit ça m'échappe.

Il y a 21 heures, Elrick a dit :

Dernière question, si je veux refaire un container en mode host, il est pas nécessaire de modifier le fichier docker-compose.yml ?

Il faut juste cocher l'option Utiliser le même réseau que Docker host ?

@EVOTk a dit que ça marchait très bien en bridge, donc aucune raison de t'orienter vers le mode host. Le mode bridge est à privilégier à fonctionnement équivalent.
Et soit on utilise Docker-compose, soit l'interface de DSM, mais mélanger les deux est juste source d'erreur.
Il suffit de mettre :

network_mode: bridge

ou

network_mode: host

dans le fichier docker-compose.yml

Posté(e)

Hello,

Le point 4 est a faire ! Sinon faire le reste ne sert a rien ! Si tu ne modifie pas la ligne

Alors a la re-création du conteneur, l'user admin se re-créer ( ce qui est bon a savoir en cas de problème pour reprendre la main, il te suffira de remettre cette ligne a l'origine, reboot et le compte admin/password sera de nouveau présent ).

 

Il faut être logger avec un autre compte administrateur pour supprimer le compte admin d'origine :

pFQcYU5.png

 

Dans le compose quand tu ne renseigne pas de reseau ( comme dans le compose que tu as utilisé ), il créer automatiquement un reseau en bridge. Si tu souhaite donc rester en bridge, il n'y a rien a modifier. Si tu veut passer en host il faut rajouter la ligne : network_mode: host comme l'indique @.Shad.

 

Voici mes réglages de routing dans VPN Setting :

4DlZp19.png

 

Posté(e)

@.Shad. @EVOTk Concernant le point 3 c'est plus clair pour moi, merci 🙂

Pour le point 4, il est dit

Modifiez le as.conffichier sous config / etc et remplacez la ligne boot_pam_users.0=adminpar boot_pam_users.0=kjhvkhv

C'est une action qu'il faut faire à quel endroit précisement ? dans le folder Docker dans /docker/openvpn-sa/etc ??

Sous config y a rien ? c'est bien juste dans /docker/openvpn-sa/etc ?

 

Posté(e)
Le 10/04/2021 à 18:54, Elrick a dit :

<path to data>:/config

La modif est a faire dans le dossier que tu as renseigne ici

Posté(e)

Ah c'est étrange car le dossier et vide, je n'ai aucun fichier dans config.

J'ai bien un fichier as.conf mais uniquement dans /docker/openvpn-sa/etc, normal ?

Posté(e)

Aurait-tu renseigné :

/volume1/docker/openvpn-sa:/config 

Si oui alors ceci est normal.

La ligne se sépare en 2 morceaux ( le séparateur sont les deux points )

Il y a donc : /volume1/docker/openvpn-sa

et /config

Le 1er champ ( /volume1/docker/openvpn-sa ) représente le chemin du dossier sur ton NAS, le 2eme le dossier ( /config  ) auquel il est rattaché DANS le conteneur docker.

Donc si tu as bien renseigné ceci, alors oui le fichier a modifier se trouve dans /docker/openvpn-sa/etc ( pour éviter tous soucis, a faire conteneur à l’arrêt ! )

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.