PROJET AUTOBLOG


Shaarli - Les petits liens d'Alda

Site original : Shaarli - Les petits liens d'Alda

⇐ retour index

Linux 2.4 NAT HOWTO: Destination NAT Onto the Same Network

dimanche 2 février 2014 à 13:29
Je me suis sacrément pris le chou ce matin pour faire marcher correctement mon NAT sur mon nouveau serveur.

J'ai la situation suivante:

HV0 contient trois containers OpenVZ (VZ0, VZ1, VZ2)

VZ0 est un reverse proxy, VZ1 et VZ2 des LNMP (Linux, Nginx, MariaDB, PHP) qui hébergent respectivement site1 et site2

HV0 a donc une règle iptables qui redirige les connexion sur le port 80 vers VZ0:80

Problème:
Impossible d'atteindre site1 depuis VZ2 ou site2 depuis VZ1.

Explication:
C'est du au fait que lors d'une requête (mettons depuis VZ1), les paquets sont envoyés sur l'ip publique de HV0 qui fait la redirection de port correctement. On a donc des paquets dont la source est VZ1 et la destination VZ2.

VZ2 reçoit, traite la requête et envoie la réponse à VZ1. Les paquets de réponse ont pour source VZ2 et destination VZ1.

Mais VZ1 en voyant arriver les paquets de VZ2, n'en fait rien de particulier, il a posé une question à HV0, pas à VZ2, donc il s'attend à une réponse de HV0.

Solution:

Il faut donc qu'au moment de la redirection, HV0 modifie les paquets pour qu'ils indiquent qu'il est la source.

Ainsi, VZ2 répondra à HV0 qui transmettra à VZ1.

Les joies d'iptables ^_^ (et apprendre la nouvelle syntaxe d'nftables ça va être marrant aussi)
(Permalink)