¿Por qué la redirección del puerto 22 hace que los contenedores lxc envíen ssh al host?

¿Por qué la redirección del puerto 22 hace que los contenedores lxc envíen ssh al host?

Tengo un host A en el que tengo 2 contenedores lxc (X e Y).

Originalmente tenía el puerto 22 en mi host (A) reenviado a X. Usando esta configuración, no pude salir del contenedor X y cuando salí del contenedor Y, causó que la conexión ssh fuera de alguna manera reenviado a X (aunque estaba conectado a una computadora externa).

Al cambiar el puerto 22 de reenvío desde el host al puerto de reenvío 2222 a X:22, todo volvió a la normalidad...

¿Hay alguna manera de reenviar el puerto 22 a un contenedor lxc?

Comando de iptables que utilicé para reenviar el puerto 22 del host A al contenedor X:

iptables -t nat -A POSTROUTING -s 10.0.0.4 -o eth0 -j MASQUERADA

iptables -t nat -A PREROUTING -p tcp --dport 22 -j DNAT --to-destination 10.0.0.4:22

Gracias.

Respuesta1

Se solucionó agregando -i eth0a mis reglas de iptable (para especificar que solo el tráfico externo debe redirigirse al contenedor X:22.

iptables -t nat -A PREROUTING -p tcp --dport 22 -i eth0 -j DNAT --to-destination 10.0.0.4:22

información relacionada