Je suis en train de configurer mon Raspberry Pi en tant que serveur OpenVPN sur le site B. Pour cette configuration, je exige que la configuration du client soit stockée dans un seul fichier, car elle sera déployée sur mon téléphone Android. Je ne veux pas m'embêter avec les chemins, donc : je vais envoyer le fichier via Bluetooth et c'est réglé !
La configuration est basée sur la PKI. La configuration s'inspire d'un VPN existant (commenté) dont le Raspy est le client (site B vers site A). L'autre VPN peut être activé à tout moment mais, encore une fois, il est actuellement commenté. Je teste d'abord ceci sur Windows avant de le déployer sur Android, surtout parce que je peux modifier et relancer la configuration à tout moment, taper rapidement avec le clavier et copier-coller des choses depuis le serveur parce que je peux toujours m'y connecter à distance via ssh. Sur mobile, cela me prendra beaucoup de temps pour tester.
Server.conf
port 1194
proto udp
dev tun
ca /etc/ssl/vpn/ca.crt
cert /etc/ssl/vpn/raspy.crt
key /etc/ssl/vpn/raspy.key
dh /etc/ssl/vpn/dh2048.pem
key-direction 1
tls-auth /etc/ssl/vpn/ta.key 0 # Ce fichier est secret
cipher AES-256-CBC # AES
client-config-dir ccd
ifconfig-pool-persist ipp.txt
client-to-client
push "route 192.168.192.0 255.255.255.0 vpn_gateway"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log /var/log
verb 6 #m'aide à résoudre les problèmes
Client.conf
dev tun
proto udp
remote raspy.example.me 1194
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
-----BEGIN CERTIFICATE-----
Correspond au certificat CA déployé sur le serveur
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
C'est le certificat client que j'ai signé avec un CA commun
Je suppose que cette partie de la configuration est bonne
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
Clé privée client
-----END RSA PRIVATE KEY-----
-----BEGIN DH PARAMETERS-----
Correspond au contenu de /etc/ssl/vpn/dh2048.pem
-----END DH PARAMETERS-----
cipher AES-256-CBC
remote-cert-tls server
-----BEGIN OpenVPN Static key V1-----
correspond à /etc/ssl/vpn/ta.key
-----END OpenVPN Static key V1-----
cipher AES-256-CBC
comp-lzo
log /var/log/openvpn.log
verb 6
Je suis confiant que les certificats sont correctement configurés, mais entre-temps je vais les retester avec OpenSSL pour m'assurer que la chaîne est bonne.
En me connectant, je trouve les journaux suivants
Serveur
Mar Jul 28 11:02:25 2020 us=457781 Erreur d'authentification/décryptage du paquet : l'authentification du HMAC du paquet a échoué
Mar Jul 28 11:02:25 2020 us=458025 Erreur TLS : échec d'authentification du paquet entrant depuis [AF_INET]xxx:46976
Mar Jul 28 11:02:27 2020 us=732637 Erreur d'authentification/décryptage du paquet : l'authentification du HMAC du paquet a échoué
Mar Jul 28 11:02:27 2020 us=732832 Erreur TLS : échec d'authentification du paquet entrant depuis [AF_INET]xxx:46976
Client
Mar Jul 28 11:02:25 2020 UDP ÉCRITURE [42] vers [AF_INET]xxx:1194: P_CONTROL_HARD_RESET_CLIENT_V2 kid=0 pid=[ #2 ] [ ] pid=0 DATA len=0
Mar Jul 28 11:02:29 2020 UDP ÉCRITURE [42] vers [AF_INET]xxx:1194: P_CONTROL_HARD_RESET_CLIENT_V2 kid=0 pid=[ #3 ] [ ] pid=0 DATA len=0
Mar Jul 28 11:02:37 2020 UDP ÉCRITURE [42] vers [AF_INET]xxx:1194: P_CONTROL_HARD_RESET_CLIENT_V2 kid=0 pid=[ #4 ] [ ] pid=0 DATA len=0
Mar Jul 28 11:02:53 2020 UDP ÉCRITURE [42] vers [AF_INET]xxx:1194: P_CONTROL_HARD_RESET_CLIENT_V2 kid=0 pid=[ #5 ] [ ] pid=0 DATA len=0
Qu'est-ce qui peut être faux dans cette configuration ? Comment devrais-je corriger cela ?
Recherche
J'ai trouvé ce sujet qui prétend être résolu
bznelson wrote:
Mon Apr 09, 2018 22:52 pm
tls-auth /etc/openvpn/easy-rsa/pki/ta.key 0
bznelson wrote:
Mon Apr 09, 2018 22:52 pm
Ah oui, le tls-auth/tls-crypt, c'est ça ! Merci beaucoup ! J'exécutais un serveur 2.3, mais j'avais d'abord installé la version 2.4 et je suppose qu'il y a eu une certaine confusion.
Je lance OpenVPN 2.4.0 sur les deux hôtes. Je ne sais pas comment ce fil lié peut m'aider
Et dans le même sujet, quelqu'un a mentionné l'erreur
Cela signifie généralement que vous avez installé la mauvaise ta.key quelque part.
Mais j'ai vérifié trois fois. Les clés sont les mêmes mais la seule différence est qu'une est dans un fichier, l'autre est en ligne
J'ai essayé de supprimer complètement le tls-auth du client et du serveur. L'erreur est corrigée et j'ai le prochain problème à régler. Donc, le forum lié ci-dessus avait raison, il y a un peu de désordre entre les deux clés identiques