¿Cuál es el significado de 0.0.0.0 como puerta de enlace?

58

¿Alguien puede aclarar la asignación de puerta de enlace para mí?

¿Cuál es la diferencia entre agregar gateway como 0.0.0.0y asignar una dirección IP específica como gateway?

usuario2720323
fuente
¿Estás hablando de 0.0.0.0 como la puerta de enlace de destino? ¿O 0.0.0.0 como la red para la puerta de enlace predeterminada? Nunca he visto 0.0.0.0 como el destino real antes, pero lo he visto como la red que figura en la tabla de enrutamiento.
kurtm
@kurtm: estoy preguntando sobre la asignación de 0.0.0.0 como puerta de enlace y la asignación de una dirección IP específica como puerta de enlace.
user2720323
Sí. Lo entendí con la respuesta de slm. Mis sistemas no imprimen el 0.0.0.0, lo sustituyen en algo más significativo. Las respuestas a continuación deberían explicarlo.
kurtm

Respuestas:

44

0.0.0.0tiene el significado específico "no especificado". Esto se traduce aproximadamente como "no hay ninguno" en el contexto de una puerta de enlace. Por supuesto, esto supone que la red está conectada localmente, ya que no hay un salto intermedio.

Como destino, 0.0.0.0/0es especial: si no hay bits de red, tampoco puede haber nada en el número de red. Entonces, es naturalmente no especificado.

Sin embargo, atendiendo a su pregunta, sí, tiene un significado especial. Significa que la red está conectada localmente en esa interfaz y no se necesitan más saltos para llegar a ella.

Falcon Momot
fuente
26

Desde la página de wikipedia, 0.0.0.0

extracto

En la versión 4 del Protocolo de Internet, la dirección 0.0.0.0 es una metadirección no enrutable que se utiliza para designar un objetivo no válido, desconocido o no aplicable. Para dar un significado especial a un dato de otra manera inválido es una aplicación de señalización en banda.

Desde la página de wikipedia, Ruta predeterminada .

extracto

La ruta predeterminada en el Protocolo de Internet versión 4 (IPv4) se designa como la dirección cero 0.0.0.0/0 en notación CIDR, 1 a menudo llamada la ruta de cuatro ceros. La máscara de subred se proporciona como / 0, que especifica efectivamente todas las redes, y es la coincidencia más corta posible. Una búsqueda de ruta que no coincide con ninguna otra ruta, recurre a esta ruta. Del mismo modo, en IPv6, la ruta predeterminada se especifica mediante :: / 0.

En el segmento de nivel más alto de una red, los administradores generalmente señalan la ruta predeterminada para un host determinado hacia el enrutador que tiene una conexión con un proveedor de servicios de red. Por lo tanto, los paquetes con destinos fuera de la red de área local de la organización, generalmente destinos en Internet o en una red de área amplia, se envían al enrutador con la conexión a ese proveedor.

El dispositivo al que apunta la ruta predeterminada a menudo se denomina puerta de enlace predeterminada, y a menudo lleva a cabo otras funciones, como el filtrado de paquetes, el firewall o las operaciones del servidor proxy.

Ejemplo

En su pregunta voy a suponer que tiene algo como esto:

$ netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
0.0.0.0         192.168.1.254   0.0.0.0         UG        0 0          0 eth0

Esto significa que para cada uno de los destinos de red (192.168.1.0 o 169.254.0.0) que la puerta de enlace predeterminada es el destino 0.0.0.0, si un paquete NO está destinado a ninguna dirección dentro de esa red en particular. Para el destino 0.0.0.0, use la dirección IP 192.168.1.254.

Estas reglas actúan para canalizar todo el tráfico que no coincide con ninguna de las rutas que conocemos, a la ruta predeterminada.

Par de muestras

Digamos que tenemos un paquete con IP 192.168.1.110. La primera regla se verifica y esta IP coincide con esa red, por lo que se entrega.

Si tuviéramos el paquete 150.12.13.1, la tercera regla estaría vigente y el paquete se enrutaría a 192.168.1.254.

slm
fuente
Entonces, en este ejemplo, todo el tráfico iría a 192.168.1.254
Timothy Pulliam
4

Mire, 0.0.0.0 solo se usa en tablas de enrutamiento, NO para asignar a un host.

Los hosts (computadoras con una dirección IP) mantienen una tabla de enrutamiento para resolver cómo enviar sus mensajes al lugar correcto.

Escenario 1: la PC-A desea enviar un mensaje a la PC-B en la MISMA RED:

1) La PC-A verifica su tabla de enrutamiento para ver si hay una coincidencia para la dirección IP de destino. 2) La tabla de enrutamiento muestra que el destino está dentro de la misma red, encuentra la interfaz que está conectada a esa red y luego reenvía el mensaje directamente desde esa interfaz al destino.

Escenario 2: la PC-A desea enviar un mensaje al Servidor-Z en una RED REMOTA (NO la misma red):

1) La PC-A verifica su tabla de enrutamiento y no puede encontrar una coincidencia (por supuesto, porque los hosts no realizan un seguimiento de los hosts en las redes remotas, ese es el trabajo de los enrutadores).

2) Sin embargo, la PC está configurada con una dirección IP quad-zero y una máscara de subred asignada a su enrutador (puerta de enlace predeterminada a OTRAS, REMOTAS, DIFERENTES redes) como esta:

(0.0.0.0 0.0.0.0 192.168.0.1 interfaz)

¿Qué significa cero? Significa ninguno. Entonces, si su computadora no realiza un seguimiento de dónde están los hosts remotos, y verifica su tabla de enrutamiento cada vez que desea enviar un mensaje para ver si necesita enviarlo a la MISMA red (local) o si necesita para enviarlo a una red REMOTA, entonces, ¿cómo lleva el mensaje a la red remota?

Lo envía al enrutador y permite que el enrutador haga su trabajo de enrutar el paquete a lo largo de la mejor ruta. Por lo tanto, el host / PC / computadora necesita saber que si no puede encontrar una entrada en su tabla de enrutamiento a dónde enviar el mensaje (también conocido como 0.0.0.0), entonces sabe enviarlo al enrutador, que es la IP dirección asociada con la entrada (0.0.0.0 0.0.0.0 192.168.0.1 interfaz) y utiliza la interfaz asociada / NIC / adaptador de red que está conectado a eso.

Por lo tanto, las tablas de enrutamiento en hosts y enrutadores usan 0.0.0.0 para saber dónde enviar algo cuando encuentra cero coincidencias para llegar a un destino y debe asignarse a la dirección IP de un enrutador y a una interfaz para llegar a ese enrutador.

McGavel
fuente