Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 16/11/2022, à 09:28

NicoApi73

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

Je comprends ton installation. Je connais Laurux, c'est installé chez moi (même si je n'ai toujours pas basculé ma compta dessus, j'utilise toujours pour l'instant Ciel compta). Pour être précis, j'ai 2 postes et un serveur mySQL indépendant. Les 2 postes sont configurés pour travailler avec le serveur mySQL. Un des postes est sur le réseau local, le second est "distant". En fait, j'ai un tunnel VPN entre les 2 sites, par conséquent, le poste distant est configuré comme s'il était sur le réseau local. Comme le tunnel VPN était déjà en place, je ne m'étais jamais préoccupé de la liaison ssh.

L'intérêt du VPN est d'être sur le réseau local et donc d'accéder à toutes les ressources (disque réseau, imprimantes...), ce qui est mon premier besoin. De plus, ce qui est proposé ici est de faire un accès ssh par mot de passe, ce qui peut être catastrophique en terme de sécurité informatique si le mot de passe est faible. Par conséquent, dans la même situation que la tienne, je passerais de nouveau par un tunnel VPN.

Pour avoir quelque chose d'opérationnel rapidement, tu peux donc effectivement commencer par mettre en place un accès par ssh, puisque l'outil le permet. Pour ça il faut que openssh-server soit installé sur la machine qui héberge le serveur SQL (donc ton poste maître).

Sur le client 2 (celui qui sera distant), tu actives "Connexion MySQL par SSH" dans Base>Connexion nouvelle base. Dans Nom d'utilisateur connexion ssh, tu mets le login sur le poste maître, dans Adresse tunnel, tu mets (dans un premier temps) son adresse IP locale et dans Mot de passe ssh, tu mets le mot de passe correspondant au login. La configuration par défaut des 2 autres variables est censé être correcte.

Tu peux ensuite essayer pour voir si ça fonctionne en local.

