Acceda al servidor web en VM desde una máquina en una subred diferente

Acceda al servidor web en VM desde una máquina en una subred diferente

No puedo acceder a una aplicación web que se ejecuta en una máquina virtual alojada por KVM desde una máquina en una subred diferente.

Entonces, me gustaría acceder desde la máquina 192.168.1.2 (arriba a la derecha en el círculo verde) a una aplicación web que se ejecuta en la máquina virtual 192.168.10.1 (abajo en el centro del círculo rojo)

Agregué una ruta estática en el enrutador Netgear para que todas las solicitudes a 192.168.10.0/24 se reenvíen a la máquina host 192.168.1.1.

La propia máquina host tiene una ruta estática para reenviar solicitudes a 192.168.10.0/24 a través de la interfaz del puente vmbr1

  • Un telnet en el puerto 80 falló desde 192.168.1.2 y tuvo éxito desde la máquina host 192.168.1.1.
  • Una llamada de ping a una máquina virtual funciona desde la máquina 192.168.1.2 a la VM
  • Un traceroute falla, pero si agrego la opción -I, el traceroute también funciona.

Gracias de antemano por su ayuda o cualquier pista.

PD: Preciso que incluso si el firewall está desactivado, tampoco funciona.

iptables-L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

traceroute desde la máquina física 192.168.1.2 a la máquina VM 192.168.10.1 => KO

traceroute to 192.168.10.1 (192.168.10.1), 30 hops max, 60 byte packets
 1  192.168.1.254 (192.168.1.254)  2.390 ms  3.004 ms  3.436 ms
 2  * * *
 3  * * *
 ...
 30  * * *

traceroute desde la máquina VM 192.168.1.2 a la máquina física 192.168.10.1 => Aceptar

traceroute to 192.168.1.2 (192.168.1.2), 30 hops max, 60 byte packets
 1  192.168.10.254 (192.168.10.254)  0.846 ms  0.648 ms  0.519 ms
 2  192.168.1.2 (192.168.1.2)  5.447 ms  5.277 ms  4.977 ms

Un ping desde la máquina 192.168.1.2 a la máquina VM 192.168.10.1:

ping 192.168.10.1
PING 192.168.10.1 (192.168.10.1) 56(84) bytes of data.
From 192.168.1.254: icmp_seq=1 Redirect Host(New nexthop: 192.168.1.1)
From 192.168.1.254 icmp_seq=1 Redirect Host64 bytes from 192.168.10.1: icmp_seq=1 ttl=63 time=2.77 ms
From 192.168.1.254: icmp_seq=2 Redirect Host(New nexthop: 192.168.1.1)
From 192.168.1.254 icmp_seq=2 Redirect Host64 bytes from 192.168.10.1: icmp_seq=2 ttl=63 time=2.56 ms

En la máquina host, las rutas están bien definidas y desde esta máquina host accedo a las aplicaciones web de las VM sin ningún problema.

mostrar ruta ip

default via 192.168.1.254 dev eth0 
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.1 
192.168.10.0/24 dev vmbr10  proto kernel  scope link  src 192.168.10.254 
192.168.20.0/24 dev vmbr20  proto kernel  scope link  src 192.168.20.254 

diagrama de red

EDITAR

Cuando conecto directamente la máquina 192.168.1.2 (máquina de origen) al enrutador con un cable RJ45, funciona. Antes, 192.168.1.2 estaba conectado al enrutador mediante Wifi. Entonces creo que es un problema con este enrutador que no aplica bien la ruta estática a la máquina conectada por Wifi. No se porque pero es raro :S

Respuesta1

El problema que tienes se debe a que estás usando un enrutador con 2 interfaces en la misma subred 192.168.1.0/24.

La máquina 192.168.1.2 envía paquetes a su puerta de enlace predeterminada, supongo que es 192.162.1.254, es decir, el enrutador.

Sin embargo, dado que el enrutador descubre que el siguiente salto del paquete es otra IP en la misma subred, genera la redirección que ve en el resultado del ping.

Debe ejecutar el enrutador como puente o conmutador, es decir, no se necesitan rutas ya que el KVM 192.168.1.1 y el cliente 192.168.1.2 están ambos en la misma subred y no necesitan un protocolo de enrutamiento para comunicarse.

Además, esto significa que la puerta de enlace predeterminada correcta para el cliente 192.168.1.2 debe ser el KVM 192.168.1.1.

Otra cosa: debe confirmar si está utilizando la puerta de enlace predeterminada correcta para el KVM. ¿Es realmente el enrutador? ¿El enrutador proporciona al KVM o al cliente acceso a otras subredes además de las dibujadas aquí?

información relacionada