O portátil liga-se, a intranet carrega e um punhado de sites públicos bloqueia. A autenticação e o encaminhamento funcionam claramente, o que deixa o tamanho do pacote como explicação. Num túnel L2TP/IPsec a MTU utilizável é menor do que a que o adaptador ainda anuncia, e o cliente continua a enviar pacotes de tamanho completo com o bit de não fragmentar ativo. Pode ordenar-se a um gateway pfSense que limpe esse bit, e é a forma mais rápida de confirmar o diagnóstico antes de o corrigir devidamente.

Comece pelas páginas que falham

Anote que destinos falham e quais funcionam antes de tocar em qualquer definição. Os apertos de mão que ficam abaixo do limite do túnel completam-se normalmente, enquanto as transferências que precisam de um segmento de tamanho completo param a meio. Essa divisão é a assinatura de um problema de tamanho e não de um filtro, porque um destino bloqueado falha ao estabelecer a ligação e não a meio da página. Ambas as observações não custam nada e estreitam logo a pesquisa.

Teste com um ping que ative o bit e controle o tamanho da carga útil. A maior carga útil que passa indica a MTU real do caminho, e o valor anunciado do adaptador mostra a que distância estão os dois.

Anote os dois números. A correção depende de qual está errado, e é o par que uma captura confirmará mais tarde.

O que o bit DF faz à saída

A encapsulação é a razão de os números diferirem. O IPsec acrescenta ESP, o L2TP acrescenta outro cabeçalho, e o túnel transporta por isso menos carga útil do que a ligação física. O Windows continua a reportar 1500 bytes no adaptador e a ativar o não fragmentar no que envia. Quando um pacote assim não cabe, a resposta correta do gateway é uma mensagem ICMP que pede ao emissor para encolher. Por isso um túnel que deixa passar pings pequenos pode ainda falhar o download de um ficheiro.

Essa mensagem muitas vezes nunca chega. Algum salto pode filtrar ICMP, ou nada a gera, e o emissor repete o mesmo tamanho até a transferência desistir.

O silêncio é aqui a apresentação normal, por isso o sintoma se lê como um bloqueio seletivo. Nada no registo do cliente anota uma mensagem ICMP em falta.

A opção do pfSense, e o que não faz

A opção está na página Sistema, Avançado, Firewall e NAT, com a etiqueta «Limpar os bits DF inválidos em vez de descartar os pacotes». Em vez de descartar um pacote grande demais que leva a bandeira, o filtro retira a bandeira e deixa o pacote ser dividido mais adiante. Um pacote conta como inválido quando não consegue atravessar a interface de saída de uma só peça.

A opção restaura a conectividade sem tocar no cliente, por isso é popular. Também é um contorno: a fragmentação custa CPU e torna cada fragmento perdido mais caro.

Aplica-se apenas ao tráfego reencaminhado, não ao tráfego que o próprio firewall origina. A mesma página oferece «Desativar a limpeza da firewall», que desliga a normalização por completo, e isso é uma mudança muito mais ampla do que este problema precisa.

Uma correção mais estreita que mantém o TCP sem fragmentação

Quase todos os fluxos bloqueados são TCP, e o TCP pode negociar um segmento mais pequeno em vez de depender da fragmentação. Limitar o MSS na interface do túnel reescreve o valor anunciado durante o aperto de mão, pelo que cada lado envia o que cabe de facto. O caminho comporta-se então de forma previsível e nenhum pacote precisa de ser dividido.

Isso deixa o UDP à descoberta ou à opção DF. Quando os sites que falham são páginas web comuns, o limite é a alteração a preferir.

O cliente pode reportar a sua própria MTU de adaptador através de netsh interface ipv4 show subinterfaces. Compare esse valor com o que o servidor pensa ter negociado, porque os dois nem sempre coincidem. É esse valor que o sistema operativo vai realmente usar, diga o que disser a negociação.

Confirme com uma captura e depois reponha o estado

Capture dos dois lados antes de decidir: um registo onde corre o túnel e outro onde corre a interface WAN. Os pacotes que saem a tamanho completo sem ICMP de retorno apontam o limite como a camada certa. As respostas que chegam e depois morrem à volta apontam, em vez disso, para a MTU do túnel.

Esvazie a tabela de estados antes de tentar de novo, porque os fluxos existentes mantêm os tamanhos de segmento antigos. Depois carregue a página que falhou e leia a vista de estados para o tráfego bidirecional em vez de contadores de um só lado. Se continuar a bloquear, capture outra vez em vez de experimentar outra caixa.

Artigos relacionados