L'étape d'après sera d'ouvrir le port 22 sur ta box, de rediriger vers le port 22 de ton serveur et de modifier l'adresse tunnel par celle de ta box (l'adresse externe).

/!\ : Le mot de passe doit être très robuste.

Hors ligne

#27 Le 16/11/2022, à 10:49

polinux

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

Voici le lien avec un visuel sur la fenêtre de connexion
Laurux

Hors ligne

#28 Le 16/11/2022, à 10:59

polinux

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

Super et merci pour cette info,
Je vais donc provisoirement passer pas ssh le temps de finir mon installation d’openvpn.
J’ai bien noté que ce n’était pas secure comme méthode.

Je vais continuer l’installation avec le tutoriel DigitalOcean.

Hors ligne

#29 Le 16/11/2022, à 14:04

NicoApi73

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

Peux tu donner le retour de

lsb_release -a

Hors ligne

#30 Le 16/11/2022, à 15:01

alex2423

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

polinux a écrit :

Super et merci pour cette info,
Je vais donc provisoirement passer pas ssh le temps de finir mon installation d’openvpn.
J’ai bien noté que ce n’était pas secure comme méthode.

Je vais continuer l’installation avec le tutoriel DigitalOcean.


Pour info, à ma connaissance, tu as 3 types de connexions te permettant de faire un tunnel sécurisé :
- le ssh => établir un tunnel en redirigeant local vers un port distant (ou plage)
- le vpn => établir un tunnel en redirigeant tout le traffic
- la ssl => établir un tunnel vers une url

Et via ces 3 moyens, il est possible de fonctionner par un système de clef public privé.
- pour ma part, j'ai un raspberry sous Débian chez mes parents. Je rentre un mot de passe pour protéger ma clef privé. Si on me vole mon mot de passe, on ne pourra pas se connecter sur mon serveur parce qu'il faut également que l'on me vole ma clef qui est sur mon poste. D'ailleurs, c'est le comportement par défaut de Débian. La connexion par mot de passe au serveur sshd n'est pas permise par défaut, uniquement clef privé/public
- et pour mon portail photo Piwigo que j'ai installé sur mon serveur Web (nginx), il n'est pas possible d'y accéder si le navigateur web n'a pas le certificat.

De mon point de vue, les tunnels SSH et SSL ne sont pas moins bien sécurisant que du VPN. Le VPN permet juste de rediriger tout le traffic, et ce n'est toujours le besoin.

La doc de Ubuntu explique bien comment créer une clef privé (que l'on peut protéger par un mot de passe appelé passphrase)
https://doc.ubuntu-fr.org/ssh#authentif … iqueprivee

Hors ligne

#31 Le 16/11/2022, à 15:11

NicoApi73

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

@alex : je ne sais pas comment sécuriser le tunnel ssh initialisé par Laurux par une clé. Il ne demande qu'un mot de passe.

NicoApi73 a écrit :

[...] De plus, ce qui est proposé ici est de faire un accès ssh par mot de passe, ce qui peut être catastrophique en terme de sécurité informatique si le mot de passe est faible. [...]

C'est pour ça que je considère cette méthode comme moins sécurisée. Il est peut être possible de créer un tunnel ssh par clé et de mettre la pass-phrase comme mot de passe dans Laurux, mais je ne sais pas comment est géré le ssh dans l'application et si c'est documenté, je n'ai pas trouvé où c'était.

Hors ligne

#32 Le 16/11/2022, à 21:01

alex2423

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

NicoApi73 a écrit :

@alex : je ne sais pas comment sécuriser le tunnel ssh initialisé par Laurux par une clé. Il ne demande qu'un mot de passe.

NicoApi73 a écrit :

[...] De plus, ce qui est proposé ici est de faire un accès ssh par mot de passe, ce qui peut être catastrophique en terme de sécurité informatique si le mot de passe est faible. [...]

C'est pour ça que je considère cette méthode comme moins sécurisée. Il est peut être possible de créer un tunnel ssh par clé et de mettre la pass-phrase comme mot de passe dans Laurux, mais je ne sais pas comment est géré le ssh dans l'application et si c'est documenté, je n'ai pas trouvé où c'était.

Okay, je viens de voir la page de connexion :
https://www.laurux.fr/docs/Ecrans/Base.png

Il semblerait que la connexion distante est uniquement une connexion sur la base de donnée, je pensais qu'il y aurait une autre connexion. Quand on coche la case par SSH, le port socket connexion local est sur le port 3306. On pourrait alors se baser sur cette configuration pour créer un tunnel manuellement.

Pour rappel pour créer un tunnel manuellement :

ssh -L port_source:ip_prive_serveur_mysql:port_destination root@ip_public_box -p port_ouvert_box

ip_prive_serveur_mysql = correspond à l'ip privée de destination de ton tunnel.
- port_source:ip_prive_serveur_mysql:port_destination = on écoute sur le port "port_source" et on renvoie le flux sur le seveur ip_prive_serveur_mysql sur le port "port_desination"

- le bout du tunnel n'est pas forcément le serveur ssh, il est possible de rediriger le flux vers un autre serveur. c'est pourquoi on peut indiquer une ip. Si on souhaite établir un tunnel uniquement jusqu'au serveur ssh, on peut indiquer :
port_source:localhost:port_destination

Donc par exemple en cas concret pour Polinux, imaginons son réseau avec ses ip :
tunnel-ssh-Page-2-3.jpg

https://i.postimg.cc/rmx79dxH/tunnel-ssh-Page-2-3.jpg

On pourrait imaginer un truc dans le genre :

ssh -L 3306:192.168.1.10:3306 polinux@10.54.1.101 -p 2022

Explication :
- polinux@10.54.1.101 -p 2022 => on établit une connexion sur l'ip de la box sur le 2022. La box nous redirige vers le serveur 192.168.1.5 sur le port 22. Sur cette machine, un deamon ssh tourne en écoutant sur le port 22. On s'y connecte donc.
-L 3306:192.168.1.10:3306 => on établie un tunnel jusqu'à la machine 192.168.1.10. Les ports locaux et distant sont identique : 3306.


Et sur Laurux :
- on ne coche pas sur la case Laurux, on ne coche pas sur la case pour avoir un tunnel
- on indique localhost parce que le client ssh est sur la même machine que le client Laurux
- on laisse par défaut le numéro de port parce que le port d'écoute de notre tunnel est le 3306

Et une fois que l'on a validé la connexion par mot de passe, on peut mettre en place l'authentification par clef :

On génère la clef (idéalement avec un passphrase :
ssh-keygen -t ed25519 -C "poste_distant_laurux"

On l'envoie sur le serveur :
ssh-copy-id -i ~/.ssh/id_ed25519.pub polinux@10.54.1.101 -p 2022

Et ensuite on peux tester la connexion si on nous demande notre passprase. Si c'est le cas buingo :
ssh polinux@10.54.1.101 -p 2022

On alors désactiver la connexion par mot de passe en fouillant dans le fichier de conf du serveur ssh
https://doc.ubuntu-fr.org/ssh#authentif … iqueprivee

Dernière modification par alex2423 (Le 16/11/2022, à 21:48)

Hors ligne

#33 Le 16/11/2022, à 23:49

polinux

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

Bonsoir,

Pour ApiNico73 voici le retour demandé :

facon-piscine@facon-piscine:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.5 LTS
Release:	20.04
Codename:	focal
facon-piscine@facon-piscine:~$ 

Merci Alex2423 pour ces infos détaillées
J'ai commencé à regarder ça mais trop fatigué avec le chantier je ne tiens pas devant l'écran.

pour info sur le forum laurux où j'ai posé la question la réponse est d'utiliser X2go.
je vous livre l'info brute je ne connais pas c'est un logiciel de contrôle de bureau à distance.

Hors ligne

#34 Le 17/11/2022, à 00:14

alex2423

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

Oui x2go est un logiciel de contrôle à distance qui a la particularité d'ouvrir une session distante (et non pas se connecter sur la session courante du serveur).

Hors ligne

#35 Le 17/11/2022, à 09:25

NicoApi73

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

Bonjour,

J'ai regardé en détail la génération des clés. A partir de la 20.04, c'est easy-rsa 3 qui est utilisé. La sécurité a été améliorée, la génération des clés est maintenant plus complexe avec la signature par un serveur. J'ai mis à jour certains de mes posts précédents qui n'étaient par conséquent plus à jour.

Serveur ne veut pas dire machine physique différente. Il est possible de le faire avec des répertoires différents sur la même machine ou avec des machines virtuelles.

Si ton besoin se limite à accéder à un seul serveur (MySQL), la solution décrite au #32 est suffisante à condition :
- authentification par clé
- désactivation de l'authentification par mot de passe sur la machine
- éventuellement une protection supplémentaire avec fail2ban pour limiter la charge d'une attaque par la force brute

Si ton besoin est d'accéder à d'autres services de ton réseau (par exemple la/les imprimantes, un disque réseau...), une solution par VPN est appropriée. Elle n'est pas si difficile à mettre en œuvre, la génération des clés nécessite la signature de celles-ci, donc un peu plus d'opérations que précédemment.

Hors ligne

#36 Le 17/11/2022, à 23:04

polinux

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

Je commence à y voir un peu plus clair,
J'ai 2 besoins ma connexion à mysql pour Laurux et pouvoir accéder à mes dossiers et fichier dans le dossier personnel.
si la solution #32 le permet alors c'est tout bon sinon je suis parti pour finir le VPN.

Hors ligne

#37 Le 18/11/2022, à 21:14

polinux

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

Comme je vais avoir besoin d'accèder à mon serveur MySQL et aussi à mon dossier personnel
je vais donc continuer la mise en place du VPN avec le tuto https://www.digitalocean.com/community/ … u-20-04-fr
Petite question, quand je fais cette commande :

ssh root@your_server_ip

comment trouver l'IP du serveur ? est ce celle du PC ?

Hors ligne

#38 Le 18/11/2022, à 22:00

NicoApi73

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

Bonsoir,

ok, je devrais avoir du temps demain matin (peut être même l'après midi) pour te filer un coup de main. Ne te précipite pas.

Le tuto en question utilise des pré-requis, en particulier celui là : https://www.digitalocean.com/community/ … untu-20-04 (qui est en anglais) C'est un peu différent de ce que j'ai mis en place, car ici on est en easy-rsa 3 (qui vient avec la 20.04) et je suis en easy-rsa 2 (qui vient avec la 18.04)

La bonne manière de procéder est d'avoir une machine pour la mise en place et la signature du certificat (Autorité de Certification), ton serveur OpenVPN qui va demander une clé privé et un certificat serveur à l'Autorité de Certification, ton/tes clients qui vont demander une paire de clés et un certificat client.

Ton serveur devrait être ta machine sur laquelle tu as ta base de données MySQL (ce n'est pas obligé que ce soit cette machine, et j'ai même tendance à répartir les responsabilités, néanmoins ce sera plus simple car tu n'auras que cette machine qui sera allumée en permanence). Ton client sera la machine qui se connectera de manière distante à ton serveur.

Ton Autorité de Certification peut être :
- une machine distincte
- une machine virtuelle
- et je pense que tu peux techniquement le faire à partir de la machine qui te sert de serveur ou celle qui te sert de client. Ca pose des problèmes de sécurité informatique que je pense être très limités dans ton cas. (Je vais demander un avis)

En suivant le tuto en français, tu vas bloquer à l'étape 4 car ton CA (Autorité de Certification) ne sera pas en place. Laisse moi le temps de voir qu'est ce qui est le plus simple pour toi et qui est suffisamment sécurisé.

Question : connais tu VirtualBox ou VMWare ?

Hors ligne

#39 Le 18/11/2022, à 23:00

Nuliel

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

Salut,
Alors accéder à un serveur sql via ssh c'est une possibilité (au final le serveur ssh sert de rebond) dont la sécurité est celle de ssh (avec une authentification par clé et sans mdp c'est impec), en vrai ce serait possible de faire aussi du partage de fichiers avec sshfs.
Pour le vpn, oui le CA est idéalement sur une autre machine, mais dans le cas de polinux, vu qu'il devrait pas y avoir masse changements (pas de pc à ajouter ou retirer), pour moi le CA peut être mis hors ligne (sur une clé usb, ...). À noter que le CA c'est le truc auquel on fait confiance, donc c'est un service sensible.
wireguard et x2go j'ai jamais testé, donc je vais pas me prononcer dessus.

Dernière modification par Nuliel (Le 18/11/2022, à 23:01)

Hors ligne

#40 Le 18/11/2022, à 23:18

NicoApi73

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

Dans ce cas, seuls les fichiers peuvent être mis sur la clé, je veux dire par là, si on suis la méthode proposé par Digital Ocean :
-  créer 3 répertoires sur la clé : un pour le CA, un pour le serveur et un pour le client
- faire des liens dynamiques comme dans l'étape 2 du CA et les étapes 1 et 6 du serveur
- générer et transférer les fichiers entre les répertoires (sans avoir à changer de machine)
- Puis transférer les clés et certificats en fonction des besoins
- retirer et ranger la clé.

@Nuliel : Est-ce suffisamment sécurisé?

Hors ligne

#41 Le 18/11/2022, à 23:57

Nuliel

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

Oui, pour moi c'est suffisamment sécurisé.

Hors ligne

#42 Le 19/11/2022, à 00:31

polinux

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

Ok je mets en stand by pour l'instant,
Je ne sais pas si c'était la bonne solution mais j'ai créé un autre utilisateur donc une autre session non root sur le pc qui me sert de serveur
et j'avais commencé à monter mon serveur CA.
Pour info j'étais sur le tuto suivant : https://www.digitalocean.com/community/ … untu-20-04
et je suis à l'étape "Step 5 — Enabling External Access for Your Regular User"

Hors ligne

#43 Le 19/11/2022, à 12:24

polinux

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

Bonjour,
alors je pense qu'il faut reprendre au #21 du tutoriel suivant : https://www.digitalocean.com/community/ … u-20-04-fr
C'est le moment où il faut mettre en place le CA.

Hors ligne

#44 Le 19/11/2022, à 12:25

NicoApi73

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

Salut

Je suis entrain de te préparer l'ensemble des commandes

EDIT : sais tu formater une clé USB en ext4?
Sinon, sais tu utiliser VirtualBox?

Dernière modification par NicoApi73 (Le 19/11/2022, à 12:26)

Hors ligne

#45 Le 19/11/2022, à 12:34

polinux

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

Je peux faire ça avec Gparted

Hors ligne

#46 Le 19/11/2022, à 12:37

NicoApi73

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

/!\ Ce post a été remis en forme pour plus de clarté. La configuration du serveur est au #48, celle du client au #53

Générations des clés et certificats

Pré-requis avoir installé openVPN et easy-rsa 3 sur la machine qui fera office de serveur et openVPN sur la machine qui fera office de client. La machine faisant office de serveur doit être en version 20.04 (pour que ce soit easy-rsa 3 qui vienne)

sudo apt install openvpn easy-rsa

Formater une clé USB en ext4 et se placer à la racine de la clé (quelque chose comme /media/$USER/xxxxxxx). Le format ext4 n'est pas nécessaire. Il permet la gestion des droits, sachant que comme c'est une clé, ça peut facilement être contourné.

Création de la structure de répertoire :

mkdir -p server-configs/keys
mkdir -p client-configs/keys
mkdir server
mkdir CA

Etape 1 Mise en place de l'Autorité de Certification

EDIT : la commande openssl rand -writerand pki/.rnd a été ajouté après ./easyrsa init-pki car une erreur d'absence de fichier .rnd était générée lors de la génération des clé/certification... (erreur présente avec easy-rsa 3.0.6-1)
L'erreur en question :

Can't load cheminCA/pki/.rnd into RNG
139838347605312:error:2406F079:random number generator:RAND_load_file:Cannot open file:../crypto/rand/randfile.c:98:Filename=cheminCA/pki/.rnd

Cette erreur n'est pas bloquante, les fichiers seront générés, la robustesse est grandement réduite...

ln -s /usr/share/easy-rsa/* CA/
cd CA/
./easyrsa init-pki
openssl rand -writerand pki/.rnd
nano vars

Copier ceci dans le fichier :

set_var EASYRSA_REQ_COUNTRY    "FR"
set_var EASYRSA_REQ_PROVINCE   "Mon departement"
set_var EASYRSA_REQ_CITY       "Ma ville"
set_var EASYRSA_REQ_ORG        "Mon entreprise"
set_var EASYRSA_REQ_EMAIL      "mon.adresse@email.fr"
set_var EASYRSA_REQ_OU         "Community"
set_var EASYRSA_ALGO           "ec"
set_var EASYRSA_DIGEST         "sha512"
set_var EASYRSA_CERT_EXPIRE    36525

Modifier à convenance les 5 premières lignes. La dernière ligne est optionnelle, sans elle, les certificats émis ont une validité par défaut de 3 ans. (La valeur ici est mise à 36525 jours de période de validité).

CTRL+o - Entrée - CTRL+x

./easyrsa build-ca nopass
cd ..

Etape 2 : Création de l'infrastructure PKI Serveur

ln -s /usr/share/easy-rsa/* server/
cd server/
nano vars

Copier ceci dans le fichier

set_var EASYRSA_ALGO "ec"
set_var EASYRSA_DIGEST "sha512"

Sauvegarder : CTRL+o - Entrée
Sortir : CTRL+x

./easyrsa init-pki
openssl rand -writerand pki/.rnd
./easyrsa gen-req server nopass
sudo cp pki/private/server.key ../server-configs/keys
cd ../CA/
./easyrsa import-req ../server/pki/reqs/server.req server
./easyrsa sign-req server server
sudo cp pki/issued/server.crt ../server-configs/keys
sudo cp pki/ca.crt ../server-configs/keys
cd ../server
openvpn --genkey --secret ta.key
sudo cp ta.key ../server-configs/keys
sudo cp ta.key ../client-configs/keys

Etape 3 : Création de l'infrastructure PKI client

cd ../server
./easyrsa gen-req client1 nopass
cp pki/private/client1.key ../client-configs/keys/
cd ../CA
./easyrsa import-req ../server/pki/reqs/client1.req client1
./easyrsa sign-req client client1
cp pki/issued/client1.crt ../client-configs/keys/
cp pki/ca.crt ../client-configs/keys/

Dernière modification par NicoApi73 (Le 06/12/2022, à 08:39)

Hors ligne

#47 Le 19/11/2022, à 12:41

polinux

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

J'ai formaté un clé en ext4 elle fait 8 go
et je ne connais pas virtual box hmm

Hors ligne

#48 Le 19/11/2022, à 12:43

NicoApi73

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

/!\ Ce post a été remis en forme pour plus de clarté. La configuration du client au #53

Configuration du serveur

Basé sur https://www.digitalocean.com/community/ … u-20-04-fr. S'y référer pour les commentaires.


Première étape : récupérer le template du fichier de conf et le mettre dans le répertoire de conf du serveur :

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/server/
sudo gunzip /etc/openvpn/server/server.conf.gz

Seconde étape : modifier le fichier de conf

sudo nano /etc/openvpn/server/server.conf

Pour chacun des points ci-dessous, il faut trouver la première ligne (sans le wink, la commenter en ajoutant le ; et rajouter la seconde.

;tls-auth ta.key 0 # This file is secret
tls-crypt ta.key
;verb 3
verb 4
;dh dh2048.pem
dh none
;cipher AES-256-CBC
cipher AES-256-GCM

Rajouter juste en dessous :

auth SHA256

Ensuite :
Décommenter (retirer le ; ) :

user nobody
group nogroup

Pour pouvoir logger dans un fichier, décommenter (retirer le ; ) également pour la ligne

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

Pour pousser tout le trafic des clients (si on le souhaite) dans le tunnel, trouver

;push "redirect-gateway def1 bypass-dhcp"

et la décommenter (supprimer le ; ) :

push "redirect-gateway def1 bypass-dhcp"

/!\ : cette commande (ci-dessus) ne pousse que le trafic IPv4. Pour les sites qui fonctionnent également en IPv6, ils peuvent être joints sans passer par le tunnel VPN, en fonction du client utilisé. A ce jour des clients type network-manager-openvpn redirigeront tout le trafic dans le tunnel et l'IPv6 sera bloqué. L'utilisation du client openvpn utilisé en ligne de commande poussera le trafic IPv4 dans le tunnel avec cette commande et le trafic IPv6 sera géré localement. C'est ce qu'il s'est passé ici et confirmé .

Pour passer tout le trafic dans le tunnel (IPv4 et IPv6), il faut commenter la ligne précédente et en rajouter une autre (en fait, rajouter le flag ipv6) de telle sorte que l'on ait :

;push "redirect-gateway def1 bypass-dhcp"
push "redirect-gateway def1 bypass-dhcp ipv6"

(Il est même possible de ne rediriger que l'IPv6 avec les flags ipv6 !ipv4)

Optionnel, pour pouvoir voir le réseau côté serveur VPN, trouver :

;push "route 192.168.10.0 255.255.255.0"

décommenter (retirer le ; ), et mettre le réseau du serveur avec le masque de sous-réseau (ici 192.168.0.0, masque de sous réseau 255.255.255.0)

push "route 192.168.0.0 255.255.255.0"

Choisir un protocole (tcp ou udp) et laisser le port sur 1194 (ou en choisir un autre)

proto tcp
port 1194

Sauvegarder et quitter :
CTRL + o - Entrée - CTRL + x

Il est hautement préférable de mettre en place une rotation des logs suite à cette commande. Ca peut se faire par une tâche cron ou l'utilisation de log-rotate. Sans ça, les logs vont se remplir sans jamais être vidés.
Exemple de rotation hebdomadaire pour vider les logs, à copier en fin de fichier dans une tâche cron périodique :

# Rotation log openvpn
0 2 * * 1 echo | sudo tee /var/log/openvpn/openvpn.log

(Ne jamais effacer le fichier /var/log/openvpn/openvpn.log avec la commande rm car le système de log serait planté)


Troisième étape : configurer le serveur (la machine) en mode routeur

sudo nano /etc/sysctl.conf

Ajouter à la fin du fichier :

net.ipv4.ip_forward = 1

Sauvegarder : CTRL+o - Entrée
Sortir : CTRL+x

sudo sysctl -p

Trouver l'interface utilisée par défaut :

ip route | grep default

Le nom de l'interface est juste après dev
Et ajouter une règle au pare-feu pour gérer le trafic arrivant par le tunnel VPN, en remplaçant enp5s0 par le nom trouvé ci-dessus :

sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o enp5s0 -j MASQUERADE

Méthode de sauvegarde de la règle (sinon elle est effacée au redémarrage de la machine) :

sudo apt install iptables-persistent

et répondre par yes (pour la prise en compte de la règle qu'on vient de mettre en place)

/!\ : Digital Ocean propose l'utilisation de UFW. C'est une autre possibilité. Par contre, il ne faut pas utiliser iptables-persistent et ufw ensemble, qui vont interagir bloquant la possibilité de paramétrer par l'un ou par l'autre. C'est ce qu'il s'est passé ici, avec une recherche de root cause qui a pris du temps smile


Quatrième étape : copie des clés et certificats
Mettre la clé sur laquelle se trouvent les clés et certificats. Aller à la racine et mettre les fichiers serveur dans le répertoire de configuration :

sudo cp server-configs/keys/* /etc/openvpn/server

Cinquième étape : démarrage du serveur

sudo systemctl -f enable openvpn-server@server.service
sudo systemctl start openvpn-server@server.service
sudo systemctl status openvpn-server@server.service 

Vérifier le bon démarrage avec cette dernière commande, regarder dans les logs le cas échéant :

sudo cat /var/log/openvpn/openvpn.log

Dernière modification par NicoApi73 (Le 08/12/2022, à 21:21)

Hors ligne

#49 Le 19/11/2022, à 12:44

polinux

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

Je vais suivre la doc suivante je pense https://doc.ubuntu-fr.org/virtualbox

Hors ligne

#50 Le 19/11/2022, à 13:06

polinux

Re : Connexion distante d'un PC sur mon serveur [RESOLU]

alors je suis allé à la racine de la clé et j'ai fais :

facon-piscine@facon-piscine:/media/facon-piscine/server$ mkdir CA
mkdir: impossible de créer le répertoire «CA»: Permission non accordée
facon-piscine@facon-piscine:/media/facon-piscine/server$ 

fallait il que je mette sudo ?

Hors ligne