Eu tenho um roteador Debian Linux VPN myvpnserver
com 2 interfaces eno1
e eno2
:
eno1
está conectado a uma LAN e um roteador de internet. Nesta interface com endereço IP estático,myvpnserver
tem seu gateway padrão (para a Internet). O OpenVPN se conecta a um servidor VPN usando esta conexão com a Internet.eno2
está conectado a um interruptor. Um servidor DHCP é executado nesta interface. Quero que todo o tráfego dos clientes conectadoseno2
seja roteado pela VPN /tun0.
A configuração básica funciona bem. De hosts conectados a eno2
I, posso acessar hosts na LAN VPN remota (por exemplo 10.123.0.0/24
).
Meu próximo objetivo é rotear myvpnserver
dependendo do endereço ou interface de origem.
Se myvpnserver
conectar à Internet (por exemplo, ftp.debian.org
ou host VPN), deve usar o gateway padrão via eno1
. Se um cliente conectado a eno2
deseja se conectar aos mesmos hosts da Internet (por exemplo, ftp.debian.org
), o tráfego deve ser roteado pela VPN / tun0
em vez do myvpnserver
gateway padrão do .
// For Incoming Traffic:
If( InputInterface = eno2 ) Then
default_gateway = 172.17.100.1
Else
default_gateway = gateway as declared in /etc/network/interfaces
End If
Descobri que o roteamento baseado em políticas parece ser o caminho a percorrer. Enquanto o roteamento "normal" é baseado apenas no destino, o roteamento baseado em política é considerado capaz de considerar aspectos adicionais, como a interface de entrada ou o intervalo de IP de origem.
Quais são os passos a tomar? (Estou no Debian 11 / Bullseye.)
1.) Adicionei uma linha 1000 vpntunnel
a /etc/iproute2/rt_tables
.
Qual é o próximo? Você pode me indicar um exemplo de configuração?
Muito obrigado por qualquer conselho!
As próximas etapas podem ser tão simples quanto adicionar uma regra de política e uma entrada na tabela de roteamento.
Podes tentar:
Estou assumindo que 172.17.100.1 é a outra extremidade do seu túnel VPN. Eu usei o valor numérico de 1000 para a tabela, mas como você adicionou uma entrada com o nome "vpntunnel", você pode usar o nome.
Sua VPN pode já ter alguma configuração que pode entrar em conflito com o que estou sugerindo. As saídas de "
ip rule show
" e "ip route show table all
" podem ser úteis na questão. Além disso, a configuração existente do iptables também pode exigir uma alteração na solução sugerida.