Como redireccionar puertos entre una maquina virtual y el host principal?

Iniciado por WHK, 11 Diciembre 2016, 00:37 AM

0 Miembros y 1 Visitante están viendo este tema.

MinusFour

#10
Tienes demasiadas cosas en tu tabla de NAT creo. Yo diría que eliminaras todo de la tabla NAT y agregaras las reglas que necesitas... Tus reglas en la otra tabla realmente no hacen nada. Las políticas de cada una de las cadenas está en ACCEPT y todas tus reglas son ACCEPT, entonces tu servidor está aceptando todo, no solo aceptando las reglas que están ahí.

Si la redirección está bien, entonces no se que pudiera estar pasando. Es otra cosa de tu servidor. La regla de masquerade creo que solo debería aplicarse cuando sale de la interfaz virbr0:

Código (bash) [Seleccionar]

sudo iptables -t nat -A POSTROUTING -i virbr0 -o eth0 -j MASQUERADE


Creo también que puede ser un problema de SELinux (porque tu usas CentOS)

WHK

Pues veamos, intentaré deshabilitar temporalmente selinux aver si ese es el problema, no me gusta tenerlo deshabilitado, pero veamos aver como va y te cuento.

WHK

Tampoco es selinux xD en fin, ya veré que puedo seguir probando, por ahora no puedo seguir haciendo las demás instalaciones en el servidor porque la mayoría dependen del acceso por vpn.

Gracias de todas maneras.

WHK

Finalmente lo he logrado!

Primero he deshabilitado selinux en la maquina virtual, luego de eso seguí tu consejo y eliminé todas las reglas de la maquina virtual y del host principal y las hice todo denuevo, despues reinicié ambas maquinas y ahora si funciona :)

Gracias por la paciencia, al parecer si era problema de selinux pero del lado de la maquina virtual.

Saludos.

WHK

Encontré la diferencia entre mis reglas antiguas y las nuevas y he encontrado el problema de raiz que me impidia conectar desde el exterior a demás de selinux:

hain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination        
1        2   152 ACCEPT     all  --  *      virbr0  0.0.0.0/0            192.168.122.2     ctstate RELATED,ESTABLISHED


Eso era lo que tenía antes y está claro, jamás le dije que podía aceptar conexiones nuevas por lo cual no podía aceptar conexiones nuevas del puerto abierto xD pero ahora le he agregado el estado NEW y ahora conecta de lujo:

hain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination        
1        2   152 ACCEPT     all  --  *      virbr0  0.0.0.0/0            192.168.122.2     ctstate NEW,RELATED,ESTABLISHED


El comando fue este:

-A FORWARD -d 192.168.122.2 -o virbr0 -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT