Aller au contenu

VPN ip dynamique et route statique


Geronimo78

Messages recommandés

Bonjour

J'ai 2 NAS sur des réseaux locaux différents

Chacun est serveur VPN et client VPN de l'un de l'autre et d'autres clients pour l'un des 2.

Lors d'une reconnexion, le client n'a pas obtenu la même adresse que d'habitude  donc la route statique ne fonctionnait plus !

Est il possible d'avoir une IP fixe (protocole, DHCP ou autre) pour le client VPN

Cordialement

Lien vers le commentaire
Partager sur d’autres sites

Bonjour

Chacun est serveur VPN et client VPN de l'un de l'autre et d'autres clients pour l'un des 2.

Est il possible d'avoir une IP fixe (protocole, DHCP ou autre) pour le client VPN

Etrange d'avoir deux NAS à la fois client et serveur l'un de l'autre ! Quel est ton besoin ?

Sinon, le seul moyen que j'ai trouvé pour avoir une IP virtuelle fixe est de limiter à 1 le nbre de connexion différentes. C'est une bidouille, mais cela fonctionne chez moi.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour et merci pour ta réponse.

Il est dommage que Synology ne propose pas la création automatique de la route statique en fonction de la connexion du VPN.

J'ai 2 réseaux distants avec un NAS sur chacun ayant des fonction différentes, 1 nom de domaine chacun et des sauvegardes croisées

 

Cordialement

Lien vers le commentaire
Partager sur d’autres sites

Voici le contenu de /usr/local/etc/ip-up.

  • 10.0.1.0 est l'adresse du serveur VPN,
  • 192.168.2.0/24 est le réseau distant à atteindre.

Adapte ces adresses à ta configuration.

#!/bin/sh

date=`date '+%Y/%m/%d %H:%M:%S'`
echo "$date	$1	$2	$3	$4	$5	$6" >> /var/ppp/ip-up.log

ifname=$1
ttyname=$2
speed=$3
localip=$4
remoteip=$5
ipparam=$6

case "$remoteip" in

10.0.1.0)
	/sbin/route add -net 192.168.1.0/24 dev $ifname
	;;

esac

exit 0;

Pour que ce script s'exécute, il faut l'ajouter au début de /etc/ppp/ip-up :

#!/bin/sh
. /etc/ppp/ip-function
. /usr/local/etc/ip-up    # Custom script

FW_SCRIPT="/usr/syno/etc/rc.d/S01iptables.sh"
TC_SCRIPT="/usr/syno/etc/rc.d/S01tc.sh"

Les mises à jour de DSM écrasent le fichier ci-dessus, il faut donc rajouter la ligne suite à une mise à jour.

Il y a un log des connexions dans /var/ppp/ip-up.log (crée le dossier /var/ppp si nécessaire ou modifie le chemin du fichier de log).

La manip est similaire sur tous les système Unix (Mac OS inclus). J'ai aussi une solution pour Windows à base de déclenchement de tâche planifiée sur évènement et de PowerShell qui fonctionne à merveille, faudra que je pense à la publier quelque part.

Lien vers le commentaire
Partager sur d’autres sites

  • 7 ans après...

Bonjour

 

Je déterre ce sujet car je me pose la même question sur DSM 7.

J'ai 3 NAS ; le 1er est avec VPN SERVER et les 2 autres s'y connectent (openVPN).

Le 1er sauvegarde chaque nuit via Hyper Backup sur les 2 autres via tunnel VPN ce qui m'a permis de me passer de l'ouverture du port 6281 sur les NAS distants.

Le problème est qu'en cas de déconnexion (du serveur ou des clients), il arrive que l'adresse IP dynamique du client change, ce qui a pour conséquence une erreur de sauvegarde via Hyper Backup.

Il me faut dans ce cas manuellement soit reboot les NAS soit reboot les connexions VPN.

Je cherche donc à attribuer des IP fixes aux 2 clients VPN.

 

Y a t il des nouvelles solutions que celle évoquée ci-dessus qui date de 2015 ?

 

Merci et bon dimanche

Lien vers le commentaire
Partager sur d’autres sites

Ce n'est pas parce que la solution est ancienne qu'elle n'est plus valable, as-tu essayé de la mettre en oeuvre ?

Sinon en fouillant un peu dans les fichiers de configuration de VPN Server via le terminal

sudo systemctl status pkg-VPNCenter-openvpn-server.service

● pkg-VPNCenter-openvpn-server.service - OpenVPN server of VPN Server package
   Loaded: loaded (/usr/local/lib/systemd/system/pkg-VPNCenter-openvpn-server.service; static; vendor preset: disabled)
   Active: active (running) since Fri 2023-07-21 19:59:59 CEST; 53min ago
 Main PID: 13750 (openvpn)
   Memory: 2.9M
   CGroup: /system.slice/pkg-VPNCenter-openvpn-server.service
           ├─13750 /var/packages/VPNCenter/target/sbin/openvpn --cd /usr/syno/etc/packages/VPNCenter/openvpn --config openvpn.conf --writepid /var/run/ovpn_server.pid
           ├─13755 /var/packages/VPNCenter/target/sbin/openvpn --cd /usr/syno/etc/packages/VPNCenter/openvpn --config openvpn.conf --writepid /var/run/ovpn_server.pid
           └─13756 /var/packages/VPNCenter/target/sbin/openvpn --cd /usr/syno/etc/packages/VPNCenter/openvpn --config openvpn.conf --writepid /var/run/ovpn_server.pid

