Acho que você precisará criar várias tabelas de rotas. Um é o seu padrão para o tráfego normal, o próximo é a sua tabela SSH especial que contém entradas de rota apenas para a conexão do provedor que você deseja usar.
Em seguida, configure o iptables para marcar os pacotes que são do seu IP e escutando a porta SSH.
Por fim, você pode configurar entradas de regra ip para rotear com base na marca do firewall.
Existem muitas informações (mas você já deve ter visto isso até o momento) na documentação do LARTC: link
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 realize a coisa certa.
ip route add default via $ISP2_GW table SSH
-
Configure uma regra para fazer o fwmark usar essa nova tabela.
ip rule add fwmark 0x0001 table SSH
-
Por fim, 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
Isso deve configurar o que você deseja corretamente. Você precisará também certificar-se de que esta configuração sobrevive a reinicializações! Mas deixo isso como um exercício para você.