Não é possível acessar sites https selecionados no Linux por PPPoE

18

Minha conexão à Internet costumava ser uma conexão LAN direta ao meu provedor. Naquela época, tudo carregava bem no Windows e no Ubuntu (inicialização dupla). No entanto, há pouco tempo, eles começaram a precisar que eu discasse (PPPoE) usando um nome de usuário e senha. Os servidores de gateway, máscara de sub-rede, IP e DNS permaneceram os mesmos. Mas desde então, não consigo navegar em determinados sites no Ubuntu, mesmo que não haja problemas no Windows. Alguns exemplos de sites são: a página de login do Ovi (embora o share.ovi.com carregue bem e o nokia.com carregue bem), o Live Mail (funciona no Chrome (ium) e Opera, mas não no Firefox (3.6 e 4)) Mozilla Site de complementos e outros sites aleatórios.

Alguns sites que não carregam mostram mensagens de tempo limite e para alguns sites (como o moz addons one), o navegador continua tentando carregar sem fim (eu deixei assim mesmo por horas, mas não percebi nada de diferente acontecer).

Eu tentei mudar os servidores DNS para servidores públicos. Eu até tentei inicializar a partir de um LiveCD do Fedora e depois mudar o DNS para aqueles (e até mesmo para o OpenDNS), mas acontece exatamente a mesma coisa. O que poderia estar inerentemente errado com alguma configuração dentro do próprio Linux que está causando esse problema?

Alguém sabe por que isso está acontecendo e como pode ser corrigido?

Nota: Esta pergunta foi postada na SU, mas não obteve respostas.

Update: Só vi aqui que alguém estava tendo problema semelhante e resolvido-lo, colocando um NetworkManager.conf arquivo no /etc/NetworkManager. O que precisa estar nesse arquivo?

Mussnoon
fonte

Respostas:

24

Você tem os sintomas de um problema na MTU : algumas conexões TCP congelam, de forma mais ou menos reproduzível para um determinado comando ou URL, mas sem um padrão geral facilmente discernível. Um sintoma revelador é que as sessões interativas do ssh funcionam bem, mas as transferências de arquivos quase sempre falham. Além disso, o pppoe é o portador número um do problema da MTU para usuários domésticos. Então eu prescrevo um cheque MTU.

O que é isso? O m aximum t ransmission u nit é o tamanho máximo de um pacote através de uma ligação de rede. A MTU varia de meio de transporte para meio de transporte, por exemplo, Ethernet com fio e Wi-Fi (802.11) têm MTUs diferentes, e os links ATM (que compõem a maior parte da infraestrutura de longa distância) possuem, cada um, seu próprio MTU. O PPPOE é um protocolo encapsulado, o que significa que cada pacote consiste em alguns bytes de cabeçalho seguidos pelo pacote subjacente - diminuindo o tamanho máximo do pacote pelo tamanho do cabeçalho. O IP permite que os roteadores fragmentem pacotes se detectarem que são muito grandes para o próximo salto, mas isso nem sempre funciona. Em teoria, o MTU adequado deve ser descobertoautomaticamente , mas isso também nem sempre funciona. Em particular, o Google sugere que o Network Manager nem sempre atue adequadamente nas informações da MTU obtidas com a descoberta da MTU, mas não sei quais versões são afetadas ou quais são os casos de uso problemáticos.

Como medir isso. Se você possui tracepathos iputils do Linux , execute tracepath 8.8.8.8o MTU para ver o caminho para o servidor DNS do Google. Se sua versão do traceroutetiver uma --mtuopção, execute traceroute -n --mtu 8.8.8.8. Consulte Descubra o MTU entre mim e o IP de destino para obter mais opções.

Na falta de ferramentas automatizadas, você pode medir manualmente. Tente enviar pacotes de ping de um determinado tamanho para hosts externos que respondam a eles, por exemplo ping -c 1 -s 42 8.8.8.8(no Linux; em outros sistemas, consulte a documentação do seu pingcomando). Seus pacotes devem passar por valores pequenos o suficiente de 42 (se 42 não funcionar, algo está bloqueando pings). Para valores maiores, o pacote não será entregue. 1464 é um valor máximo típico se a parte limitante da infraestrutura for a sua rede Ethernet local. Se você tiver sorte, quando enviar um pacote muito grande, verá uma mensagem como Frag needed and DF set (mtu = 1492). Se você não tiver sorte, continue experimentando o valor até encontrar o valor máximo e adicione 28 ( -sespecifica o tamanho da carga útil e há 28 bytes de cabeçalhos além disso). Veja tambémComo otimizar sua conexão com a Internet usando MTU e RWIN nos fóruns do Ubuntu.

