GNU/Linux >> Tutoriales Linux >  >> Linux

ruta ip mostrar campo src

Solución 1:

Al agregar una ruta a un host multitarjeta, es posible que desee tener control sobre la dirección IP de origen desde la que envía su host al iniciar las comunicaciones mediante esta ruta. Esto es lo que src es para.

Un breve ejemplo:tiene un host con dos interfaces y las direcciones IP 192.168.1.123/24 y 10.45.22.12/24. Está agregando una ruta a 78.22.45.0/24 a través de 10.45.22.1 y quiere asegurarse de que no está enviando a 78.22.45.0/24 usando la dirección 192.168.1.123 (tal vez porque la red 78.22.45.0/24 no tiene ruta de regreso a 192.168.1.0/24 o porque no quiere que su tráfico tome esta ruta por una u otra razón):

ip route add 78.22.45.0/24 via 10.45.22.1 src 10.45.22.12

Tenga en cuenta que el src que está dando solo afectaría el tráfico que se origina en su propio host. Si se enruta un paquete externo, obviamente ya tendría una dirección IP de origen, por lo que se transmitiría sin cambios (a menos que esté usando NAT, por supuesto, pero esto es un asunto completamente diferente). Además, esta configuración puede ser anulada por un proceso que elige específicamente vincularse a una dirección específica en lugar de usar los valores predeterminados al iniciar las conexiones (bastante raro).

Solución 2:

El src El atributo es una sugerencia que utiliza el algoritmo de selección de direcciones . Es importante cuando un host tiene varias direcciones IP, que suele ser, aunque no siempre, cuando tiene varias interfaces. Si bien existen otras reglas que influyen en la selección de direcciones, y una aplicación de red también puede anular el algoritmo de selección mediante el uso de llamadas al sistema como bind() , el src El atributo es una forma de usar una búsqueda en la tabla de enrutamiento para responder a la pregunta:"Si quiero iniciar una conexión con el host X, ¿cuál de mis direcciones debo usar?"

Aquí hay un ejemplo para ilustrar el uso y el efecto del src atributo. Para aclarar que esto está relacionado con direcciones y rutas, no estrictamente con interfaces, este host de ejemplo tiene solo una interfaz de red pero dos direcciones. Además, ambas direcciones están en la misma subred para enfatizar el hecho de que no hay otra forma obvia de elegir cuál usar.

$ ip -4 addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    inet 10.1.0.2/24 brd 10.1.0.255 scope global eth0
    inet 10.1.0.16/24 scope global secondary eth0
$ ip route list dev eth0
10.1.0.32/27  scope link  src 10.1.0.16
10.1.0.0/24  proto kernel  scope link  src 10.1.0.2

Este host puede comunicarse con cualquiera de las otras 252 direcciones en esta subred /24 desde cualquier dirección, pero de forma predeterminada utilizará 10.1.0.16 al iniciar una conexión con 10.1.0.32 a 10.1.0.63 y utilizará 10.1.0.2 para el resto.

Si el host responde, en lugar de iniciar, responderá desde la dirección de destino de la solicitud. Por ejemplo, si otro host en 10.1.0.32 se conecta a este host en 10.1.0.2, la respuesta provendrá de 10.1.0.2 aunque no coincida con el src atributo de la ruta de regreso.


Linux
  1. Gnome 3 Ctrl+alt+d (mostrar Escritorio)?

  2. Separador de campo predeterminado para awk

  3. VLC - cómo mostrar FPS

  4. Cómo ordenar esta salida 1,10,11..2

  5. Comando de búsqueda de Linux:muestra el progreso

Cómo agregar una ruta en Linux

Cómo mostrar archivos ocultos en Linux

Mostrar archivos ocultos

Ejemplos de comandos de ruta en Linux

Cómo mostrar números de línea en Gedit

Ping de Linux:Mostrar tiempo de espera