¿La puerta de enlace tiene que estar en la subred?

14

Estaba buscando abrir una interfaz como esta en / etc / network / interfaces (esto está en debian), con la puerta de enlace fuera de la subred:

iface eth0 inet static
address 10.100.10.99
netmask 255.255.255.0
gateway 10.100.0.1

pero "ifup --verbose eth0" solo me da este mensaje de error:

ifconfig eth0 10.100.10.99 netmask 255.255.255.0
 route add default gw 10.100.0.1  eth0
SIOCADDRT: No such process
Failed to bring up eth0

Por supuesto, cambiar la máscara de red a 255.255.0.0 funciona bien.

¿Es eso posible o hay algo más que sea el problema? ¿Hay alguna manera de obtener más información de ifup? Veo una publicación en Internet que sugiere que debería funcionar.

Kevin G.
fuente

Respuestas:

10

Otra forma de abordar esta pregunta es: si no puede alcanzar su enrutador de puerta de enlace predeterminada en una red local, ¿cómo envía paquetes a través de él? Tendría que enviarlos a través de otro enrutador.

Para algunos antecedentes, recuerde que un paquete IP generalmente contiene las direcciones de origen y destino: de dónde viene y adónde quiere ir. Por lo general, depende de los enrutadores decidir cómo llega allí.

Entonces, cuando envía su paquete IP a través de su enrutador de puerta de enlace predeterminado fuera de la red, una de dos cosas tendría que suceder.

  1. El enrutador de la red local sabe cómo llegar al enrutador de la puerta de enlace predeterminada, y está de acuerdo con su idea de que su paquete debe enviarse a través del enrutador de la puerta de enlace predeterminada para llegar a su destino. En ese caso, ¿por qué no usar el enrutador de red local como su puerta de enlace predeterminada?

  2. El enrutador de red local piensa (por defecto) que su paquete debe enviarse a través de otro enrutador para llegar a su destino. En este caso, debe tener alguna forma de decirlo de otra manera. Esta capacidad existe y se denomina "enrutamiento de origen" ... pero se considera un riesgo de seguridad y la mayoría de los enrutadores están configurados para ignorarlo.

Finalmente, en mi experiencia, la herramienta Linux iproute ( ip) no le permitirá agregar una ruta si no se puede acceder a la puerta de enlace directamente a través de una interfaz de red local.

Un par de referencias de enrutamiento de origen:

Jander
fuente
4

La puerta de enlace predeterminada debe estar en la misma subred que la dirección IP del dispositivo. Por lo general, es la dirección IP del enrutador de la red a la que se está conectando. Desde la página de Wikipedia en Ruta predeterminada :

En las redes de computadoras, una puerta de enlace es un nodo (un enrutador) en una red TCP / IP que sirve como punto de acceso a otra red. Una puerta de enlace predeterminada es el nodo en la red informática que el software de red utiliza cuando una dirección IP no coincide con ninguna otra ruta en la tabla de enrutamiento. En realidad, es la dirección IP del enrutador al que está conectada la red de su PC.

En las configuraciones de informática doméstica, un ISP a menudo proporciona un dispositivo físico que conecta el hardware local a Internet y sirve como puerta de enlace. Dichos dispositivos incluyen enrutadores DSL y enrutadores de cable.

En los sistemas organizacionales, una puerta de enlace es un nodo que enruta el tráfico desde una estación de trabajo a otro segmento de red. La puerta de enlace predeterminada comúnmente conecta las redes internas y la red externa (Internet). En tal situación, el nodo de puerta de enlace también podría actuar como un servidor proxy y un firewall. La puerta de enlace también está asociada con un enrutador, que utiliza encabezados y tablas de reenvío para determinar dónde se envían los paquetes, y un conmutador, que proporciona la ruta real para el paquete que entra y sale de la puerta de enlace.

En otras palabras, una puerta de enlace predeterminada proporciona un punto de entrada y un punto de salida en una red.

slm
fuente
Pero si hay una ruta estática a una dirección, ¿no podría ser esa la puerta de enlace predeterminada, incluso si no está en la subred? (Estamos entrando en tecnicismos aquí y lejos de las buenas prácticas).
kurtm
La ruta estática puede ser una ruta, pero no la puerta de enlace predeterminada (según tengo entendido).
slm
2
La ruta predeterminada DEBE estar en la misma subred. La ruta predeterminada es cómo obtener todo el tráfico de su subred y en otra. Entonces, si está tratando de obtener tráfico de 10.100.10.99 a 10.100.0.1, necesita una "puerta de enlace" para llegar de las redes 10.100.10.0/24 a 10.100.0.0/24. 10.100.0.1 no puede ser su puerta de enlace predeterminada porque no puede acceder a ella de manera predeterminada. Sin embargo, puede ser "una" puerta de enlace. E incluso puede ser "la" puerta de enlace a la que envía todo su tráfico (una vez que le dice cómo llegar a la otra red).
coteyr
1
@coteyr: y aún así tengo esto funcionando. Si hay una ruta estática a la otra subred, y la puerta de enlace predeterminada está en esa subred, ambos puedo agregar la ruta predeterminada y hacer ping / hacer conexiones sin problemas. Puede ser menos eficiente, pero funciona.
siride
Yo diría: una ruta es cómo sacar todo el tráfico de su subred y pasar a otra. Al especificar una ruta, puede especificar un segmento IP (o una superred - una combinación de segmentos) y una puerta de enlace para acceder a ese segmento / supernet, o puede especificar "para todo lo demás que no se menciona en la tabla de enrutamiento, use esto puerta". Esta última es la ruta predeterminada, y la puerta de enlace utilizada en ella se llama puerta de enlace predeterminada. Cuando tiene solo una NIC, casi siempre necesita solo la ruta predeterminada; pero con múltiples NIC puede que también necesite otras rutas.
telcoM
2

Tengo el mismo problema en varias ubicaciones con el servicio ADSL de Verizon. La "puerta de enlace predeterminada" está en una subred diferente. En nuestro caso, necesitamos direcciones IP públicas para usar una VPN de sitio a sitio ipsec. Para hacer eso, necesitamos colocar la puerta de enlace DSL en modo puente, de modo que la dirección IP pública esté en nuestro enrutador en lugar de la puerta de enlace DSL.

La mayoría de los proveedores pueden hacer esto con bastante facilidad, pero Verizon parece tener dificultades. Utilizando una puerta de enlace DSL D-Link 2750B, colocándola en modo puente, los técnicos de Verizon me dicen que use la puerta de enlace predeterminada en una subred separada. Lo probé usando mi computadora portátil con Windows 7 y aunque Windows muestra un mensaje de error que dice: "Eres un idiota y esta es una mala idea, ¿TODAVÍA quieres guardar esta configuración? Sí / No", funciona .

Sin embargo, el software con controles de cordura más estrictos parece protegerlo de usted mismo ...

Aún así, no puedo evitar pensar que debe haber una manera de fingirlo ...

Stuart Smith
fuente
1

Es posible, pero como se explica en el artículo vinculado, su máquina ya debe saber cómo llegar a la dirección de la puerta de enlace. Esto significa que tendrá que usar post-uppara agregar manualmente las rutas en lugar degateway

iface eth0 inet static
  address 10.100.10.99
  netmask 255.255.255.0
  post-up ip route 10.100.0.0/24 via 10.100.10.x # router that can route you to the 10.100.0.0/24 network
  post-up ip route 0.0.0.0 via 10.100.0.1
jordanm
fuente
2
Estos ip routecomandos fallarán si los prueba ... incluso si agrega el addcomando que falta .
Jander