Eu tenho uma máquina servidor Linux que eu também uso como gateway de rede / "roteador". Ele tem três interfaces de rede ativas - duas interfaces de rede conectadas à Internet através de diferentes ISPs e a terceira fornecendo acesso à Internet para as minhas máquinas locais através do NAT. Eu tenho balanceamento de carga entre os links WAN.
No servidor, a rede está acessível - tudo funciona, o balanceamento de carga funciona e, geralmente, não há perdas de pacotes. As conexões entre o servidor e as máquinas locais também funcionam perfeitamente. Mas se eu acessar a internet / WAN de uma máquina local através do servidor, sempre vejo uma perda constante de pacotes de ~ 40%. Isso torna as conexões muito instáveis. Com um pouco de investigação, pude ver que recebo (e perco) pacotes que chegam através de ambas as interfaces mais ou menos igualmente, então não é como se uma das interfaces estivesse arrastando todo o resto para baixo por perdendo todos os seus pacotes.
Se eu desabilitar qualquer um dos dois links WAN, essa perda de pacotes desaparecerá instantaneamente. Ele reaparece instantaneamente se eu ativar os links WAN novamente.
O que poderia causar isso? Alguma sugestão de como solucionar esse problema sem ter que abrir mão de um dos links WAN?
minha tabela de filtros iptables
:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
minha tabela iptables
nat:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 10.42.0.0/24 !10.42.0.0/24
minha tabela% man_de% mangle:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 mark match ! 0x0
MARK all -- 0.0.0.0/0 0.0.0.0/0 state NEW MARK set 0x2
MARK all -- 0.0.0.0/0 0.0.0.0/0 state NEW statistic mode random probability 0.50000000000 MARK set 0x1
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
iptables
output:
default
nexthop via 10.7.0.254 dev eth0 weight 1
nexthop via 78.62.255.254 dev eth2 weight 1
10.7.0.0/16 dev eth0 proto kernel scope link src 10.7.5.102
10.42.0.0/24 dev eth1 proto kernel scope link src 10.42.0.254
78.62.192.0/18 dev eth2 proto kernel scope link src 78.62.239.10
169.254.0.0/16 dev eth1 scope link metric 1000
tudo não é editado como está - não se preocupa muito com "privacidade" nesse caso