minha configuração
Eu tenho 2 conexões ISP: ADSL e SDSL.
Um servidor qos (chamado qos, ip: 192.9.201.252) fica em frente ao roteador ADSL. É a única maneira de acessar o gateway ADSL (192.9.201.254)
através de uma ponte (br0).
então este servidor qos é invisível e pode ser facilmente desconectado se falhar.
Por enquanto, o gateway padrão de todos os computadores da LAN é 192.9.201.254, e assim todo o tráfego passa pelos qos.
Esta configuração funciona muito bem.
minha necessidade
Agora, preciso rotear um serviço definido (isl) (já marcado pelo iptable para o propósito qos) para o gateway SDSL (192.9.201.251).
Eu posso conseguir isso criando outra tabela de rotas chamada «isl» e criando o gateway padrão apontando para o roteador SDSL.
depois disso, eu crio uma regra que
grep "30 isl" /etc/iproute2/rt_tables || echo "30 isl" >> /etc/iproute2/rt_tables
ip route add default via 192.9.201.251 dev br0 table isl
ip rule add fwmark 0x1e table isl
com esta configuração, eu trabalho se eu mudar todo o gateway padrão para 192.9.201.252.
minha pergunta
como forçar a aplicação dessas tabelas de roteamento mesmo que os hosts não tenham meu servidor qos como gateway, mas sempre o roteador ADSL
meu pensamento era usar algumas regras do iptables para o NAT, todas marcadas como pacotes para o host local, que então redirecionaria o tráfego para o SDSL, mas eu me sinto errado com isso.
Tags networking routing linux