
Estou usando o firewall shorewall e configurei com êxito várias fontes de ISP.
Atualmente ele equilibra todo o tráfego para ambos os ISPs. O que eu quero alcançar é rotear o tráfego ssh para o ISP1 e rotear o tráfego www para o ISP2. Como posso fazer isso?
Responder1
Acho que você precisará criar várias tabelas de rotas. Um é o padrão destinado ao tráfego normal, o próximo é a tabela SSH especial que contém entradas de rota apenas para a conexão ISP que você deseja usar.
Em seguida, configure o iptables para marcar os pacotes provenientes do seu IP e da porta SSH de escuta.
Finalmente, você pode configurar entradas de regras de IP para rotear com base na marca do firewall.
Há muitas informações (mas você já deve ter visto isso até agora) na documentação do LARTC:http://lartc.org/howto/lartc.rpdb.html
Então, como exemplo:
Adicione uma nova tabela de roteamento com um nome.
echo SSH 500 >>/etc/iproute2/rt_tables
Adicione uma rota padrão a outra tabela de roteamento que faça a coisa certa.
ip route add default via $ISP2_GW table SSH
Configure uma regra para fazer o fwmark usar esta nova tabela.
ip rule add fwmark 0x0001 table SSH
Finalmente configure uma regra iptables para marcar seus pacotes.
iptables -I PREROUTING -t mangle -p tcp --sport 22 -j MARK --set-mark 0x0001 iptables -I OUTPUT -t mangle -p tcp --sport 22 -j MARK --set-mark 0x0001
Esperamos que isso configure o que você deseja corretamente. Você também precisará garantir que essa configuração sobreviva às reinicializações! Mas deixo isso como um exercício para você.