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
.