[CRITIQUE] Service OpenVPN DOWN après MàJ en 4.01

This forum is the place to discuss any installation problem or question you might have related to DynFi Firewall.

Moderator: gregober

Zinko
Posts: 9
Joined: 09 Sep 2023, 12:39

[CRITIQUE] Service OpenVPN DOWN après MàJ en 4.01

Post by Zinko » 13 Sep 2024, 23:08

Bonjour,

Je fais face à un important problème concernant le service OpenVPN server depuis le passage en version 4.01, initialement j'étais en 3.01.

Tout d'abord, j'ai mis à jour ce jour mes 2 DynFi Firewall (une VM et une appliance dédiée) qui portent chacun des fonctionnalités différentes.
Après leur mise à jour, le pare-feu (appliance) qui porte le service OpenVPN (en mode server) pour la connexion de mes clients a subitemment cessé de fonctionner et impossible de relancer le service après de multiples reload en CLI (11) et même le redémarrage du pare-feu.

J'ai l'erreur suivante :

Code: Select all

2024-09-13T19:28:27    Error    openvpn_server2    FreeBSD ifconfig failed: external program exited with error status: 1    
2024-09-13T19:28:27    Warning    openvpn_server2    dco_set_ifmode: failed to set ifmode=00008002: Invalid argument (errno=22)    
2024-09-13T19:28:27    Warning    openvpn_server2    Failed to create interface ovpns2 (SIOCSIFNAME): File exists (errno=17)    
2024-09-13T19:28:27    Warning    openvpn_server2    NOTE: the current --script-security setting may allow this configuration to call user-defined scripts    
2024-09-13T19:28:27    Warning    openvpn_server2    NOTE: your local LAN uses the extremely common subnet address 192.168.0.x or 192.168.1.x. Be aware that this might create routing conflicts if you connect to the VPN server from public locations such as internet cafes that use the same subnet.    
2024-09-13T19:28:27    Warning    openvpn_server2    Note: ignoring --dev-node as it has no effect when using data channel offload
J'ai testé de supprimer l'interface ovpns2 avec la commande :

Code: Select all

ifoncfig ovpns2 destroy
. Cela supprime bien l'interface mais après avoir relancé le service OpenVPN, l'interface se recrée et j'ai la même erreur.

Pour information, sur ce même Firewall j'exécute 2 serveurs OpenVPN, leur configuration n'a pas été modifié et suis le seul à les maintenir. Les 2 serveurs sont impactés et possèdent la même erreur sauf le nom de l'interface qui change bien évidemment.

J'ai tout de même procédé à un roll back sur une précédente configuration qui fonctionnait très bien, en date du 06/09/2024, jusqu'à aujourd'hui mais même suite à l'upgrade et au rollback le service est indisponible.

Est ce qu'il y a quelque chose à regarder auprès du service DCO, dans les logs fourni dco_set_ifmode est failed ?

Merci par avance de voter retour et de votre aide,

Cordialement,
Zinko
Posts: 9
Joined: 09 Sep 2023, 12:39

Re: [CRITIQUE] Service OpenVPN DOWN après MàJ en 4.01

Post by Zinko » 14 Sep 2024, 10:47

Re-bonjour,

Je me permets de faire suite à mon poste.
J'ai réinstallé DynFi Firewall en version 4.01 from scratch sur une nouvelle instance virtualisé pour mes tests sous Virtual Box.

J'ai procédé comme ceci :
1) Installation de dynfi Firewall
2) Configuration des interraces LAN et WAN (pour plus de simplicité l'interface LAN est ponté avec mon interface de carte réseau pour que je puisse y accéder en local sur un navigateur, Chrome pour ne pas le citer, sur ma machine)
3) Configuration de base par l'assistant
4) Création de la CA interne
5) Génération d'un certificat serveur pour le server OpenVPN signé par la CA
6) Création d'un utilisateur local + d'un certificat type client pour ce user
7) Configuration du serveur VPN
Voici sa configuration :
General information :
- Description : <nom du server>
- Server Mode : Remote access (SSl / TLS + User Auth)
- Backend for authent : Local Database
- Protocol : UDP
- Device Mode : tun
- Interface : any (pour le debug mais sinon la WAN)
- Local port : 1194

