OVH Cloud OVH Cloud

Modem ADSL SAGEM 800 Wanadoo et passerelle Debian

10 réponses
Avatar
Youri
Bonsoir,

Je galère depuis quelques jours à essayer de configurer une passerelle
internet pour un ami, qui a un modem Sagem Fast 800 et Wanadoo.

J'ai installé le driver eagle en version 1.9.6 sur une RedHat 9 et sur une
Fedora Core 1, puis le 1.9.9.1 sur une Debian Sarge. Dans tous les cas, le
PC qui a la connexion internet n'a aucun problème pour accéder au web. Par
contre, tous les autres PC (sous Linux ou Windows avec différentes
versions, et divers navigateurs) ont des soucis pour accéder à certains
sites. Apparemment, seul le http pose problème, les ping ftp pop smtp
fonctionnent bien, et uniquement sur certains sites (entre autres
www.fnac.com par exemple).
Le problème rencontré est que la page ne s'affiche pas, tout simplement, ou
pas à chaque fois. Avec Mozilla, parfois en vidant le cache, la page
s'affiche ensuite.
J'ai bien sur soupçonné, entre autres, le firewall de bloquer certains
paquets, mais d'une part les règles iptables sont celles que j'utilise chez
moi (avec une config différente : Club-Internet, modem Alcatel Speedtouch
USB, RedHat 8), d'autre part tous les paquets rejetés sont loggés et rien
n'apparait dans les logs.
Le hub est a priori hors de cause aussi car le comportement est identique
avec un cable croisé direct entre les PC.
La config du driver est semble-t-il correcte puisque le PC qui a le modem
n'a pas de problème et les protocoles autres que http ne posent pas de
problèmes.
Apparemment, c'est sur les sites avec cookies qu'il y a des problèmes, mais
pourquoi ??? Mystère... En espionnant avec tcpdump, on voit la réponse OK
du serveur, avec l'entête de la page et les cookies, le paquet est acquitté
par le client, puis plus rien... Et pourquoi uniquement quand on utilise la
passerelle alors que le PC qui a le modem n'a aucun problème ???

Est-ce que ça pourrait venir de Wanadoo qui fonctionnerait bizarement quand
on a une passerelle ?
Ou autre idée... ?

Merci d'avoir lu jusqu'au bout et merci d'avance pour toute idée.

--
Youri

10 réponses

Avatar
TiChou
Dans le message <news:ci2fem$58a$,
*Youri* tapota sur f.c.o.l.configuration :

Bonsoir,


Bonsoir,

