# [Internet]: certains site sont inaccessibles...

## anti-conformiste

Bonjour,

Je viens d'installer le noyau 2.6.17-gentoo-r4.

Tout va (presque) pour le mieux dans le meilleur des mondes...

Sauf que depuis, lorsque je navigue sur Internet, certains sites sont inaccessibles alors que d'autres le sont. J'ai vérifié mon modem, redémarré ma connexion, et essayé sous ubuntu qui ne pose pas de problème. J'en déduit que ça vient du nouveau noyau de gentoo.

Mais que se passe-t-il donc ????  :Shocked: 

Merci à vous.Last edited by anti-conformiste on Tue Aug 15, 2006 9:57 am; edited 1 time in total

----------

## ghoti

Probablement un problème de MTU>=1500.

Fais voir ton ifconfig ?

----------

## anti-conformiste

 *ghoti wrote:*   

> Probablement un problème de MTU>=1500.
> 
> Fais voir ton ifconfig ?

 

Le MTU est bien à 1500, je ne peux pas copier le ifconfig eth0 car je suis sur un autre poste

(et oui, forums.gentoo.org fait partie des sites inaccessibles)...

----------

## ghoti

 *anti-conformiste wrote:*   

> Le MTU est bien à 1500

 

Justement : il ne peut pas dépasser 1492 pour une sombre et lamentable histoire de fragmentation de paquets.

Normalement, il faudrait modifier les règles de ton firewall pour limiter la taille des paquets sur l'interface de sortie vers internet.

Perso, et malgré tous les tutos que j'ai pu trouver, je n'y suis pas arrivé avec iptables. (d'ailleurs, si quelqu'un a un exemple qui marche, je suis preneur)

Une autre solution consiste à limiter à 1492 le MTU de toutes les interfaces qui ont accès à ta passerelle mais évidemment cela limite également la taille des paquets échangés au sein du LAN.

Tu peux le faire manuellement avec ifconfig <interface> mtu 1492 ou alors dans le fichiet /etc/conf.d/net :

 *Quote:*   

> config_eth0=( "192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255 mtu 1492" )

 

[EDIT] Le "1492" est une valeur maximum. Chez moi ça marche très bien avec les drivers du noyau.

Par contre, le package rp-pppoe fixe la valeur à 1460.

----------

## anti-conformiste

 *ghoti wrote:*   

>  *anti-conformiste wrote:*   Le MTU est bien à 1500 
> 
> Justement : il ne peut pas dépasser 1492 pour une sombre et lamentable histoire de fragmentation de paquets.
> 
> Normalement, il faudrait modifier les règles de ton firewall pour limiter la taille des paquets sur l'interface de sortie vers internet.
> ...

 

Merci pour l'aide, mais ça ne marche pas mieux.

1°/  Pourquoi installer un nouveau noyau aurait-il changé le MTU ?

2°/  Pourquoi les MTU de mes ubuntu et debian sont à 1500 et ça marche impeccable ?

3°/ Lorsque je fais un ping de yahoo.fr, ja'i une réponse (très rapide en +) alors que le navigateur ne trouyve rien ?

----------

## ghoti

 *anti-conformiste wrote:*   

> 1°/  Pourquoi installer un nouveau noyau aurait-il changé le MTU ?
> 
> 2°/  Pourquoi les MTU de mes ubuntu et debian sont à 1500 et ça marche impeccable ?
> 
> 3°/ Lorsque je fais un ping de yahoo.fr, ja'i une réponse (très rapide en +) alors que le navigateur ne trouyve rien ?

 

Je me suis posé les mêmes questions il y a une semaine alors que j'installais ma nouvelle passerelle avec le dernier noyau stable (gentoo-sources-2.6.17-r4). 

Je ne suis pas sûr d'avoir les bonnes réponses car je n'ai pas encore bien approfondi le problème mais voici tout de même mes réflexions :

1°/ J'ai eu l'impression que le driver ppp du noyau ne s'entendait pas très bien avec rp-pppoe. 

D'ailleurs, ce dernier est considéré comme obsolète au profit de la gestion directe de pppoe par le noyau. 

On pourrait peut-être supposer que le noyau ne tiendrait pas compte de la config de rp-pppoe ?

