Tenho várias conexões VPN que usam o mesmo IP de gateway (não tenho a capacidade de alterar isso, pois está fora de meu controle). Todas essas VPNs fornecem acesso a redes diferentes, e as redes são pelo menos um ou dois saltos a montante, portanto, um IP de gateway é necessário em todos os casos. Com o Linux, para rotear para as redes, eu posso simplesmente fazer:
ip route add $destination_1 via $gateway_ip dev $interface_1
ip route add $destination_2 via $gateway_ip dev $interface_2
ip route add $destination_3 via $gateway_ip dev $interface_3
etc.
O Linux colocará o tráfego de cada rede de destino nas interfaces corretas, para o gateway correto, portanto, não importa que o IP do gateway seja o mesmo para cada interface.
Minha pergunta é: como posso conseguir isso no OpenBSD? Eu tentei e falhei. Minhas conclusões são de que, para um destino específico, posso:
- especifique uma interface (se o destino estiver diretamente acessível nesse link - o que não acontece no meu caso)
- especifique um IP de gateway porque o destino não está diretamente no link
Mas não consigo descobrir como especificar os dois.
-T
opçãoroute
e definir uma tabela de roteamento para cada destino? Eu acho que fornece melhor "isolamento" para as regras de interface.Respostas:
Use o modificador -ifp para rotear . Na página do manual :
Então, algo assim funciona:
Se as rotas de destino estiverem sobrepostas, você poderá usar pf e etiquetas de rota para corresponder ou domínios de roteamento .
fonte
-iface
se aplica porque o endereço do gateway é para um roteador upstream (próximo salto), não para um IP de uma interface na própria caixa do openbsd. Quando removi o -iface, ele funcionou, mas apenas para a primeira interface VPN. Para que eu possa fazer-ifp tap0
e funcione, mas se o fizer-ifp tap1
falharno route to host
quando tento adicionar a rota.-link -llinfo
bandeiras no comando route? Além disso, acho-iface
que se aplica (você obtém o erro sem rotear tabelas / domians, como você observou, porque a rota de rede entra em conflito e não pode ser adicionada novamente). OpenVPN / torneira? Imaginando o que está provisionando o "outro" fim, se é um ptp falso.