Cryptographic Settings
- TLS : Enabled - Authentification only
- Generate pre-shared key : oui
- Peer certificat authority : celle créé précédemment
- Server Certificate : celui créé précédemment
- Encryption algorithm (deprecated) : AES-256-GCM (256, 128, TLS client/server only)
- Auth Digest Algorithm : SHA512 (512)
- Certificate Depth : One (Client+server)

Tunnel Settings
- IPv4 tunnel network : 172.16.0.0/24 (réseau autre que mon LAN dynfi / LAN client)
- Pas d'IPv6
- Redirect gateway : active
--> Le reste des valeurs par défaut

Client settings :
- Dynamic IP : active
- Topology : active
- DNS default domain : active + vpn-user.<zone DNS>
- DNS Server : active (server DNS local + 1.1.1.1 + 8.8.8.8)
--> Le reste des valeurs par défaut

Advanced configuration :
Verbosity level : 3
--> Valeurs par défaut

A peine créé, je vais voir ce qu'il se passe au niveau des logs et je retrouve la même erreur. En l'occurence :

Code: Select all

Date                          Severity    Processus                 Line
2024-09-14T00:52:06	Error	        openvpn_server1	FreeBSD ifconfig failed: external program exited with error status: 1	
2024-09-14T00:52:06	Warning	openvpn_server1	dco_set_ifmode: failed to set ifmode=00008002: Invalid argument (errno=22)	
2024-09-14T00:52:06	Warning	openvpn_server1	Failed to create interface ovpns1 (SIOCSIFNAME): File exists (errno=17)	
2024-09-14T00:52:06	Warning	openvpn_server1	NOTE: the current --script-security setting may allow this configuration to call user-defined scripts	
2024-09-14T00:52:06	Warning	openvpn_server1	GDG: problem writing to routing socket: No such process (errno=3)	
2024-09-14T00:52:06	Warning	openvpn_server1	Note: ignoring --dev-node as it has no effect when using data channel offload
Je suppose qu'il y a donc une erreur d'implémentation de OpenVPN en mode legacy sur cette version de DynFi. Je vais poursuivre mes tests en changeant certaines valeurs de la configuration mais je doute qu'il y est du mieux.

PI : J'ai également constaté que la traduction en FR en naviguant sur certains onglets n'était pas fonctionnel. Par exemple, en étant sur l'onglet "VPN", l'onglet Rapport, Système est en FR par contre lorsque l'on est dans l'onglet System -> Paramètres, la traduction est à nouveau en anglais.

Enfin, pourriez-vous me communiquer où l'on peut accéder à la release note de la version 4.01 ? Elle ne figure pas dans la page des téléchargement de l'OS et je ne l'ai pas trouvé nul part dans le site Dynfi.

Encore merci de votre retour et de votre aide,

Cordialement,
Zinko
Posts: 9
Joined: 09 Sep 2023, 12:39

Re: [CRITIQUE] Service OpenVPN DOWN après MàJ en 4.01

Post by Zinko » 14 Sep 2024, 11:45

Dans les paramètres de configurations avancées, j'ai ajouté l'instruction :

Code: Select all

disable-dco
. Désormais, le serveur VPN s'exécute et j'arrive bien à me conencter sur mon lab. Je n'ai pas encore testé testé son fonctionnement sur mon appliance.
Pour résoudre le problème, j'ai trouvé un cas similaire sur le topic OPNsense suivant : https://forum.opnsense.org/index.php?topic=41733.0

Cependant, dans les logs, j'ai les informations suivantes :

Code: Select all

