I understand the routing table is a "fall through" table
Não realmente. A tabela de roteamento é ordenada de "rota mais específica" para "rota menos específica". Sua rota padrão é via br0
e é definida como a rota de último recurso porque não há máscara de rede (ou seja, genmask
é 0.0.0.0
).
because the 1st entry is 0.0.0.0 all traffic will go through the tun1 interface
Embora esta seja a conclusão correta, infelizmente é o raciocínio errado. Aqui está sua tabela de roteamento ordenada visualmente para representar a ordem usada para o roteamento (top é a melhor combinação):
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
10.182.1.1 10.182.1.5 255.255.255.255 UGH 0 0 0 tun1
10.182.1.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun1
46.23.68.178 10.0.1.1 255.255.255.255 UGH 0 0 0 br0
10.0.1.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 10.182.1.5 128.0.0.0 UG 0 0 0 tun1
128.0.0.0 10.182.1.5 128.0.0.0 UG 0 0 0 tun1
0.0.0.0 10.0.1.1 0.0.0.0 UG 0 0 0 br0
A rota padrão ainda é via br0
. No entanto, existem duas rotas mais específicas (a máscara de rede é 128.0.0.0
), cada uma correspondendo à metade do espaço de endereços IPv4 numericamente disponível, portanto, elas corresponderão a todo o tráfego não local.
My goal is to only route 1 or 2 websites via the Website - specifically a1505.g2.akamai.net which according to
nslookup
maps to the following IPs:195.59.150.43
and195.59.150.26
.
Não tenho certeza do que você quer dizer com "o site"; Eu vou assumir que é tun1
e que você quer parar todo o seu tráfego dessa maneira.
Para fazer isso com o OpenVPN, simplesmente remova a diretiva route-gateway def1
de seu arquivo de configuração. (Se você estiver usando algo como o NetworkManager, então deve haver uma opção que você precisa desmarcar para marcar a conexão como sua rota padrão.)
Tendo feito isso, tudo o que você precisa fazer é adicionar duas rotas, uma para cada host, através do gateway para tun1
:
route add -host 195.59.150.43 gw 10.182.1.5
route add -host 195.59.150.26 gw 10.182.1.5
Estas são as rotas do host, portanto, a máscara de rede é implicitamente /32
(ou seja, 255.255.255.255
), então elas têm precedência sobre tudo e na minha tabela visualmente ordenada estariam com as três entradas no topo da lista. >
Na verdade, você também deve poder fazer isso no arquivo de configuração do OpenVPN. Isso permitiria que as rotas fossem ativadas e removidas automaticamente com a própria VPN. Dependendo de sua configuração, a configuração seria no servidor, onde as rotas seriam "empurradas" para o cliente ou como diretivas no arquivo de configuração do cliente OpenVPN:
route 195.59.150.43
route 195.59.150.26