Existem duas abordagens principais que você pode usar para obter os dois objetivos de balanceamento de carga de entrada e saída trabalhando em conjunto, o que resumirei.
com o BGP
Requisitos: roteador compatível com BGP, número AS, intervalos de IPs que você está autorizado a anunciar
Ao usar o BGP para balancear a carga entre vários links, é provável que você confie nele para toda a modelagem de tráfego de entrada e saída, balanceamento e failover ou use outras opções para configurar o tráfego de saída, como o Roteamento de Borda Otimizado (também conhecido como roteamento de desempenho).
A configuração será basicamente assim:
Portanto,nessasituação,vocêtemumespaçoIPpúblico(192.0.2.0/24)quecadaISPpermitequevocêanuncieemsuasessãodeemparelhamentoBGPcomvocê.Dependendodavelocidadedoslinks,vocêpodefazerváriascoisasparadistribuiracargaconformedesejado,masraramenteéumaarteexata.
Paraotráfegodesaída,vocêaplicaráummapaderotasàsrotasdeentradadecadapontoparaajustarsuaprioridade.
Paraotráfegodeentrada,vocêfaráalteraçõesnasrotasquevocêestáanunciandoparacadapar.vocêpodeaplicarumcaminhoantes(paraqueocaminhoparaoseusistemaatravésdesseISPapareçaartificialmentemaislongoesejamenosprovávelquesejausado),ouumastringdecomunidade;umastringdecomunidadepodepermitirainfluênciaremotadocomportamentodeoutroroteadorparaessarota,maséespecíficodecomoeleétratadonesseAS-pergunteaoseuISPquaisstringsusarparaoquevocêdesejaalcançar.
SemBGP
Alertadeadvertênciaprincipal:comISPsdiferentesatribuindo-lheintervalosdiferentes,cadaintervaloatribuídoserádirecionadoavocêporumISPdiferente;emessência,nãohánenhumamaneiraefetivadeexporumserviçopúblicosobreumendereçoacessívelportodasasconexões.Delá,assoluçõesalternativassãofeiasnamelhordashipóteses;DNSround-robinemtodososendereçospúblicoseserviçosdinâmicosdeDNSvêmàmente.
ComváriosISPstratandovocêcomoapenasumclientecomalgumespaçoatribuídoestaticamente,suasopçõesdiminuemsignificativamente.Obalanceamentodesaídaaindaésemi-funcionalparacertasdefiniçõesde"balanceamento", mas as configurações ficam muito mais feias e muito menos flexíveis. O tráfego de entrada não tem nenhuma visibilidade na redundância do seu link, na verdade, sem balanceamento de carga - a melhor opção é fornecer redundância para serviços de internet de outra maneira; conversas iniciadas de um dispositivo local para um servidor da Internet sempre serão respondidas no mesmo link do ISP.
Parece assim:
CadaISPpegaospacotesquevocêenviaeencaminhapacotesdevoltaparaoseualcancedeIPemseulink.SeuroteadorestáfazendoNATseparadodehostsinternosparaoespaçodeendereçoapropriado,dependendodequallinkeleestásaindo.UmadeterminadaconversaTCPdevecontinuarusandoomesmolinkouseráperdida,oquelimitaseusrecursosdebalanceamentodinâmicodecarga;melhorusarapenasoroteamentodepolíticas.
Peloquevocêdisse,vocêestáestritamentenaseção"sem BGP". Então, para abordar especificamente suas dúvidas:
O roteamento com base em políticas é a ferramenta que você deseja usar para o tráfego de saída, sim. Você pode usar ACLs estendidas e padrão na correspondência, o que significa que você pode definir regras com base em serviços e apenas em IPs. Você também pode procurar configurar os monitores SLA para suas rotas, para abandonar a rota para um ISP inoperante.
O tráfego de entrada é mais complicado, se você tem serviços expostos à Internet e depende do que você está veiculando - o DNS round robin e os serviços DNS dinâmicos são opções, mas não são bons.
Você provavelmente desejará fazer o gerenciamento de tráfego (limites de QoS / taxa) na interface externa de cada ISP.
A Cisco tem alguns bons exemplos de detalhes de implementação para uma configuração como essa, dê uma olhada aqui para uma configuração muito próxima do que você está procurando.