Encontrei a resposta aqui: Como direcionar um determinado sub-rede em um túnel VPN
Pode ser adaptado à minha situação ou similar. Observe o inteligente route-up.sh para copiar as rotas para uma nova tabela na inicialização.
Eu tenho um roteador Linux com vários gateways (modem a cabo, ppp, vpn, etc). Qual é a melhor maneira de encaminhar todo o tráfego da Internet para usuários individuais através de diferentes gateways?
Veja um exemplo: Imagem do diagrama de rede
Parece que preciso criar tabelas de roteamento individuais para cada conexão, adicionar conexão GW, adicionar o IP da conexão, adicionar o (s) IP (s) do usuário e ativar o NAT. Isso funciona com o PPP, mas não com o OpenVPN (configuração padrão, meu roteador é o cliente).
por exemplo:
openvpn --route-nopull --config ~/connect.ovpn &
ip route add default via 10.8.0.5 table myvpn
ip route add 10.8.0.1/32 via 10.8.0.5 table myvpn
ip rule add from 10.8.0.6 table myvpn
ip rule add from 192.168.1.3 table myvpn
ip rule add from 192.168.1.4 table myvpn
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o myvpn -j MASQUERADE
Neste exemplo, o roteador pode se conectar através de 10.8.0.6 (ou qualquer outra conexão individualmente), mas os clientes não podem.
Encontrei a resposta aqui: Como direcionar um determinado sub-rede em um túnel VPN
Pode ser adaptado à minha situação ou similar. Observe o inteligente route-up.sh para copiar as rotas para uma nova tabela na inicialização.
Um túnel VPN entre as máquinas na sua rede local e o roteador com vários gateways é um total exagero.
Em vez disso, use Marcação de VLAN para dividir sua LAN em várias "sobreposições" (as cores diferentes em seu diagrama de rede) , certifique-se de que cada usuário / máquina esteja conectado à VLAN correta e configure seu roteador para rotear cada VLAN para o gateway apropriado.
Cada VLAN aparecerá como um adaptador de rede no roteador. Assumindo que o roteador é algum tipo de Linux embarcado, você pode facilmente usar o roteamento de políticas para integrar a interface de rede de saída as decisões de roteamento. Geralmente não é necessário usar iptables
para isso, a menos que você queira um firewall (embora, por algum motivo, muitas pessoas na Internet pareçam querer iptables
para roteamento ... o que é um dos meus problemas).