CentOS 8: dois adaptadores de rede externos, dois ISPs – problemas de roteamento

CentOS 8: dois adaptadores de rede externos, dois ISPs – problemas de roteamento

Dado: um computador com CentOS 8 com três adaptadores de rede.

eth0, eth2: externa, conectada a dois ISPs diferentes
eth1: voltada para rede doméstica (intranet)

A tarefa: permite acessar determinados serviços internos de qualquer ISP. Existem vários serviços, menciono apenas o SSH abaixo.

Nas configurações abaixo:
IP1: IP externo no primeiro ISP (ISP1), atribuído à eth0
Gateway1: IP do gateway fornecido pelo ISP1
Rede1,Netmask1: relacionado ao IP1
IP2: IP externo no segundo ISP (ISP2), atribuído à eth2
Gateway2: IP do gateway fornecido pelo ISP2
Network2,Netmask2: relacionado ao IP2
LocalSSHIP: IP na intranet (eth1) onde o servidor SSH está rodando

Seguem as configurações atuais. Tabelas de roteamento:

echo "200 isp1" >> /etc/iproute2/rt_tables
echo "201 isp2" >> /etc/iproute2/rt_tables

Políticas de roteamento:
/etc/sysconfig/network-scripts/route-eth0

Network1 dev eth0 src IP1 table isp1
default via Gateway1 dev eth0 table isp1

/etc/sysconfig/network-scripts/route-eth2

Network2 dev eth2 src IP2 table isp2
default via Gateway2 dev eth2 table isp2

Regras de roteamento:
/etc/sysconfig/network-scripts/rule-eth0

from IP1/32 table isp1

/etc/sysconfig/network-scripts/rule-eth2

from IP2/32 table isp2

trechos do iptables. Tráfego externo encaminhado para o servidor SSH local de ambas as interfaces:

iptables -A PREROUTING -t nat -i eth0 -p tcp -d IP1 --dport 22 -j DNAT --to LocalSSHIP:22
iptables -A PREROUTING -t nat -i eth2 -p tcp -d IP2 --dport 22 -j DNAT --to LocalSSHIP:22
iptables -A FORWARD -p tcp -d LocalSSHIP --dport 22 -j ACCEPT

eth0 é o gateway padrão:
$ ip route

default via Gateway1 dev eth0 proto static metric 100 
default via Gateway2 dev eth2 proto static metric 101 
...

regra $ ip

0:  from all lookup local
32764:  from IP2 lookup isp2
32765:  from IP1 lookup isp1
32766:  from all lookup main
32767:  from all lookup default

O SNAT é aplicado ao tráfego originado da eth1:

iptables -t nat -A POSTROUTING -i eth1 -o eth0 -j SNAT --to-source IP1

Situação atual:

  1. Todos os serviços encaminhados da eth0 estão funcionando normalmente.
  2. Todo o tráfego originado da intranet sai e volta normalmente.
  3. Todas as tentativas de acessar serviços da eth2 expiram.

Não há dicas óbvias em /var/log/messages (como reclamações sobre "IPs marcianos").

Estou um pouco perdido aqui, todos os conselhos seriam muito bem-vindos.

informação relacionada