
Tengo una computadora que se ha conectado a dos enrutadores a través de su red interna. He reenviado el puerto 80 a mi computadora en ambos enrutadores.
EnrutadorA:80 -> 10.0.0.10:80 funciona. EnrutadorB:80 -> 192.168.1.10:80 funciona.
Entonces la configuración de reenvío de puertos de los enrutadores es correcta.
Sin embargo, cuando me conecto a ambas redes, solo funciona el reenvío de puertos del RouterA. ¿Cómo puedo hacer que funcione el reenvío de puertos del RouterB? Por favor, mire la configuración de la red de mi computadora.
network:
ethernets:
enp7s0:
addresses:
- 10.0.0.10/24
gateway4: 10.0.0.1
nameservers:
addresses:
- 10.0.0.1
enp6s0:
addresses:
- 192.168.1.10/24
gateway4: 192.168.1.1
nameservers: {}
version: 2
No necesito usar enp6s0
la puerta de enlace de pero parece que sí es necesario para el reenvío de puertos.
Gracias a @raj mi configuración de red actualizada.
NOTA: Esto no es exactamente lo que pregunté, pero si tiene un rango de IP diferente para acceder a sus enrutadores, funcionaría. Afortunadamente ese fue mi caso.
enp7s0:
addresses:
- 10.0.0.10/24
routes:
- to: 0.0.0.0/0 #default route
via: 10.0.0.1
metric: 100
nameservers:
addresses:
- 10.0.0.1
enp6s0:
addresses:
- 192.168.1.10/24
routes:
- to: A.B.C.D/24 # IP range of network that would access Router B
via: 192.168.1.1
metric: 10
nameservers: {}
Respuesta1
Generalmente, la red no funciona muy bien con dos puertas de enlace predeterminadas definidas. Su computadora usa solo una puerta de enlace de forma predeterminada (probablemente 10.0.0.1 en este caso) y usará la segunda solo cuando la primera sea inaccesible.
Entonces, probablemente el reenvío de puertos en el RouterBesfuncionando, es decir, los paquetes enviados al RouterB:80 probablemente lleguen a la interfaz 192.168.1.10 de su máquina. Pero los paquetes de respuesta se envían siempre a la puerta de enlace 10.0.0.1 y probablemente no regresan al destino (esto se denomina "enrutamiento asimétrico", que generalmente es problemático).
Si planea conectarse al RouterA:80 y al RouterB:80 desde el mismo rango de direcciones IP, no veo una solución simple a su problema. Tal vez sea posible modificar iptables de alguna manera para que las respuestas a los paquetes recibidos a través de la interfaz enp6s0 siempre salgan a través de 192.168.1.1, pero no sé cómo hacerlo (si es posible).
Si las direcciones IP serán diferentes, no debe definir 192.168.1.1 como puerta de enlace predeterminada, sino agregar a la tabla de enrutamiento una ruta a redes particulares a través de 192.168.1.1. Esto tiene prioridad sobre la puerta de enlace predeterminada, por lo que los paquetes a redes específicas se enviarán a través de 192.168.1.1 y no a través de 10.0.0.1.