Linux iptables O DNAT para de funcionar depois de algum tempo

1

3 abaixo votar favorito

Eu tenho um comportamento estranho na configuração do meu servidor. Parece assim.

client1 192.168.11.2/24 < ---- > 192.168.11.7/24 (br1 / vlan1) Servidor 192.168.21.1/24 (br21 / vlan21) < --- > 192.168.21.101/24 client2

No servidor, configurei o DNAT para duas portas para outro destino.

~ > sudo iptables -t nat -nL -v PREROUTING de cadeia (política ACCEPT 3631 pacotes, 220K bytes)  Pkts bytes destino prot opt out destino de origem
 5332 320K DNAT tcp - * * 0.0.0.0/0 192.168.11.7 multiport dports 5308,21 a: 192.168.2.19

~ > ip r obter 192.168.2.19 192.168.2.19 via 192.168.11.1 dev br1 src 192.168.11.7

Isso funciona por algum tempo de ambos os clientes, mas depois de um tempo não especificado, somente os pacotes do client2 são encaminhados mais. O contador de pacotes aumenta quando tento me conectar do client1, mas não há mais NAT. Às vezes, começou a funcionar novamente depois de algumas horas.

Nada é bloqueado no firewall porque todas as políticas estão no ACCEPT e não há regras definidas. A conntrack também não está cheia. Eu já tentei várias coisas com rp_filter e assim por diante, mas isso não deve ser problema nessas configurações.

quando eu coloco br1 no modo promisc, ele começa a funcionar, mas eu quero entender porque a interface não aceita os pacotes sem o promisc mode.

Espero que alguém tenha uma ideia.

    
por Filesearcher 17.02.2014 / 08:51

1 resposta

1

Tente reduzir o tamanho da sua MTU nas interfaces dos seus clientes, para o caso de algo estar perdendo pacotes fragmentados. Em qualquer caso, você deve executar o tcpdump / wireshark nos clientes e no servidor e ver qual deles está causando o problema.

    
por 17.02.2014 / 11:39