Como rotear um endereço IP específico através do gateway padrão do sistema?

Como rotear um endereço IP específico através do gateway padrão do sistema?

Envio todo o tráfego através de uma VPN Wireguard, mas preciso configurar uma exceção. Os pacotes direcionados ao meu próprio IP público devem passar pelo gateway padrão do sistema.

Funciona conforme o esperado se eu adicionar isto às rotas do kernel: route add X.X.X.X gw 192.168.1.254. Mas, é claro, aqui estou codificando o gateway do meu roteador e ele não funcionará se eu estiver conectado a qualquer outra rede. Como posso generalizar esse comportamento para sempre enviar pacotes direcionados para XXXX através do gateway padrão? Talvez usar iptables em vez de adicionar rotas de kernel fosse melhor?

Responder1

Você pode usar uma variável:

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

então:

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


Talvez você devesse começar a usar ip route, é a alternativa moderna ao route.

informação relacionada