logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 07-01-2022 14:40:46

Jackbot
Membre
Inscription : 06-01-2022

[résolu] problème de paquets sortant

Salutation amis internautes

Avant de vous raconter le problème que je rencontre, je vous pose un peu de contexte :
j'ai un serveur sur lequel j'utilise Docker, et pour la faire courte, je n'ai pas accès à une adresse ipV4 statique en full stack, j'ai donc opté pour un VPS qui me redirige tous le trafic vers mon serveur. J'ai fais une première tentative en déployant un conteneur wireguard sur le VPS et mon serveur, pour ceux qui ne connaissent pas wireguard permet de créer simplement un VPN. J'ai redirigé ce qui entre sur le VPS vers le conteneur, de l'autre coté sur le serveur je faisais l'inverse je dispatchais (suivant les ports) vers les bons conteneurs. Ça fonctionnait bien, le problème est qu'en bout de chaîne, c'est à dire dans les conteneurs sur mon serveur tous les logs des conteneurs indiquaient que la source des paquets était le conteneur wireguard ... fonctionnel, mais pour faire du filtrage c'est moyen ...

Du coup seconde tentative, mais cette fois ci les conteneurs wireguard sont déployé avec l'option "network_mode: host", pour ceux qui ne sont pas familiarisé avec Docker cela veut simplement dire que le conteneur n'a plus son réseau attitré, mais n'est plus dissociable de la machine du point de vue du réseau ce qui donne grossièrement ceci si je schématise :

VPS
eth0
wg0 10.13.13.1 (interface crée wireguard, c'est le VPN)
avec quelques règles de ce type :
iptables -t nat -A PREROUTING -p tcp -d ip_publique_du_VPS --dport 25 -j DNAT --to-destination 10.13.13.2:25

Serveur
eth0
wg0 10.13.13.2 (même chose)

Conteneur
eth0

dans cette configuration j'ai bien les bonnes adresses ip dans les logs des conteneurs, mais c'est là qu'arrive mon problème que je n'arrive pas à localiser. J'ai remarqué quelques comportement aléatoires dans certains conteneurs précis, notamment mon instance peertube. Il s'avère que lorsqu'elle est questionnée, la réponse arrive bien au client, cependant lorsque c'est l'instance qui envoie un paquet vers l'extérieur il ne trouve pas toujours son chemin et une des conséquence est que par exemple je ne peux plus importer une vidéo à partir d'une URL. J'ai voulu installer quelques outils directement dans le conteneur, mais les commandes apt-get update et apt-get install (je sais ça ne se fait pas dans un conteneur normalement ...) soit mettent énormément de temps à se terminer, soit j'ai simplement une erreur de type timeout. C'est ce coté aléatoire qui me déroute.

Quelqu'un à une idée d'où vient ce problème ? Quels tests je peux faire pour clarifier la situation et trouver d'où ça vient ?

Merci d'avance

Dernière modification par Jackbot (09-01-2022 19:00:19)

Hors ligne

#2 09-01-2022 18:59:31

Jackbot
Membre
Inscription : 06-01-2022

Re : [résolu] problème de paquets sortant

Bon ... après avoir passer des heures à tourner en rond pour comprendre pourquoi les ping, traceroute et autres commandes de ce type donnait le résultat attendu, mais quand un des conteneurs envoyait un paquet vers l'extérieur il avait une chance non négligeable d'être perdu. J'ai fini par trouver que c'était un problème lié à la taille des paquets ... Je ne comprends pas bien pourquoi ce problème est apparu, mais modifier le MTU pour le VPN ainsi que pour les réseaux docker à résolu le problème.

Hors ligne

Pied de page des forums