Impossible d'accéder à certains sites https sur Linux via PPPoE

18

Ma connexion Internet était auparavant une connexion LAN directe à mon fournisseur. À l'époque, tout se chargeait bien sur Windows et Ubuntu (double démarrage). Cependant, il y a quelque temps, ils ont commencé à avoir besoin de moi pour composer (PPPoE) en utilisant un nom d'utilisateur et un mot de passe. Passerelle, masque de sous-réseau, IP, serveurs DNS sont tous restés les mêmes. Mais depuis lors, je n'ai pas pu parcourir certains sites Web sur Ubuntu, même s'il n'y a pas eu de tels problèmes sur Windows. Certains exemples de sites Web sont: la page de connexion d'Ovi (bien que share.ovi.com se charge correctement et que nokia.com se charge correctement), Live Mail (fonctionne sur Chrome (ium) et Opera mais pas sur Firefox (3.6 et 4)) Mozilla Site Web des modules complémentaires et autres sites Web aléatoires.

Certains des sites Web qui ne chargent pas affichent des messages d'expiration et pour certains sites Web (comme celui de moz addons), le navigateur continuera d'essayer de se charger sans fin (je l'ai laissé comme ça même pendant des heures mais je n'ai rien remarqué de différent se produire).

J'ai essayé de changer les serveurs DNS en serveurs publics. J'ai même essayé de démarrer à partir d'un Fedora LiveCD, puis de changer le DNS pour ceux (et même pour ceux d'OpenDNS), mais la même chose se produit exactement. Qu'est-ce qui pourrait être intrinsèquement mauvais avec une configuration au sein de Linux lui-même qui cause ce problème?

Est-ce que quelqu'un sait pourquoi cela se produit et comment cela peut être résolu?

Remarque: Cette question a été mise en ligne sur SU, mais n'a obtenu aucune réponse.

Mise à jour: Je viens de voir ici que quelqu'un d'autre avait un problème similaire et nous l' avons résolu en insérant un fichier NetworkManager.conf/etc/NetworkManager . Que doit contenir ce fichier?

Mussnoon
la source

Réponses:

24

Vous avez les symptômes d'un problème MTU : certaines connexions TCP se bloquent, de manière plus ou moins reproductible pour une commande ou une URL donnée, mais sans schéma global facilement discernable. Un symptôme révélateur est que les sessions interactives ssh fonctionnent bien mais que les transferts de fichiers échouent presque toujours. De plus, pppoe est le premier fournisseur de problèmes de MTU pour les utilisateurs à domicile. Je vous prescris donc un chèque MTU.

