¿Cómo direcciono una dirección IP específica a través de la puerta de enlace predeterminada del sistema?

¿Cómo direcciono una dirección IP específica a través de la puerta de enlace predeterminada del sistema?

Envío todo el tráfico a través de una VPN Wireguard, pero necesito configurar una excepción. Los paquetes dirigidos a mi propia IP pública deben pasar por la puerta de enlace predeterminada del sistema.

Funciona según lo previsto si agrego esto a las rutas del kernel: route add X.X.X.X gw 192.168.1.254. Pero, por supuesto, aquí estoy codificando la puerta de enlace de mi enrutador y no funcionará si estoy conectado a cualquier otra red. ¿Cómo puedo generalizar este comportamiento para enviar siempre paquetes dirigidos a XXXX a través de la puerta de enlace predeterminada? ¿Quizás sería mejor usar iptables en lugar de agregar rutas del kernel?

Respuesta1

Puedes usar una variable:

defaultGW=$(/sbin/ip route | awk '/default/ { print $3 }')

entonces:

route add X.X.X.X gw $defaultGW


Quizás deberías empezar a usar ip route, es la alternativa moderna a route.

información relacionada