[problème d'accès aux sites derrière une passerelle]

Vous vous connectez en utilisant quel protocole, PPPoE ou PPPoA ?
Dans les deux cas, vérifiez et configurez le MTU/MSS (MTU à 1492 pour PPPoE)
sur les machines clientes.

--
TiChou

Avatar
Youri
Bonjour,

TiChou wrote:

Dans le message <news:ci2fem$58a$,
*Youri* tapota sur f.c.o.l.configuration :

[problème d'accès aux sites derrière une passerelle]

Vous vous connectez en utilisant quel protocole, PPPoE ou PPPoA ?


La connexion se fait avec PPPoA.

Dans les deux cas, vérifiez et configurez le MTU/MSS (MTU à 1492 pour
PPPoE) sur les machines clientes.


# ifconfig
ppp0 Lien encap:Protocole Point-à-Point
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1

Si j'en crois la sortie de ifconfig, c'est 1492 aussi dans mon cas.

Bon, je viens de mettre le MTU à 1492 (même valeur que sur ppp0 sur la
passerelle) sur un PC client Linux pour eth0 (était à 1500) et ça a l'air
beaucoup mieux en effet. Maintenant, il faut que j'essaie la même chose sur
les poste Windows, mais pour l'instant je ne trouve pas où on configure
ça... Bon, ça sort du cadre de ce forum, mais si quelqu'un sait, je suis
preneur (pour XP et 2000 au moins) sinon j'irai poser la question sur un
forum approprié.

Merci beaucoup en tout cas pour l'info.
Au fait MSS c'est quoi ? Une autre appellation du MTU ou un autre paramètre
? Je n'ai rien trouvé qui fasse mention de MSS dans 'man ifconfig'.

--
Youri

Avatar
Youri
Youri wrote:

Bon, je viens de mettre le MTU à 1492 (même valeur que sur ppp0 sur la
passerelle) sur un PC client Linux pour eth0 (était à 1500) et ça a l'air
beaucoup mieux en effet. Maintenant, il faut que j'essaie la même chose
sur les poste Windows, mais pour l'instant je ne trouve pas où on
configure ça... Bon, ça sort du cadre de ce forum, mais si quelqu'un sait,
je suis preneur (pour XP et 2000 au moins) sinon j'irai poser la question
sur un forum approprié.


Bon j'ai trouvé l'info là pour les PC Windows :
http://www.winguides.com/registry/display.php/280/

Donc merci TiChou, une fois la modif faite (1492 sur tous les postes), tout
fonctionne à merveille.

--
Youri

Avatar
Nicolas George
Youri wrote in message <ci3mf8$pdh$:
Au fait MSS c'est quoi ? Une autre appellation du MTU ou un autre paramètre
? Je n'ai rien trouvé qui fasse mention de MSS dans 'man ifconfig'.


Maximum Segment Size : c'est la taille maximale d'un segment TCP, telle que
supposée par l'extrémité qui établit la connexion. Par défaut, ce sera : MTU
de l'interface où la connexion est établie - taille de l'entête TCP.

Normalement, au cours de la connexion, la taille maximale du segment peut
baisser si des liens plus étroits sont trouvés, et ce paramètre ne donne
qu'une bonne estimation pour le début, mais en pratique, il y a tellement de
BOFH qui bloquent l'ICMP que ça marche mal. Ceci dit, quand le goulot
d'étranglement est un ordinateur qu'on contrôle, ça _devrait_ bien marcher.

Avec pppoe, il y a l'option -m qui permet de modifier la MSS des paquets à
la volée, pour ne pas avoir à reconfigurer les clients. Avec pppoa, je ne
sais pas.

Avatar
Annie D.
Youri wrote:

Vous vous connectez en utilisant quel protocole, PPPoE ou PPPoA ?


La connexion se fait avec PPPoA.

Dans les deux cas, vérifiez et configurez le MTU/MSS (MTU à 1492 pour
PPPoE) sur les machines clientes.


# ifconfig
ppp0 Lien encap:Protocole Point-à-Point
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1


Vous êtes bien certain d'utiliser PPPoA ? La MTU limitée à 1492 est une
contrainte de PPPoE, rien n'empêche d'avoir une MTU de 1500 (et même
plus mais pas très utile) en PPPoA.

Pour éviter d'avoir à modifier la MTU sur les postes clients, on peut
modifier la MSS (taille maxi de segment TCP, généralement égale à MTU -
40 octets) au vol sur la passerelle avec la cible TCPMSS d'iptables. Ça
ne marche qu'avec les flux TCP, mais ça concerne déjà pas mal
d'applications dont HTTP qui vous posait problème.


Avatar
Annie D.
Nicolas George wrote:

Avec pppoe, il y a l'option -m qui permet de modifier la MSS des paquets à
la volée,


Précision : avec le *programme* rp-pppoe. C'est un sale hack, le
protocole PPPoE n'est absolument pas concerné par TCP puisque son rôle
se borne à servir de couche de transport de PPP qui lui-même n'a rien à
faire de TCP. D'ailleurs, à ma connaissance cette option ne marche
qu'avec TCP sur IPv4, pas sur IPv6.

Avec pppoa, je ne sais pas.


Pas besoin, on peut utiliser la valeur standard MTU = 1500.

Avatar
Nicolas George
"Annie D." wrote in message :
Précision : avec le *programme* rp-pppoe. C'est un sale hack, le
protocole PPPoE n'est absolument pas concerné par TCP puisque son rôle
se borne à servir de couche de transport de PPP qui lui-même n'a rien à
faire de TCP.


Oui, j'ai été imprécis, merci de cette correction.

D'ailleurs, à ma connaissance cette option ne marche
qu'avec TCP sur IPv4, pas sur IPv6.


Hélas, c'est vrai.

Pas besoin, on peut utiliser la valeur standard MTU = 1500.


J'ai eu l'impression que ça ne marchait pas toujours. Mais je n'ai rien pour
essayer.

Avatar
Youri
Annie D. wrote:

Youri wrote:

Vous vous connectez en utilisant quel protocole, PPPoE ou PPPoA ?


La connexion se fait avec PPPoA.

Dans les deux cas, vérifiez et configurez le MTU/MSS (MTU à 1492 pour
PPPoE) sur les machines clientes.


# ifconfig
ppp0 Lien encap:Protocole Point-à-Point
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1


Vous êtes bien certain d'utiliser PPPoA ? La MTU limitée à 1492 est une
contrainte de PPPoE, rien n'empêche d'avoir une MTU de 1500 (et même
plus mais pas très utile) en PPPoA.


Si j'en crois ps, c'est bien PPPoA qui tourne : (ou alors il y a un
piège...)
# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 22627 0.0 0.2 1492 328 ? S 15:57 0:00 pppoa -I eth1

La MTU n'est peut-être pas "limitée" à 1492, je n'avais pas essayé de
l'augmenter, elle était à cette valeur quand j'ai fait ifconfig. Par
contre, je viens d'essayer de la modifier et il semble que ça soit pris en
compte.

# ifconfig ppp0 mtu 1500
# ifconfig ppp0
ppp0 Lien encap:Protocole Point-à-Point
inet adr:81.51.57.147 P-t-P:193.253.160.3 Masque:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:322 errors:0 dropped:0 overruns:0 frame:0
TX packets:321 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:3
RX bytes:138092 (134.8 KiB) TX bytes:22409 (21.8 KiB)

Donc, il semble qu'elle soit définie à 1492 à la connexion, mais modifiable
ensuite, pour la mettre à 1500 par exemple. Je vais tester ça, ça évitera à
mon ami d'être obligé de modifier les postes clients susceptibles d'être
connectés chez lui.
Comme je n'ai plus beaucoup de temps chez lui (jusqu'à demain), je vais lui
laisser dans l'état puisque ça fonctionne, je me documenterai un peu plus
sur ces aspects une fois rentré à la maison, et j'affinerai éventuellement
la config ensuite.

Pour éviter d'avoir à modifier la MTU sur les postes clients, on peut
modifier la MSS (taille maxi de segment TCP, généralement égale à MTU -
40 octets) au vol sur la passerelle avec la cible TCPMSS d'iptables. Ça
ne marche qu'avec les flux TCP, mais ça concerne déjà pas mal
d'applications dont HTTP qui vous posait problème.


Je regarderai tout ça à tête reposée.

Merci pour toutes les réponses, qui m'ont permis de décoincer la situation,
et me donnent un nouveau sujet à creuser ;-)

