Encaminhamento de pacotes IP no Debian

1

Eu tenho uma rede física configurada com máquinas A ← - → B ← - → C. As configurações de IP e Ethernet são resumidas da seguinte forma:

A(eth0: 10.10.10.2) ←—→ (eth0: 10.10.10.3)B(eth1: 192.168.0.3) ←—→ (eth1: 192.168.0.2)C

Eu gostaria de enviar um pacote UDP de A para C. Um tcpdump do pacote se parece com: 10.10.10.2:10000-->192.168.0.2:10001 (10000 ou 10001 são os números de porta). É claro que o pacote deve passar por B, chegando em eth0 de B e saindo por eth1 .

A tabela de roteamento de B já está configurada como sub-rede 192.168.0.0/24 para eth1 . E /proc/sys/net/ipv4/ip_forward é 1.

tcpdump on B confirma que o pacote UDP pode ser recebido em eth0 . Mas eth1 não tem nada (nem para C), o que significa que o pacote não é encaminhado corretamente. (Não há política de descarte por iptables em B.)

Eu recriei a topologia em máquinas virtuais e ela funciona. Mas em máquinas físicas reais, não está funcionando. Eu também tentei escrever um módulo de kernel simples usando netfilter que faz printk("some messages") sempre que detecta um pacote UDP de entrada com porta de destino, digamos, 10001 (como no exemplo anterior), mas ainda assim o kernel Linux não imprime nada. p>

PS. O sistema operacional de B é Debian 6.0.10 (squeeze).

Eu agradeceria muito se alguém pudesse lançar alguma luz sobre o problema.

    
por Luc 05.06.2015 / 10:12

0 respostas