Você pode configurar uma tabela de roteamento separada e selecioná-la com uma "regra":
Conjunto diferente de rotas
Configuração única: escolha um nome para a tabela de roteamento e atribua um nome exclusivo
echo "1 wlanvpn" > /etc/iproute2/rt_tables.d/wlanvpn.conf
(Se não houver diretório /etc/iproute2/rt_tables.d/
, você precisa anexar a /etc/iproute2/rt_tables
)
Em cada inicialização (por exemplo, como pre-up
para a interface wlan0)
ip rule add iif wlan0 table wlanvpn
# in case the vpn is not up the route might not exist,
# blackhole by default with high metric
ip route replace to blackhole default table wlanvpn metric 4095
ip route replace default dev ppp0 table wlanvpn
Se você quiser acessar outras redes de wlan0, será necessário clonar as rotas para essa tabela (por exemplo, para eth0
: ip route add 192.168.1.0/24 dev eth0 table wlanvpn
).
A saída de ip rule show
deve agora ser:
0: from all lookup local
32765: from all iif wlan0 lookup wlanvpn
32766: from all lookup main
32767: from all lookup default
Para o IPv6, todos os comandos ip rule
e ip route
precisam ser duplicados com ip -6 ...
( 32767: from all lookup default
não está presente por padrão em ip -6 rule
).
Rotas padrão diferentes
Como alternativa, você poderia especificar apenas rotas padrão diferentes (para que as redes "internas" roteadas manualmente) ainda sejam acessadas pela VPN sem precisar clonar as rotas:
Configuração única: escolha um nome para a tabela de roteamento e atribua um nome exclusivo
echo "10 default-vpn" > /etc/iproute2/rt_tables.d/default-routes.conf
echo "11 default-normal" >> /etc/iproute2/rt_tables.d/default-routes.conf
Em cada inicialização (por exemplo, como pre-up
para a interface wlan0)
ip rule add pref 32768 iif wlan0 lookup default-vpn
ip rule add pref 32769 lookup default-normal
ip route replace to blackhole default table default-vpn metric 4095
ip route replace default dev ppp0 table default-vpn
# move your normal default route (from table main) to table default-normal, e.g:
ip route replace default via 192.168.0.1 table default-normal
ip route delete default table main
A saída de ip rule show
deve agora ser:
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
32768: from all iif wlan0 lookup default-vpn
32769: from all lookup default-normal