2024-09-14T01:39:18	Warning	openvpn_server1	Could not determine IPv4/IPv6 protocol. Using AF_INET	
2024-09-14T01:39:18	Warning	openvpn_server1	NOTE: the current --script-security setting may allow this configuration to call user-defined scripts	
2024-09-14T01:39:18	Warning	openvpn_server1	GDG: problem writing to routing socket: No such process (errno=3)	
2024-09-14T01:39:18	Error 	openvpn_server1	event_wait : Interrupted system call (fd=-1,code=4)
Je me pose donc plusieurs questions :

A première vue, des changements ont été réalisés dans la gestion du DCO avec OpenVPN 2.6.X. Et cette fonctionnalité était probablement désactivé dans les anciennes versions de OpenVPN.
- Quel était la version de OpenVPN exécuté en version 3.01, openvpn 2.5.x ? Je n'ai pas pris le temps de comparer avant/après, ce sera probablement un travail que je ferais ultérieurement.

Dites moi si je ne me trompe, le DCO améliore les performances en déchargeant le traitement des paquets sur le noyau, il nécessite une prise en charge spécifique par le système d'exploitation (dans ce cas, FreeBSD). Si la version de FreeBSD sur laquelle est basée DynFi n'a pas une prise en charge complète du DCO, cela peut entraîner des erreurs. On voit bien dans les logs une erreur :

Code: Select all

dco_set_ifmode: failed to set ifmode=00008002: Invalid argument (errno=22)
- Est ce que cette nouvelle version de DynFi intégre correctement cette fonctionnalité avec le noyau FreeBSD de la version 4.01 ?

De plus, avec la mise à jour d'OpenVPN dans cette nouvelle version de DynFi en v4.01, la configuration de certaines valeurs intégré à OpenVPN pour son fonctionnement ont probablement été changé d'où mon erreur initial.
Je pense qu'avant la mise à jour, DCO pouvait être désactivé par défaut ou non pris en charge, donc la configuration de mon serveur fonctionnait très bien. Cependant, après la mise à jour, cette fonctionnalité peut avoir été activée automatiquement, ce qui entraîne désormais des erreurs si elle n'est pas compatible avec l'environnement Dynfi v4.01.
- Avez-vous réalisé des tests en amont de la publication de cette nouvelle version de DynFi en 4.01 ainsi que de la compatibilité / prise en charge de l'ensemble de ces composants ?

En vous remerciant par avance pour l'ensemble de vos réponses.

J'espère que mon analyse vous aidera,

Cordialement,
pagecdn
Posts: 3
Joined: 25 Sep 2024, 23:04

Re: [CRITIQUE] Service OpenVPN DOWN après MàJ en 4.01

Post by pagecdn » 26 Sep 2024, 01:34

Bonjour,

Par chance avez-vous trouver une solution? J’ai le même problème avec le service OpenVPN. Une installation neuve sure une appliance.

Code: Select all

2024-09-25T16:01:34-07:00	Error	openvpn_server1	FreeBSD ifconfig failed: external program exited with error status: 1	
2024-09-25T16:01:34-07:00	Warning	openvpn_server1	dco_set_ifmode: failed to set ifmode=00008002: Invalid argument (errno=22)	
2024-09-25T16:01:34-07:00	Warning	openvpn_server1	Failed to create interface ovpns1 (SIOCSIFNAME): File exists (errno=17)	
2024-09-25T16:01:34-07:00	Warning	openvpn_server1	NOTE: the current --script-security setting may allow this configuration to call user-defined scripts	
2024-09-25T16:01:34-07:00	Warning	openvpn_server1	Note: ignoring --dev-node as it has no effect when using data channel offload
Merci,
User avatar
gregober
Posts: 259
Joined: 26 Mar 2019, 15:06

Re: [CRITIQUE] Service OpenVPN DOWN après MàJ en 4.01

Post by gregober » 26 Sep 2024, 10:02

Il semblerait que le problème vienne de DCO qui est par défaut compilé et activé dans la dernière version.
Nous sommes entrain de vérifier le problème en interne.

En attendant je vous suggère de passer l'option

Code: Select all

disable-dco
Cela permettra de désactiver l'option en attendant que nous analysions le problème.