--
Youri



Avatar
Annie D.
Youri wrote:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 22627 0.0 0.2 1492 328 ? S 15:57 0:00 pppoa -I eth1


A quoi correspond eth1, une interface physique ou virtuelle créée par
pppoa ? C'est plutôt curieux, le protocole PPPoA n'est pas censé avoir
de lien avec ethernet.

La MTU n'est peut-être pas "limitée" à 1492, je n'avais pas essayé de
l'augmenter, elle était à cette valeur quand j'ai fait ifconfig. Par
contre, je viens d'essayer de la modifier et il semble que ça soit pris en
compte.


On peut toujours modifier la MTU d'une interface PPP y compris au delà
de 1500, même en PPPoE. Mais ce n'est pas forcément une bonne idée, les
paquets trop gros pour être encapsulés dans la liaison seront refusés.

Avatar
Youri
Annie D. wrote:

Youri wrote:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 22627 0.0 0.2 1492 328 ? S 15:57 0:00 pppoa -I
eth1


A quoi correspond eth1, une interface physique ou virtuelle créée par
pppoa ?


C'est une interface virtuelle, créée lors du chargement du driver eagle-usb.
La seule interface physique est eth0. A quoi sert-elle précisément, je ne
sait pas.

C'est plutôt curieux, le protocole PPPoA n'est pas censé avoir
de lien avec ethernet.


J'avoue que j'ai été surpris aussi de voir une interface eth apparaitre,
mais on m'a dit que ça fonctionnait comme ça avec le modem Sagem Fast800
USB. Chez moi, avec un Alcatel Speedtouch USB, je n'ai pas d'interface eth
supplémentaire.

La MTU n'est peut-être pas "limitée" à 1492, je n'avais pas essayé de
l'augmenter, elle était à cette valeur quand j'ai fait ifconfig. Par
contre, je viens d'essayer de la modifier et il semble que ça soit pris
en compte.


On peut toujours modifier la MTU d'une interface PPP y compris au delà
de 1500, même en PPPoE. Mais ce n'est pas forcément une bonne idée, les
paquets trop gros pour être encapsulés dans la liaison seront refusés.


Bon, je viens de faire un essai rapide en remettant un poste client dans sa
config d'origine (c'est-à-dire avec la MTU à 1500) et en mettant la MTU de
l'interface ppp0 à 1500 sur la passerelle, je retrouve les mêmes problèmes
qu'au début. Je vais donc lui laisser 1492 partout pour l'instant puisque
ça marche comme ça.

--
Youri