Jul 21 19:59:59 GARRUS openvpn[13750]: 2023-07-21 19:59:59 net_iface_up: set tun0 up
Jul 21 19:59:59 GARRUS openvpn[13750]: 2023-07-21 19:59:59 net_addr_ptp_v4_add: 10.8.0.1 peer 10.8.0.2 dev tun0
Jul 21 19:59:59 GARRUS openvpn[13750]: 2023-07-21 19:59:59 net_route_v4_add: 10.8.0.0/24 via 10.8.0.2 dev [NULL] table 0 metric -1
Jul 21 19:59:59 GARRUS openvpn[13750]: 2023-07-21 19:59:59 Socket Buffers: R=[212992->212992] S=[212992->212992]
Jul 21 19:59:59 GARRUS openvpn[13750]: 2023-07-21 19:59:59 setsockopt(IPV6_V6ONLY=0)
Jul 21 19:59:59 GARRUS openvpn[13750]: 2023-07-21 19:59:59 UDPv6 link local (bound): [AF_INET6][undef]:1194
Jul 21 19:59:59 GARRUS openvpn[13750]: 2023-07-21 19:59:59 UDPv6 link remote: [AF_UNSPEC]
Jul 21 19:59:59 GARRUS openvpn[13750]: 2023-07-21 19:59:59 MULTI: multi_init called, r=256 v=256
Jul 21 19:59:59 GARRUS openvpn[13750]: 2023-07-21 19:59:59 IFCONFIG POOL IPv4: base=10.8.0.4 size=62
Jul 21 19:59:59 GARRUS openvpn[13750]: 2023-07-21 19:59:59 Initialization Sequence Completed

On voit que le service systemd execute le fichier openvpn.conf se trouvant dans /usr/syno/etc/packages/VPNCenter/openvpn, dans ce même dossier on trouve un fichier openvpn.conf.user.sample tout bien commenté, avec deux passages intéressants :

# Maintain a record of client <-> virtual IP address
# associations in this file.  If OpenVPN goes down or
# is restarted, reconnecting clients can be assigned
# the same virtual IP address from the pool that was
# previously assigned.
ifconfig-pool-persist ipp.txt

et

# EXAMPLE: Suppose you want to give
# Thelonious a fixed VPN IP address of 10.9.0.1.
# First uncomment out these lines:
;client-config-dir ccd
;route 10.9.0.0 255.255.255.252
# Then add this line to ccd/Thelonious:
#   ifconfig-push 10.9.0.1 10.9.0.2

La première méthode me semble peut-être suffisante dans ton cas, à vérifier, il te suffirait simplement d'éditer via le terminal le fichier openvpn.conf et d'ajouter :

ifconfig-pool-persist ipp.txt

à la suite des options existantes.

Puis de redémarrer OpenVPN :

sudo systemctl restart pkg-VPNCenter-openvpn-server.service

ou simplement arrêter et relancer VPN Server depuis le centre de paquets.

Pour diverses raisons que je peux développer si ça t'intéresse, il me semble nécessaire que chaque NAS distant ait son propre utilisateur dédié (sur le serveur) pour se connecter au serveur VPN.

La deuxième solution, avec le dossier ccd à créer, sera à privilégier si la première ne donne aucun résultat, voyons déjà ce que ça donne avec celle-ci.

Ah, je pense que la modification manuelle ne survivra pas à une mise à jour du paquet, il sera toujours temps de faire un petit script qui ajoutera la ligne voulue au fichier en cas de besoin.

Tu peux dans un premier temps vérifier si ça survit à un redémarrage du NAS. 😉 

Lien vers le commentaire
Partager sur d’autres sites

il y a 20 minutes, .Shad. a dit :

il me semble nécessaire que chaque NAS distant ait son propre utilisateur dédié (sur le serveur) pour se connecter au serveur VPN.

Je suis entièrement d'accord avec ça. Mes utilisateurs dédiés VPN n'ont accès à aucun service du NAS. Ils ne servent qu'à établir la connexion VPN. Et je rajoute qu'en contre partie aucun des autres utilisateurs, y compris l'administrateur, n'ont accès au serveur VPN. Le tunnel ne peut être établi qu'avec le compte dédié VPN.

Lien vers le commentaire
Partager sur d’autres sites

  • 5 semaines après...
  • 5 mois après...

Salut à tous,

 

Je n'ai pas tenté de mettre en place l'IP fixe des clients car j'ai trouvé d'autres solutions et j'ai repensé mon réseau différemment.

@.Shad. quand tu dis que les modifications seraient écrasées par une mise à jour du paquet Synology, c'est systématique quelque soit les modifications apportées via SSH au paquet ?

En te remerciant,

Lien vers le commentaire
Partager sur d’autres sites

@TeddyLaFrite Je n'en suis pas sûr, mais c'est souvent ainsi que fonctionne DSM, il va chercher les templates situés dans etc.default pour reparamétrer ses fichiers de configuration. Pas plus tard que ce week-end j'ai essayé de voir ce qu'il était possible de faire pour personnaliser Nginx, et ben à part modifier les templates .mustache tu n'as pas beaucoup de possibilité.

C'est plus facile dans ce cas ou il s'agit d'ajouter simplement des lignes, car un "tee -a" (append) suffit. Sinon il faut jouer avec "sed" et tout en étant faisable ça devient plus délicat.

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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.