Nous avons un certain nombre de tunnels OpenVPN qui ont été migré en v.4.0 sans problème.
Nous allons essayer de comprendre ce qui se passe plus en détail.
User avatar
gregober
Posts: 259
Joined: 26 Mar 2019, 15:06

Re: [CRITIQUE] Service OpenVPN DOWN après MàJ en 4.01

Post by gregober » 26 Sep 2024, 12:30

A priori pas de problème (sauf pour la page Status - qui est en erreur on va fixer cela)

Je vous transmets un exemple de screenshot pour une conf qui est testé et opérationnelle.
DCO ne pose pas de problème.

On a testé avec et sans le binding de l'interface OpenVPN associée au tunnel et cela fonctionne dans les deux cas.
Il faut ensuite analyser le debug de votre serveur.

[attachment=0]Capture d’écran 2024-09-26 à 12.19.12.png[/attachment]

[attachment=1]Capture d’écran 2024-09-26 à 12.19.24.jpg[/attachment]

[attachment=2]Capture d’écran 2024-09-26 à 12.19.34.jpg[/attachment]

[attachment=3]Capture d’écran 2024-09-26 à 12.19.45.jpg[/attachment]
Attachments
image 4
image 4
image 3
image 3
image 2
image 2
image 1
image 1
Zinko
Posts: 9
Joined: 09 Sep 2023, 12:39

Re: [CRITIQUE] Service OpenVPN DOWN après MàJ en 4.01

Post by Zinko » 01 Oct 2024, 18:26

Bonjour,

Merci pour la réponse approtée.

Tant mieux si un certain nombre de vos tunnels ont été migrés avec succès en v4.
Pour ma part, malgré mon appliance et la création d'une nouvelle VM avec un hardware totalement différent, le problème persiste.
Effectivement, la désactivation du DCO résout le problème.

Pourriez-vous me communiquer davantage avec quel plateforme vos tests ont été effectués avec succès et la vesion du OpenVPN Client ou OpenVPN Gui ?

De plus, depuis le passage en v4, j'observe des comportements étrange sur la stabilité du tunnel. En effet, je m'aperçois de multiples déconnexion et des erreurs assez variées. LA dernière en date est un problème TLS où la reconnexion du client n'était pas possible alors qu'au niveau de la configuration rien à changer et le login/mdp enregistrés sont corrects (ci-joint la capture d'écran).

Merci par avance,

Cordialement,
Attachments
dynfi_failed_TLS.png
User avatar
gregober
Posts: 259
Joined: 26 Mar 2019, 15:06

Re: [CRITIQUE] Service OpenVPN DOWN après MàJ en 4.01

Post by gregober » 01 Oct 2024, 18:42

En client on utilise du viscosity > https://www.sparklabs.com/viscosity/
C'est un client VPN très sérieux et stable qui fait référence depuis des années.

Aussi testé sous Linux Ubuntu v.24

Si c'est une option, je te recommande d'essayer de monter tes tunnels en Wireguard - niveau performance c'est incomparable.
En tout cas il faut des clients à jour.
pagecdn
Posts: 3
Joined: 25 Sep 2024, 23:04

Re: [CRITIQUE] Service OpenVPN DOWN après MàJ en 4.01

Post by pagecdn » 05 Oct 2024, 00:38

Bonjour,

De ma part, j'ai utiliser VPN>OpenVPN>Instances pour créer le server. J'ai utiliser une configuration qui fonctionne avec OPNsense. Faut-il utiliser les options "legacy" pour DynFi?

Pour nos utilisateurs nomades, je prefer utiliser OpenVPN ou on peut ajouter TOTP.

Merci,
User avatar
gregober
Posts: 259
Joined: 26 Mar 2019, 15:06

Re: [CRITIQUE] Service OpenVPN DOWN après MàJ en 4.01

Post by gregober » 06 Oct 2024, 11:19

L'option "Legacy" est la plus stable à ce stade.

Les autres options devraient aussi fonctionner, il faut peut être tester un peu plus…
Post Reply