(on peut supposer aussi que je n'ai rien compris  :Wink:   :Laughing: )

2°/ Le noyau est-il le même ? En tout cas, tu me donnes une idée : je vais voir ce que Ubuntu utilises comme règles pour netfilter ! 

3°/ Là, c'est un peu plus clair : le browser passe par TCP/IP tandis que le ping utilise le protocole ICMP où le problème de paquets ne se pose pas.

----------

## PabOu

essaye ceci :

```
ping -M do yahoo.fr -s 1472
```

ca envoit un ping avec un paquet de 1500 octets, et avec le flag DF (don't fragment) activé.

tu obtiendras surement plein de lignes du genre

From 192.168.69.3 icmp_seq=1 Frag needed and DF set (mtu = 1492)

tu noteras à la fin, entre parenthèses, le mtu maximum.

```
ping -M do yahoo.fr -s 1464
```

   DEVRAIT passer (c'est un paquet de 1492 octets) mais surement avec du paquet loss, alors laisse le tourner 10 secondes avant de faire ctrl-c ;)

----------

## anti-conformiste

 *PabOu wrote:*   

> essaye ceci :
> 
> ```
> ping -M do yahoo.fr -s 1472
> ```
> ...

 

OK, merci ça fait tout comme tu dis, et après ???   :Rolling Eyes: 

----------

## anti-conformiste

 *ghoti wrote:*   

>  *anti-conformiste wrote:*   1°/  Pourquoi installer un nouveau noyau aurait-il changé le MTU ?
> 
> 2°/  Pourquoi les MTU de mes ubuntu et debian sont à 1500 et ça marche impeccable ?
> 
> 3°/ Lorsque je fais un ping de yahoo.fr, ja'i une réponse (très rapide en +) alors que le navigateur ne trouyve rien ? 
> ...

 

Bin mouais, ça m'a donné envie de recompiler le noyau, mais uniquement avec le support pppoe sync et async, en virant le support pppoe over ethernet (de concert avec rp-pppoe)...J'attends que ça se finisse...   :Cool: 

----------

## PabOu

 *anti-conformiste wrote:*   

> OK, merci ça fait tout comme tu dis, et après ???  :roll:

 

Et bien, ca prouve que ton MTU doit être de 1492 et pas de 1500.

Par contre, n'enlève pas le support pppoe du kernel, enlève plutôt rp-pppoe. Comme ghoti te l'a dit, il est déprécié en faveur du support kernel.

----------

## anti-conformiste

 *PabOu wrote:*   

>  *anti-conformiste wrote:*   OK, merci ça fait tout comme tu dis, et après ???   
> 
> Et bien, ca prouve que ton MTU doit être de 1492 et pas de 1500.
> 
> Par contre, n'enlève pas le support pppoe du kernel, enlève plutôt rp-pppoe. Comme ghoti te l'a dit, il est déprécié en faveur du support kernel.

 

OK, je l'ai bien mis à 1492. Le support ppp over ethernet ne semble pas non plus la cause du problème (je n'ai pas de rp-ppoe dans le noyau (ou je ne l'ai pas vu...).

Ca ne fonctionne toujours pas mieux. Que puis-je faire maintenant ?

----------

## PabOu

 *anti-conformiste wrote:*   

> OK, je l'ai bien mis à 1492. Le support ppp over ethernet ne semble pas non plus la cause du problème (je n'ai pas de rp-ppoe dans le noyau (ou je ne l'ai pas vu...).

 

rp-pppoe n'est pas dans le noyau, c'est un ebuild.

Ce que tu peux faire après avoir changé tout ça, c'est redémarrer ton interface, et puis voir si le changement est pris en compte, et enfin, si ça fonctionne

----------

## anti-conformiste

 *PabOu wrote:*   

>  *anti-conformiste wrote:*   OK, je l'ai bien mis à 1492. Le support ppp over ethernet ne semble pas non plus la cause du problème (je n'ai pas de rp-ppoe dans le noyau (ou je ne l'ai pas vu...). 
> 
> rp-pppoe n'est pas dans le noyau, c'est un ebuild.
> 
> Ce que tu peux faire après avoir changé tout ça, c'est redémarrer ton interface, et puis voir si le changement est pris en compte, et enfin, si ça fonctionne

 

J'ai vérifié, rp-pppoe n'est pas installé sur ma gentoo.

J'ai redémarré carrément la machine pour être sur de ne rien oublier. ifconfig eth0 indique bien un MTU de 1492.

Rien n'y fais, les 3/4 des sites que je visite se soldent par une erreur dans le navigateur.

Y'a t-il autre chose qui pourrait expliquer ce problème. La  seule manip. que j'ai réalisé avant que ça ne fonctionne plus, c'est l'installation du nouveau noyau. J'ai comparé les paramètres ppp du nouveau noyau avec l'ancien, je ne vois pas de différence. Quand je remets l'ancien noyau, ça fonctionne !!!!

Que faire ???

----------

## ghoti

Ca y est : je viens de trouver comment faire via iptables  :Smile: 

En fait je m'étais basé sur une vieille version de man iptables et ma règle n'était pas stockée au bon endroit  :Embarassed:  ...

Il faut absolument que l'option TCPMSS soit dans la table "mangle", à l'exclusion de toute autre !!!

Cela nous donne donc :

 *Quote:*   

> iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
> 
> ou bien
> 
> iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1460

 

Remarques : 

1. - Bien entendu, il faut que l'option TCPMSS soit compilée dans le noyau !

2..- La valeur maxi pour --set-mss est 1460 au lieu de 1492 pour la solution "ifconfig". Il me semble avoir vu la raison quelque part mais la flemme de chercher ...

----------

## guilc

 *ghoti wrote:*   

> Ca y est : je viens de trouver comment faire via iptables 
> 
> En fait je m'étais basé sur une vieille version de man iptables et ma règle n'était pas stockée au bon endroit  ...
> 
> Il faut absolument que l'option TCPMSS soit dans la table "mangle", à l'exclusion de toute autre !!!
> ...

 

Il me semble que tu confonds MTU et MSS ghoti  :Wink: 

hop, les explications qui me semblent claires de ce probleme de pppoe :

http://christian.caleca.free.fr/pppoe/mtu_mss_etc.htm

----------

## ghoti

 *guilc wrote:*   

> Il me semble que tu confonds MTU et MSS ghoti 
> 
> hop, les explications qui me semblent claires de ce probleme de pppoe :
> 
> http://christian.caleca.free.fr/pppoe/mtu_mss_etc.htm

 

Arf, exact ! Merci pour le lien ! (Et dire que je connaissais son tutoriel sur iptables !  :Embarassed:  )

----------

## fabienZ

Salut,

J'ai l'impression que ton soucis vient d'un probléme relatif au noyau 2.6.17 .

Plus précisement, la façon dont est gérée le "window scaling" a changé. ( voir http://kerneltrap.org/node/6723 ) .

Tu peux essayer de désactiver temporairement le window scaling pour déterminer si le probléme vient de là :

```
echo 0 > /proc/sys/net/ipv4/tcp_window_scaling
```

Le cas échéant, utiliser un 2.6.16 ou un 2.6.18_rc devrait te permettre de contourner le problème.

Et au cas où vous seriez interessés:

- Le champ window d'un en-tête TCP contient le nombre d'octets que le recepteur est capable d'accepter.

- Le "window scaling", défini par la RFC 1323 ( http://www.ietf.org/rfc/rfc1323.txt ) permet entre autres de s'affranchir de la limite maximale de taille de fenetre (65K).

----------

## anti-conformiste

Merci à tous pour vos réponses.

J'essairai ces solutions demain.

(Je suis face à un autre bug du kernel 2.6.17 => ma gentoo ne se lance plus et j'ai ce fameux message au démarrage du noyau 2.6.17 : "kernel panic - not syncing: I/O error reading memory image")

Un problème à la fois me direz vous...

Si seulement ma carte son fonctionait, je repasserais illico au 2.6.16, mais il refuse de reconnaitre ma carte   :Evil or Very Mad:  )

Décidemment, quand ça veut pas, ça veut pas !  :Confused: 

Je recompile, je désactive dans le noyau le "Kernel-config support" (le problème du kernel panik semble provenir de la), je désactive le "window scaling" et si ça ne résoud pas le problème, j'essaie iptables   :Idea: 

Avec tout ça, je vais bien réussir à faire quelquechose.

Je vous tiens au courant de ces experiences.

Merci pour votre aide.

----------

## lesourbe

dans ton .conf

CONFIG_PM_STD_PARTITION=/dev/hdxy

ou /dev/hdxy est ta partition root.

Ca devrait regler le kernel panic.

----------

## anti-conformiste

 *lesourbe wrote:*   

> dans ton .conf
> 
> CONFIG_PM_STD_PARTITION=/dev/hdxy
> 
> ou /dev/hdxy est ta partition root.
> ...

 

J'ai copié mon defconf (/usr/src/linux/arch/i386/defconf) sans /boot sous le nom .config et adapté ce dernier à ma partition root.

Le kernel me renvoie :

VFS: Cannot open root device "hdb1" (qui est correct pourtant) or unknown-block(0,0).

Please, append a correct "root=" boot option

Kernel panic - not syncing: VFS : Unable to mount root fs on unknown-block(0,0)

Mon grub est installé sur hd(1,0).

J'ai compilé le noyau avec le support reiserfs (qui est mon fs, évidemment).

On dirait que pourtant que c'est le fs qui pose problème....  :Rolling Eyes: 

----------

## anti-conformiste

 *anti-conformiste wrote:*   

>  *lesourbe wrote:*   dans ton .conf
> 
> CONFIG_PM_STD_PARTITION=/dev/hdxy
> 
> ou /dev/hdxy est ta partition root.
> ...

 

La ligne Kernel .config support est désactivé, c'est peut-être la la source de mon problème...

----------

## anti-conformiste

Non, j'ai recompilé, il veut rien savoir : kernel panic - not syncing: I/O error reading memory image !!!  :Crying or Very sad: 

----------

## ghoti

Puis-je suggérer que tu ouvres un nouveau topic à propos du "kernel panic" car on est tout-à-fait hors sujet, là  :Wink: 

(Si un modo pouvait faire un split pour ne pas perdre ce qui a déjà été dit, ce serait encore mieux ...)

----------

## anti-conformiste

 *ghoti wrote:*   

> Puis-je suggérer que tu ouvres un nouveau topic à propos du "kernel panic" car on est tout-à-fait hors sujet, là 
> 
> (Si un modo pouvait faire un split pour ne pas perdre ce qui a déjà été dit, ce serait encore mieux ...)

 

Suggestion retenue   :Wink:  j'ai ouvert "[kernel]: kernel panic - not syncing: I/O error reading memory image."

----------

