Tabla de rutas en Ubuntu

Tabla de rutas en Ubuntu

Soy nuevo en la red y no sé cómo configurarla correctamente.

Puedo hacer ping al servidor

ping -I 192.168.42.1 42.112.178.185

pero no pude hacer ping

ping 42.112.178.185

42.112.178.185 solo se permite aceptar para 192.168.42.0/24.

¿Cómo podría agregar una tabla de rutas? me gustaría usar

ping 42.112.178.185 

En lugar de

ping -I 192.168.42.1 42.112.178.185

estoy tratando de llamarhttp://42.112.178.185con curl y necesita enrutar desde 192.168.42.1.

Respuesta1

ACTUALIZARComo lo desee, aquí hay una solución para el problema específico: use curlla IP de origen correcta al conectarse, diciéndole que se vincule a ella con la --interfaceopción antes de conectarse.

Desde elpágina de manual de rizos:

--interfaz

Realizar una operación utilizando una interfaz específica. Puede ingresar el nombre de la interfaz, la dirección IP o el nombre del host.

Entonces el problema se puede resolver simplemente usando este curlcomando para llegar a 42.112.178.185 con la IP correcta:

curl --interface 192.168.42.1 http://42.112.178.185/

Por supuesto, también puede especificar la interfaz.


Todavía dejo la solución de enrutamiento a continuación, en caso de que pueda ayudar a alguien.


De hecho, se puede agregar una ruta que le indicará que use una IP de origen distinta a la IP predeterminada (la que pertenece a la red de la puerta de enlace) al llegar al objetivo.

nota: Debido a que no se proporcionó alguna información requerida: la IP de la puerta de enlace predeterminada y la interfaz para llegar a ella, se requieren algunas secuencias de comandos adicionales para determinar su valor. Además, debido a que podría haber un túnel que podría no haber reemplazado la ruta predeterminada pero que podría haber agregado dos "rutas media predeterminadas" 0.0.0.0/1 y 128.0.0.0/1, obtendré la ruta a 42.112.178.185 para tener la valor correcto.

Así que asignemos la IP de gw a gw:

gw=$(ip -o route get 42.112.178.185 | sed -n 's/^.* via \([^ ][^ ]*\) *.*$/\1/p')

Ahora aquí está el comando de enrutamiento simple:

ip route add 42.112.178.185 src 192.168.42.1 via $gw

Si, por ejemplo, la puerta de enlace fuera 10.0.8.1, con la supuesta ip 10.0.8.2 de tun0 de Ubuntu, antes del cambio, consultar la ruta a 42.112.178.185 daría:

# ip route get 42.112.178.185
42.112.178.185 via 10.0.8.1 dev tun0 src 10.0.8.2 
    cache 

Después del cambio eso pasaría a ser:

# ip route get 42.112.178.185
42.112.178.185 via 10.0.8.1 dev tun0 src 192.168.42.1
    cache

El ip routecomando se puede cambiar para que afecte a más de esta única IP, pero lo que se debe hacer depende de las otras rutas ya presentes.

información relacionada