Configurando rotas para que a vpn seja usada apenas para recursos locais

0

Depois de pesquisar por toda parte por uma resposta abrangente e experimentar várias soluções que não funcionaram, estou me voltando para a comunidade.

Estou usando uma conexão VPN para acessar certos recursos de rede (principalmente testbeds) e eles estão todos no intervalo de rede 10.0.0.0. No entanto, quando me conecto à VPN, todo o meu tráfego é roteado pela VPN e não apenas pelas solicitações para esses endereços IP. Meu objetivo é rotear tráfego como o Youtube, o Google Play e assim por diante pela minha internet e não pela Internet VPN. Principalmente porque a velocidade é muito ruim passando pela VPN.

Eu tentei verificar as opções na configuração do gerenciador de rede para usar a VPN apenas para os recursos na rede, mas isso não funciona.

Eu também tentei brincar com minhas tabelas de roteamento, mas sem sucesso.

Eu gostaria de receber ajuda nesse sentido. Eu estou usando o Ubuntu 16.04 com o Gnome. Aqui estão algumas estatísticas da rede:

netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         0.0.0.0         0.0.0.0         U         0 0          0 ppp0
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 enp4s0
10.150.1.254    0.0.0.0         255.255.255.255 UH        0 0          0 ppp0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 enp4s0
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 enp4s0
195.230.180.187 192.168.0.1     255.255.255.255 UGH       0 0          0 enp4s0
    
por nixpix 24.10.2017 / 11:06

1 resposta

0

Consegui resolver isso.

Primeiramente, aumentei a métrica da rota do gateway padrão para 1, de modo que todo o meu tráfego passe por isso.

sudo ifmetric enp4s0 1

Depois disso, adicionei uma nova rota para a sub-rede 10.x.x.x

sudo ip route add 10.0.0.0/8 dev ppp0 metric 25

isso agora me permite acessar todos os recursos de rede vpn e usar minha conexão de internet local para todo o resto.

Eu também adicionei um script em /etc/network/if-up.d / que automaticamente faz isso toda vez que eu me conecto à vpn.

#!/bin/sh

if [ "$IFACE" = "ppp0" ]; then
     ifmetric enp4s0 1
     ip route add 10.0.0.0/8 dev ppp0 metric 25
fi

Onde ppp0 é o nome da interface da minha conexão vpn. E a tabela de roteamento no final é assim:

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    1      0        0 enp4s0
0.0.0.0         0.0.0.0         0.0.0.0         U     50     0        0 ppp0
10.0.0.0        0.0.0.0         255.0.0.0       U     25     0        0 ppp0
10.150.1.254    0.0.0.0         255.255.255.255 UH    50     0        0 ppp0
169.254.0.0     0.0.0.0         255.255.0.0     U     1      0        0 enp4s0
192.168.0.0     0.0.0.0         255.255.255.0   U     1      0        0 enp4s0
195.230.180.187 192.168.0.1     255.255.255.255 UGH   1      0        0 enp4s0
    
por nixpix 25.10.2017 / 13:18