J'ai élaboré une solution en utilisant le VPN Always-On de Microsoft. Les bases de la configuration sont les suivantes :
2x VMs fonctionnant sous Server 2019 avec les dernières mises à jour 2x Adaptateurs réseau, 1 dans le réseau "interne" et 1 dans le réseau "externe" Route par défaut sur le réseau externe, routes statiques ajoutées dans la console RAS pour acheminer les adresses RFC1918 vers la passerelle "interne"
Pour la plupart, la solution fonctionne bien mais j'ai des problèmes de performance avec une application métier (SAP R3)
Après avoir éliminé les causes possibles, j'ai réussi à réduire le problème à la performance entre le serveur RAS et le serveur SAP étant médiocre. Pour identifier ce problème, j'ai initialement testé en exécutant la même opération dans SAP et j'ai utilisé un chronomètre, mais j'ai réussi à utiliser l'outil de test HTTP Siege pour effectuer des tests plus faciles sans avoir à installer l'application à différents endroits, se connecter, etc.
Le trafic du serveur VPN vers le serveur SAP passe par un VPN de site à site (Cisco FlexVPN IKEv2), mais cela semble fonctionner correctement car le trafic lent semble provenir uniquement d'un serveur, pas de l'ensemble du réseau
À partir du serveur RAS exécutant la commande de test
siege IP_SERVEUR_SAP:8020 -b --time=60S
Transactions : 935 hits Disponibilité : 100,00 % Temps écoulé : 6,55 secondes Données transférées : 18,07 Mo Temps de réponse : 0,06 secondes Taux de transactions : 142,81 trans/sec Débit : 2,76 Mo/sec Concurrency : 9,28 Transactions réussies : 950 Transactions échouées : 0 Transaction la plus longue : 3,06 Transaction la plus courte : 0,00
Et à partir d'un autre serveur dans le même sous-réseau source, c'est beaucoup plus rapide :
Transactions : 36716 hits Disponibilité : 100,00 % Temps écoulé : 59,80 secondes Données transférées : 76,00 Mo Temps de réponse : 0,02 secondes Taux de transactions : 614,00 trans/sec Débit : 1,27 Mo/sec Concurrency : 12,23 Transactions réussies : 0 Transactions échouées : 0 Transaction la plus longue : 3,06 Transaction la plus courte : 0,00
Cependant, là où ça devient bizarre, j'ai effectué un test sur un autre serveur web (dans le même sous-réseau que le serveur SAP de destination) et j'ai obtenu les résultats suivants :
Transactions : 8172 hits Disponibilité : 100,00 % Temps écoulé : 59,23 secondes Données transférées : 155,40 Mo Temps de réponse : 0,06 secondes Taux de transactions : 137,98 trans/sec Débit : 2,62 Mo/sec Concurrency : 8,56 Transactions réussies : 8172 /Transactions échouées : 0 Transaction la plus longue : 3,27 Transaction la plus courte : 0,00
Et à partir du serveur "fonctionnel" sur lequel j'ai effectué le test précédent (test à l'encontre du serveur SAP)
Transactions : 7708 hits Disponibilité : 100,00 % Temps écoulé : 59,10 secondes Données transférées : 146,58 Mo Temps de réponse : 0,10 secondes Taux de transactions : 130,43 trans/sec Débit : 2,48 Mo/sec Concurrency : 13,53 Transactions réussies : 7708 Transactions échouées : 0 Transaction la plus longue : 3,48 Transaction la plus courte : 0,00
En gros, les performances sont à peu près les mêmes (à moins d'une marge d'erreur au moins)
J'ai ouvert wireshark pour essayer de voir les différences entre les tests,
Lors du test du serveur rapide, j'ai remarqué que la valeur MSS était de 1460 sur le paquet "sortant" puis 1300 sur le paquet "entrant"
5176 2020-05-07 16:50:00.461214 IP_SERVEUR_RAS IP_SERVEUR_WEB_RAPIDE TCP 66 64439 80 [SYN, ECN, CWR] Seq=0 Win=65535 Len=0 MSS=1460 WS=1 SACK_PERM=1 5238 2020-05-07 16:50:00.462856 IP_SERVEUR_WEB_RAPIDE IP_SERVEUR_RAS TCP 66 80 64425 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1300 WS=256 SACK_PERM=1
Pour le serveur SAP lent, cela ressemble à ceci :
245 2020-05-07 16:53:21.554203 IP_SERVEUR_RAS IP_SERVEUR_SAP TCP 66 52481 8020 [SYN, ECN, CWR] Seq=0 Win=65535 Len=0 MSS=1460 WS=1 SACK_PERM=1 249 2020-05-07 16:53:21.554617 IP_SERVEUR_SAP IP_SERVEUR_RAS TCP 62 8020 52479 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1300 WS=2
mais j'ai remarqué qu'ensuite j'ai eu une série de retransmissions : 14005 2020-05-07 17:08:13.576985 IP_SERVEUR_SAP IP_SERVEUR_RAS TCP 1354 [Retransmission TCP] 8020 64806 [ACK] Seq=1 Ack=150 Win=66300 Len=1300
J'ai effectué le même test sur le serveur qui donnait de bonnes performances et il ressemblait principalement à celui ci-dessus mais je n'ai pas vu les retransmissions
En bref, le trafic d'un serveur RAS vers un serveur particulier est lent, d'un autre serveur source du même réseau rapide, et vers un autre serveur de destination à partir du serveur source lent, c'est aussi rapide ..
Est-ce que quelqu'un a une idée d'où je pourrais chercher pour résoudre ce problème ? Je suis vraiment à court d'idées :(
Merci d'avance