Como configurá-lo (substitua 1454 pelo MTU que você determinou e eth0pelo nome da sua interface de rede)

  • Como uma única vez (Linux): execute ifconfig eth0 mtu 1454
  • Permanentemente (Debian e derivados como o Ubuntu, se não estiver usando o Network Manager): Editar /etc/network/interfaces. Logo após a entrada para sua interface de rede (após a iface eth0 …diretiva), adicione uma linha com pre-up ifconfig $IFACE mtu 1454. Como alternativa, se o seu endereço IP for estático, você poderá adicionar o mtu 1454parâmetro à iface eth0 inet staticdiretiva.
  • Permanentemente (Debian e derivados como o Ubuntu, com ou sem o Network Manager): Crie um script chamado /etc/network/if-pre-up.d/mtucom o seguinte conteúdo e torne-o executável mundialmente ( chmod a+rx):

    #!/bin/sh
    ifconfig $IFACE mtu 1454
    

Mais recursos

Gilles 'SO- parar de ser mau'
fonte
Parei de conectar usando o gerenciador de rede e comecei a usar o pppoeconf. O pppoeconf sugeriu configurar o mtu para 1452 e está funcionando bem. Muito obrigado.
Mussnoon 25/11/10
Além disso, se você tiver um superusuário, pode postar a resposta lá também para que eu também possa aceitá-la. Aqui está o link: superuser.com/questions/213264/…
Mussnoon
Oi, obrigado pelo post. Mas na sua solução final, não posso fazer nada com o ifconfig, pois na minha distribuição isso é obsoleto. Eu só tenho "ip". Como posso fazer isso usando "ip"?
Santi
2
@ Santi Eu acho que é, ip link set eth0 mtu 1454mas não sou ipespecialista, verifique o manual.
Gilles 'SO- stop be evil'
@Gilles thanks! Foi isso. Mas preciso de direitos sudo, mas isso não foi problema. Espero que ajude, estou tendo problemas para acessar repositórios https (trava na maioria das vezes) e a conexão ssh a eles nem funciona. Com o mesmo laptop na rede do meu instituto, ambos os protocolos funcionam bem.
Santi
2

Parece que o principal problema está relacionado ao SSL. Todos os URLs com problemas são https://....aqueles.

Não vejo por que uma alteração no PPPoE afeta isso, mas talvez o seu ISP tenha mudado mais de uma coisa ao mesmo tempo e você esteja culpando a alteração errada.

Eu tentaria adicionar um roteador de hardware, especificamente recomendado pelo número do modelo pelo seu ISP. É provável que não apenas negocie a conexão PPPoE exatamente como o seu ISP deseja, mas talvez também resolva o problema com as conexões SSL.

Se isso não ajudar no seu problema imediato, você ainda obtém alguns benefícios colaterais.

Primeiro, um firewall de hardware adiciona uma camada de segurança. Se você precisar permitir conexões com a máquina atrás do firewall, consulte PortForward.com para obter guias sobre encaminhamento de porta para todos os roteadores que você provavelmente usará.

Segundo, a maioria dos roteadores domésticos permite compartilhar sua conexão com a Internet com vários PCs.

Warren Young
fonte
Você pode ter algo lá. Mas e os sites de email do Gmail, Yahoo e AOL? E o twitter? Eu tentei especificamente o twitter.com e funciona.
Mussnoon 22/11/10
1

Eu tive exatamente esse mesmo problema com o cromo (e o cromo). Presumi que fosse um problema do webkit. Eu nunca encontrei uma solução permanente, mas se você pesquisar no google esse código de erro (sem os valores reais), verá muitas pessoas com o mesmo problema. Eu poderia temporariamente fazê-lo funcionar fechando a guia que estava conectada ao site específico e depois limpei meu cache, cookies e tudo mais.

Eu nunca encontrei uma solução e desde então voltei ao Firefox.

Falmarri
fonte
No meu caso, no entanto, isso não tem nada a ver com o navegador, tenho certeza. Também tentei no IE e no Safari a partir de uma máquina virtual XP - mesmos resultados.
Mussnoon 22/11/10