Bonjour,
J'ai a la maison un petit réseau ethernet simple de deux machines (appelons-le "eth0" sur les deux machines), l'une (appelons-la "p") connecté à Internet (par PPPoE via eth1) et servant de routeur (ip_forwarding et masquerade), l'autre (appelons-la "s") profitant alors de p pour accéder à Internet.
Pour une raison qui m'est inconnu, le nat rame à mort.
internet <-> p : 300K/s (téléchargement d'une iso)
p <-> s : 1M/s (copie d'une iso)
internet <-> s : 5K/s (téléchargement d'une iso)
J'ai vraiment cherché partout.
Est-ce que quelqu'un a une idée ?
Le ifconfig de p
eth0 Lien encap:Ethernet HWaddr 00:0C:76:3A:FC:A4
inet adr:192.168.0.29 Bcast:192.168.0.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:20361 errors:0 dropped:0 overruns:0 frame:0
TX packets:28399 errors:0 dropped:0 overruns:0 carrier:0
collisions:9602 lg file transmission:1000
RX bytes:1672801 (1.5 MiB) TX bytes:37024660 (35.3 MiB)
Interruption:23 Adresse de base:0xd800
eth1 Lien encap:Ethernet HWaddr 00:20:18:3C:5A:72
inet adr:192.168.0.2 Bcast:192.168.0.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:29297 errors:0 dropped:0 overruns:0 frame:2955
TX packets:18964 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:42503406 (40.5 MiB) TX bytes:1628551 (1.5 MiB)
Interruption:18 Adresse de base:0xec00
ppp0 Lien encap:Protocole Point-à-Point
inet adr:83.197.120.29 P-t-P:193.253.160.3 Masque:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:13083 errors:0 dropped:0 overruns:0 frame:0
TX packets:7673 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:3
RX bytes:18952116 (18.0 MiB) TX bytes:444033 (433.6 KiB)
le ifconfig de s
eth0 Lien encap:Ethernet HWaddr 00:01:03:83:9A:6C
inet adr:192.168.0.59 Bcast:192.168.0.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1492 Metric:1
RX packets:28422 errors:0 dropped:0 overruns:0 frame:0
TX packets:20391 errors:0 dropped:0 overruns:0 carrier:0
collisions:5902 lg file transmission:1000
RX bytes:37030951 (35.3 MiB) TX bytes:1675063 (1.5 MiB)
Interruption:10 Adresse de base:0xe800
le iptable de p (tout vide pour les tests pour être sûr que c'est pas a cause de ça)
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
# Donne plus d'informations
Posté par slack . Évalué à 5.
* distributions utilisées.
* configuration du réseau (réseau en 10, en 100 Mbit, interfaces utilisées, adresses IP, utilisation d'un câble croisé, d'un hub, d'un switch) ?
Sur une même machine, ne donne pas à deux interfaces des adresses dans un même réseau.
C'est ce qui se passe avec les interfaces eth0 et eth1 sur la machine p :
- inet adr:192.168.0.29 Bcast:192.168.0.255 Masque:255.255.255.0
- inet adr:192.168.0.2 Bcast:192.168.0.255 Masque:255.255.255.0
Ces deux adresses font parties du réseau 192.168.0.0.
Sur la machine p, attribue à la carte qui n'est pas reliée à la machine s une adresse d'un réseau différents. Par exemple utilise 192.168.1.1 qui fait partie du réseau 192.168.1.0
Tu as beaucoup de collisions sur les interfaces eth0 (machine p) et eth0 (machine s). Ces deux machines semblent reliées par ces interfaces. C'est totalement anormal.
Vérifie la qualité de ton matériel (cartes réseau, câbles, hub, switch) .
Enfin, les commandes ethtool et route devraient t'aider. Voir les pages de man correspondantes.
[^] # Re: Donne plus d'informations
Posté par MrTout (site web personnel) . Évalué à 1.
s est un portable PIII, avec un noyau 2.6.12-9-686 de chez les mêmes.
les cartes eth0 sont des ethernet 100 mais en 10 puisque j'utilise un pov' hub qui ne comprend que ça.
Selon ton conseil, j'ai changé le réseau de eth1 mais pas de modification.
Pour ce qui est des collisions, c'est vrai que c'est louche.
Toutefois, le debit entre s et p est correct (ethernet marche donc assez bien) entre p et internet c'est correct aussi.
Ce qui est étrange c'est qu'entre s et internet, cela soit si faible !
[^] # Quelques pistes
Posté par slack . Évalué à 1.
Comment est configuré ta passerelle ?
Peux-tu communiquer la configuration iptables (pare-feu et nat ) ?
Que donnent les commandes route et ethtool ?
Qu'appelles-tu un petit athlon ? Une passerelle n'a pas besoin de beaucoup de puissance : deux cartes en 100 et un 486DX 100 avec 16Mo de ram suffisent pour faire une passerelle qui supportera des débits de 800 Ko/s (expérience personnelle).
La commande tcpdump permet de savoir ce qui se passe sur un réseau. Voir le man.
Sur chaque machine, que donne la commande dmesg ?
[^] # Re: Quelques pistes
Posté par MrTout (site web personnel) . Évalué à 1.
Comme je l'ai signalé dans le message original, j'ai vidé l'iptables de p de toute regle superflue (au cas ou le ralentissement venait de là)
p est un athlon XP à 1GHz d'apres /proc/cpuinfo, je pense pas que cela vienne de là
Rien rien vu d'inabituel dans le dmesg, le reste est là :
root@p:~# iptables-save
# Generated by iptables-save v1.3.1 on Fri Nov 11 22:15:55 2005
*filter
:INPUT ACCEPT [2145966:1201462017]
:FORWARD ACCEPT [57398:27447878]
:OUTPUT ACCEPT [2146884:779677376]
COMMIT
# Completed on Fri Nov 11 22:15:55 2005
# Generated by iptables-save v1.3.1 on Fri Nov 11 22:15:55 2005
*nat
:PREROUTING ACCEPT [9079:552580]
:POSTROUTING ACCEPT [34:2040]
:OUTPUT ACCEPT [972:59696]
-A POSTROUTING -j MASQUERADE
COMMIT
# Completed on Fri Nov 11 22:15:55 2005
root@p:~# route
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
112.lnfny151.Fo * 255.255.255.255 UH 0 0 0 ppp0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
localnet * 255.255.255.0 U 0 0 0 eth0
default 112.lnfny151.Fo 0.0.0.0 UG 0 0 0 ppp0
root@p:~# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 10Mb/s
Duplex: Half
Port: MII
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: d
Current message level: 0x00000001 (1)
Link detected: yes
root@s:~# route
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
default p 0.0.0.0 UG 0 0 0 eth0
root@s:~# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 10Mb/s
Duplex: Half
Port: MII
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Current message level: 0x00000001 (1)
Link detected: yes
Pour tcpdump, et une iso téléchargée par p sur mir1.ovh.net :
root@p:~# tcpdump -vv -c 5 -i ppp0 host mir1.ovh.net
tcpdump: listening on ppp0, link-type LINUX_SLL (Linux cooked), capture size 96 bytes
22:44:10.487382 IP (tos 0x0, ttl 64, id 37668, offset 0, flags [DF], proto: TCP (6), length: 52) AMontpellier-151-1-49-29.w83-197.abo.wanadoo.fr.54648 > mir1.ovh.net.www: ., cksum 0xc843 (correct), 2335623395:2335623395(0) ack 1693337964 win 23760 <nop,nop,timestamp 48575364 219837222>
22:44:10.510646 IP (tos 0x0, ttl 53, id 63525, offset 0, flags [DF], proto: TCP (6), length: 1492) mir1.ovh.net.www > AMontpellier-151-1-49-29.w83-197.abo.wanadoo.fr.54648: . 1:1441(1440) ack 0 win 5792 <nop,nop,timestamp 219837229 48575313>
22:44:10.512492 IP (tos 0x0, ttl 53, id 63526, offset 0, flags [DF], proto: TCP (6), length: 1492) mir1.ovh.net.www > AMontpellier-151-1-49-29.w83-197.abo.wanadoo.fr.54648: . 1441:2881(1440) ack 0 win 5792 <nop,nop,timestamp 219837229 48575313>
22:44:10.512538 IP (tos 0x0, ttl 64, id 37670, offset 0, flags [DF], proto: TCP (6), length: 52) AMontpellier-151-1-49-29.w83-197.abo.wanadoo.fr.54648 > mir1.ovh.net.www: ., cksum 0xbce3 (correct), 0:0(0) ack 2881 win 23760 <nop,nop,timestamp 48575389 219837229>
22:44:10.516045 IP (tos 0x0, ttl 53, id 63527, offset 0, flags [DF], proto: TCP (6), length: 1492) mir1.ovh.net.www > AMontpellier-151-1-49-29.w83-197.abo.wanadoo.fr.54648: . 2881:4321(1440) ack 0 win 5792 <nop,nop,timestamp 219837229 48575318>
5 packets captured
5 packets received by filter
0 packets dropped by kernel
La meme iso téléchargée par s (qui en fait s'appelle shepp)
L'interface ppp (sur p)
root@p:~# tcpdump -vv -c 5 -i ppp0 host mir1.ovh.net
tcpdump: listening on ppp0, link-type LINUX_SLL (Linux cooked), capture size 96 bytes
22:46:37.846375 IP (tos 0x0, ttl 53, id 39886, offset 0, flags [DF], proto: TCP (6), length: 1492) mir1.ovh.net.www > AMontpellier-151-1-49-29.w83-197.abo.wanadoo.fr.47489: . 2274332459:2274333899(1440) ack 2941224887 win 5792 <nop,nop,timestamp 219851962 48601460>
22:46:37.848007 IP (tos 0x0, ttl 63, id 55690, offset 0, flags [DF], proto: TCP (6), length: 64) AMontpellier-151-1-49-29.w83-197.abo.wanadoo.fr.47489 > mir1.ovh.net.www: ., cksum 0xa756 (correct), 1:1(0) ack 1440 win 16024 <nop,nop,timestamp 48601841 219851962,nop,nop,sack 1 {0:1440}>
22:46:37.922905 IP (tos 0x0, ttl 53, id 39887, offset 0, flags [DF], proto: TCP (6), length: 1492) mir1.ovh.net.www > AMontpellier-151-1-49-29.w83-197.abo.wanadoo.fr.47489: . 1440:2880(1440) ack 1 win 5792 <nop,nop,timestamp 219851969 48601841>
22:46:37.924795 IP (tos 0x0, ttl 63, id 55692, offset 0, flags [DF], proto: TCP (6), length: 52) AMontpellier-151-1-49-29.w83-197.abo.wanadoo.fr.47489 > mir1.ovh.net.www: ., cksum 0x0a91 (correct), 1:1(0) ack 2880 win 16024 <nop,nop,timestamp 48601917 219851969>
22:46:37.924766 IP (tos 0x0, ttl 53, id 39888, offset 0, flags [DF], proto: TCP (6), length: 1492) mir1.ovh.net.www > AMontpellier-151-1-49-29.w83-197.abo.wanadoo.fr.47489: . 2880:4320(1440) ack 1 win 5792 <nop,nop,timestamp 219851969 48601841>
5 packets captured
5 packets received by filter
0 packets dropped by kernel
L'interface eth0 (sur p)
root@p:~# tcpdump -vv -c 5 -i eth0 host mir1.ovh.net
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
22:48:13.361353 IP (tos 0x0, ttl 52, id 40665, offset 0, flags [DF], proto: TCP (6), length: 1492) mir1.ovh.net.www > shepp.47489: . 2274850859:2274852299(1440) ack 2941224887 win 5792 <nop,nop,timestamp 219861513 48696920>
22:48:13.362949 IP (tos 0x0, ttl 64, id 56798, offset 0, flags [DF], proto: TCP (6), length: 64) shepp.47489 > mir1.ovh.net.www: ., cksum 0x5cce (correct), 1:1(0) ack 1440 win 16024 <nop,nop,timestamp 48697360 219861513,nop,nop,sack 1 {0:1440}>
22:48:13.437245 IP (tos 0x0, ttl 52, id 40666, offset 0, flags [DF], proto: TCP (6), length: 1492) mir1.ovh.net.www > shepp.47489: . 1440:2880(1440) ack 1 win 5792 <nop,nop,timestamp 219861520 48697360>
22:48:13.438830 IP (tos 0x0, ttl 64, id 56800, offset 0, flags [DF], proto: TCP (6), length: 52) shepp.47489 > mir1.ovh.net.www: ., cksum 0x9218 (correct), 1:1(0) ack 2880 win 16024 <nop,nop,timestamp 48697436 219861520>
22:48:13.439205 IP (tos 0x0, ttl 52, id 40667, offset 0, flags [DF], proto: TCP (6), length: 1492) mir1.ovh.net.www > shepp.47489: P 2880:4320(1440) ack 1 win 5792 <nop,nop,timestamp 219861520 48697360>
5 packets captured
5 packets received by filter
0 packets dropped by kernel
l'interface eth0 (sur s)
root@s:~ # tcpdump -vv -c 5 -i eth0 host mir1.ovh.net
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
22:50:04.936600 IP (tos 0x0, ttl 52, id 41593, offset 0, flags [DF], proto: TCP (6), length: 1492) mir1.ovh.net.www > shepp.47489: . 2275398059:2275399499(1440) ack 2941224887 win 5792 <nop,nop,timestamp 219873146 48813312>
22:50:04.949452 IP (tos 0x0, ttl 64, id 58080, offset 0, flags [DF], proto: TCP (6), length: 64) shepp.47489 > mir1.ovh.net.www: ., cksum 0x5c4c (correct), 1:1(0) ack 1440 win 16024 <nop,nop,timestamp 48813702 219873146,nop,nop,sack 1 {0:1440}>
22:50:05.025287 IP (tos 0x0, ttl 52, id 41594, offset 0, flags [DF], proto: TCP (6), length: 1492) mir1.ovh.net.www > shepp.47489: . 1440:2880(1440) ack 1 win 5792 <nop,nop,timestamp 219873155 48813702>
22:50:05.025381 IP (tos 0x0, ttl 64, id 58082, offset 0, flags [DF], proto: TCP (6), length: 52) shepp.47489 > mir1.ovh.net.www: ., cksum 0x4495 (correct), 1:1(0) ack 2880 win 16024 <nop,nop,timestamp 48813794 219873155>
22:50:05.343129 IP (tos 0x0, ttl 52, id 41596, offset 0, flags [DF], proto: TCP (6), length: 1492) mir1.ovh.net.www > shepp.47489: . 1440:2880(1440) ack 1 win 5792 <nop,nop,timestamp 219873187 48813702>
5 packets captured
12 packets received by filter
0 packets dropped by kernel
[^] # Re: Quelques pistes
Posté par slack . Évalué à 1.
Pour vider les règles de NAT, lance sur la machine p :
iptables -t nat -F
Puis pour utliser le NAT uniquement sur ppp0 :
iptables -A POSTROUTING -t nat -o ppp0 -j MASQUERADE
As-tu progressé sur les collisions ?
Pour de la documentation sur la translation d'adresse :
http://www.netfilter.org/documentation/index.html#documentat(...)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.