Qu'Est-ce que c'est? Le m aximum t ransmission u nit est la taille maximale d'un paquet sur une liaison de réseau. Le MTU varie d'un support de transport à un autre, par exemple Ethernet câblé et wifi (802.11) ont des MTU différents, et les liaisons ATM (qui constituent la plupart de l'infrastructure longue distance) ont chacune leur propre MTU. PPPOE est un protocole encapsulé, ce qui signifie que chaque paquet se compose de quelques octets d'en-tête suivis du paquet sous-jacent - il réduit donc la taille maximale du paquet de la taille de l'en-tête. IP permet aux routeurs de fragmenter les paquets s'ils détectent qu'ils sont trop gros pour le prochain saut, mais cela ne fonctionne pas toujours. En théorie, le MTU approprié doit être découvertautomatiquement , mais cela ne fonctionne pas toujours non plus. En particulier, la recherche sur Google suggère que Network Manager n'agit pas toujours correctement sur les informations MTU obtenues à partir de la découverte MTU, mais je ne sais pas quelles versions sont affectées ni quels sont les cas d'utilisation problématiques.

Comment le mesurer. Si vous avez tracepathdes iputils Linux , exécutez tracepath 8.8.8.8pour voir le MTU sur le chemin vers le serveur DNS de Google. Si votre version de traceroutepossède une --mtuoption, exécutez traceroute -n --mtu 8.8.8.8. Voir Découvrir MTU entre moi et l'IP de destination pour plus d'options.

En l'absence d'outils automatisés, vous pouvez mesurer manuellement. Essayez d'envoyer des paquets ping d'une taille donnée à des hôtes externes qui leur répondent, par exemple ping -c 1 -s 42 8.8.8.8(sous Linux; sur d'autres systèmes, consultez la documentation de votre pingcommande). Vos paquets devraient passer pour des valeurs suffisamment petites de 42 (si 42 ne fonctionne pas, quelque chose bloque les pings.). Pour des valeurs plus importantes, le paquet ne passera pas. 1464 est une valeur maximale typique si l'élément limitatif de l'infrastructure est votre réseau Ethernet local. Si vous avez de la chance, lorsque vous envoyez un trop gros paquet, vous verrez un message comme Frag needed and DF set (mtu = 1492). Si vous n'êtes pas chanceux, continuez à expérimenter avec la valeur jusqu'à ce que vous trouviez le maximum, puis ajoutez 28 ( -sspécifie la taille de la charge utile, et il y a 28 octets d'en-têtes en plus de cela). Voir égalementComment optimiser votre connexion Internet en utilisant MTU et RWIN sur les forums Ubuntu.

Comment le configurer (remplacez 1454 par le MTU que vous avez déterminé et eth0par le nom de votre interface réseau)

  • En une seule fois (Linux): exécutez ifconfig eth0 mtu 1454
  • En permanence (Debian et dérivés tels que Ubuntu, si vous n'utilisez pas Network Manager): Modifier /etc/network/interfaces. Juste après l'entrée de votre interface réseau (après la iface eth0 …directive), ajoutez une ligne avec pre-up ifconfig $IFACE mtu 1454. Alternativement, si votre adresse IP est statique, vous pouvez ajouter le mtu 1454paramètre à la iface eth0 inet staticdirective.
  • En permanence (Debian et dérivés tels que Ubuntu, avec ou sans Network Manager): créez un script appelé /etc/network/if-pre-up.d/mtuavec le contenu suivant et rendez-le exécutable ( chmod a+rx):

    #!/bin/sh
    ifconfig $IFACE mtu 1454
    

Autres ressources

Gilles 'SO- arrête d'être méchant'
la source
J'ai cessé de me connecter à l'aide du gestionnaire de réseau et j'ai commencé à utiliser pppoeconf. pppoeconf a suggéré de définir mtu sur 1452 et cela fonctionne très bien. Merci beaucoup.
Mussnoon
De plus, si vous êtes super-utilisateur, pouvez-vous également poster la réponse afin que je puisse l'accepter également Voici le lien: superuser.com/questions/213264/…
Mussnoon
Salut, merci pour le post. Mais dans votre solution finale, je ne peux rien faire avec ifconfig, car dans ma distribution c'est obsolète. Je n'ai que "ip". Comment puis-je le faire en utilisant "ip"?
Santi
2
@ Santi je pense que c'est ip link set eth0 mtu 1454mais je ne suis pas un ipexpert, consultez le manuel.
Gilles 'SO- arrête d'être méchant'
@Gilles merci! C'était ça. J'ai besoin de droits sudo, mais ce n'était pas un problème. Espérons que cela aide, j'ai des problèmes pour accéder aux référentiels https (il se bloque la plupart du temps) et la connexion ssh avec eux ne fonctionne même pas. Avec le même ordinateur portable sur le réseau de mon institut, les deux protocoles fonctionnent bien.
Santi
2

Il semble que le problème principal soit lié à SSL. Toutes vos URL problématiques sont des URL https://.....

Je ne vois pas pourquoi un changement à PPPoE affecte cela, mais peut-être que votre FAI a changé plus d'une chose à la fois, et vous blâmez le mauvais changement.

J'essaierais d'ajouter un routeur matériel, un spécifiquement recommandé par le numéro de modèle de votre FAI. Non seulement cela est susceptible de négocier la connexion PPPoE exactement comme le souhaite votre FAI, mais cela résoudra peut-être aussi le problème avec les connexions SSL.

Si cela n'aide pas votre problème immédiat, vous en tirez toujours quelques avantages secondaires.

Tout d'abord, un pare-feu matériel ajoute une couche de sécurité. Si vous devez autoriser les connexions à la machine derrière le pare-feu, consultez PortForward.com pour obtenir des guides de redirection de port pour chaque routeur que vous êtes susceptible d'utiliser.

Deuxièmement, la plupart des routeurs domestiques vous permettent de partager votre connexion Internet avec plusieurs PC.

Warren Young
la source
Vous pouvez avoir quelque chose là-bas. Mais qu'en est-il des sites Web de messagerie Gmail et Yahoo et AOL? Et Twitter? J'ai spécifiquement essayé twitter.com et cela fonctionne.
Mussnoon
1

J'ai eu exactement le même problème avec le chrome (et le chrome). J'ai supposé que c'était un problème de webkit. Je n'ai jamais trouvé de solution permanente mais si vous recherchez ce code d'erreur sur Google (sans les valeurs réelles), vous verrez que beaucoup de gens ont le même problème. Je pouvais temporairement le faire fonctionner en fermant l'onglet qui était connecté au site Web particulier, puis effacé mon cache et mes cookies et tout.

Je n'ai jamais trouvé de solution et suis depuis revenu sur Firefox.

Falmarri
la source
Dans mon cas, cependant, cela n'a rien à voir avec le navigateur, j'en suis sûr. J'ai également essayé depuis IE et Safari à partir d'une machine virtuelle XP - mêmes résultats.
Mussnoon