Linux - define uma interface para não fragmentar pacotes

1

Estou usando um Linux como roteador.

A máquina possui dois NICs. Esse roteador será usado para experimentos, então eu configurei uma das suas interfaces para ter uma MTU menor que a padrão (vamos decidir se a MTU foi configurada para 200, por causa do argumento).

Agora, a maioria dos roteadores (ou talvez todos os roteadores?) tem a capacidade de decidir se eles fragmentam os pacotes IP que excedem o MTU ou não.

Eu gostaria de ter o mesmo comportamento em minha máquina linux - não quero que os pacotes sejam fragmentados. Pacotes de tamanho grande devem ser descartados. Se o sinalizador DF estiver ativado, gostaria que a interface retornasse uma mensagem ICMP ("pacote para grande. DF configurado como 1")

Como isso pode ser feito?

    
por summerbulb 15.11.2012 / 14:17

1 resposta

2

Se o bit DF for definido, o roteador, roteador aqui sendo qualquer dispositivo que direcione um pacote de uma interface para outra, não será fragmentado. Esse é o propósito de permitir que o host defina o bit DF porque você não deseja a fragmentação.

Independentemente disso, se um roteador fragmentar um pacote que tenha o bit DF definido, ele não será compatível com RFC. Em vez de enviar uma mensagem inacessível do ICMP é uma história diferente.

Normalmente, você quer esse comportamento porque ele permite a descoberta da PMTU, mas muitas pessoas a desativam com medo de ataques DoS, e drena os recursos dos roteadores para gerar essas mensagens com pacotes suficientes.

Então, agora de volta à sua pergunta real ha ha, desculpe se isso era coisa que você já sabia. iptables tem a capacidade de soltar com base no tamanho do pacote. Se você não quiser enviar mensagens ICMP inacessíveis, você pode usar o iptables para isso também ...

link

    
por 16.11.2012 / 01:33