Impossible d'accéder à certains sites Web sous Linux (mais peut sous Windows)

10

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 à l'aide d'un nom d'utilisateur et d'un mot de passe (via une connexion PPPoE). 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. Voici quelques exemples de sites Web: la page de connexion d'Ovi (bien que share.ovi.com se charge correctement et nokia.com se charge correctement), Live Mail (fonctionne sur Chrome (ium) et Opera mais pas sur Firefox (3.6 et 4)) et d'autres sites Web aléatoires.

Certains des sites Web qui ne chargent pas affichent des messages d'expiration sur Chrome et pour certains sites Web, 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).

J'ai essayé de changer les serveurs DNS en ceux suggérés dans le commentaire. J'ai même essayé de démarrer à partir d'un Fedora LiveCD, puis de changer le DNS en ceux (et même en ceux d'OpenDNS), mais la même chose se produit exactement.

Voici la sortie d'ipconfig sous Windows:

texte alternatif

Si c'est une aide, les messages d'erreur Opera semblent être un peu plus informatifs et ils ont tour à tour les erreurs suivantes:

  • Connexion sécurisée: erreur fatale (552)
  • Connexion sécurisée: erreur fatale (40)

Suivi: Opera n'a pas pu se connecter au serveur. Le serveur utilise peut-être le protocole SSL 2 non pris en charge, qui n'est pas considéré comme suffisamment sûr pour une communication sécurisée. Le propriétaire du site doit mettre à niveau vers TLS 1.0 ou une version plus récente.

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

Mise à jour: Je viens de voir ici http://ubuntuforums.org/showthread.php?t=1571086&highlight=pppoe que quelqu'un d'autre avait un problème similaire et l'a résolu en mettant un fichier NetworkManager.conf dans / etc / NetworkManager. Que doit contenir ce fichier?

Mussnoon
la source
Je me demande si les serveurs DNS que vous utilisez ne sont pas très bons. Pouvez-vous essayer de configurer manuellement vos serveurs DNS sur quelque chose comme 4.2.2.2 ou 8.8.8.8 et voir si cela aide.
deltaray
On ne sait pas quelle partie de la connexion vous fait taper login / mot de passe. Avez-vous une nouvelle connexion dans "connexions réseau"? Pouvez-vous donner la sortie de la ipconfigcommande sous Windows?
Victor Sergienko
@ Victor Sergienko: J'ai mis à jour le message et ajouté la sortie ipconfig.
Mussnoon
Wow, je pensais que c'était une connexion VPN demandant un mot de passe, mais il n'y en a pas.
Victor Sergienko
Non, pas VPN, mais PPPoE.
Mussnoon

Réponses:

16

(Copié depuis Unix Stack Exchange )

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 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. 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 d'infrastructure limitant est votre réseau Ethernet local. Si vous êtes chanceux, 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
    
Gilles 'SO- arrête d'être méchant'
la source
2
Pourquoi cela arrive-t-il ? Parce que vos paquets sont tunnellisés sur PPPOE (PPP sur Ethernet), et cela est limité à 1540, donc si votre paquet plus la surcharge du tunnel est plus grand que cela, il se fragmente. Certains systèmes d'exploitation (MS) ne font pas de réassemblage de paquets. Donc, vous ne pouvez pas atteindre certains sites, (servis par des serveurs MS Windows.) [Vous pouvez en fait simplement définir MTU à 1300 et cela fonctionnera assez bien] C'est arrivé chez moi, cela l'a corrigé.
Tim Williscroft
1
Merci beaucoup! J'ai ce problème depuis longtemps et je viens de le faire sans visiter certains sites. Maintenant, je peux enfin continuer sans ce problème.
Kevin Jalbert
Merci, eu ce problème sur archlinux après une installation propre, rien ne semblait résoudre cela, mais votre solution est tout simplement géniale. À votre santé!
JeanK
Mon problème a été résolu avec ce lien
e_soroush
0

J'ai laissé la configuration par défaut dans le fichier d'interface mais MTU=1300j'ai défini la section "WAN" de mon routeur sans fil.

Cela a résolu le problème.

Naveen
la source
Cela améliorerait cette réponse pour expliquer quel fichier vous avez changé et quelle version de Linux a été utilisée.
Kevin Panko
0

J'ai le même problème. Une partie du site Web ne peut pas s'ouvrir dans mon KUBUNTU 17.04. J'utilise cette commande:

echo 0 >/proc/sys/net/ipv4/tcp_timestamps
srr7
la source
3
Pouvez-vous expliquer ce que cela fait?
Arjan
0

Le problème peut être lié à la configuration DNS. Pour moi, le problème a été résolu en faisant quelques étapes:

  1. Tout d'abord, ouvrez le terminal.
  2. À l'intérieur, exécutez sudo apt-get install resolvconf(il installera le resolvconfpackage).
  3. Accédez au /etc/resolvconf/resolv.conf.d/répertoire.
  4. Ouvrez le fichier nommé baseavec les autorisations root en exécutant sudo nano base.
  5. Ajoutez / modifiez simplement les entrées. Un exemple d'entrée valide est nameserver 8.8.8.8. Les entrées doivent être séparées par de nouvelles lignes. Voici un fichier valide:
    serveur de noms 8.8.8.8
    serveur de noms 8.8.4.4
    
    Remarque : Une liste des noms et adresses DNS peut être trouvée ici .
  6. Enregistrez le fichier et quittez.
  7. Exécutez sudo resolvconf -u(il mettra à jour la configuration DNS).

C'est tout! Maintenant, essayez de charger certains sites Web qui ne se sont pas chargés, cela devrait fonctionner!

MAChitgarha
la source