Auteur Sujet: soucis routage avancé linux et PPPOE  (Lu 4242 fois)

0 Membres et 1 Invité sur ce sujet

jeremyp3

  • Abonné Orange Fibre
  • *
  • Messages: 717
  • Pau (64)
soucis routage avancé linux et PPPOE
« le: 07 avril 2015 à 05:36:41 »
bonjour,

je fais du routage avancé depuis quelques temps maintenant, mais la je tombe sur un os que je ne comprends pas vraiment, je m'explique.

ici, j'ai 3 liaison a internet mais on ce concentrera sur les deux qui ont le même style de routage.

le principe :
je fais passer certaines IP par des des connexions selon  des règles et ça fonctionne très bien, sauf certains petits trucs.

par exemple, le problème qui m'ammène ici, c'est que quand je fais passer l'ip serveur3.wanastream.com sur la connection 3 qui es en PPPOE direct sur le serveur et que j'utilise  iptables et le marquage de paquet, et que je fais un curl http://serveur3.wanastream.com:8000, il s'arrête au 171 premier KO alors que si je le fais depuis un pc du réseau local, ça passe par la même connexion, mais ça continu. que la règles iptables du mss to pmtu sois activer ou non. plus bizare encore, si je le fais directement avec route add serveur3.wanastream.com gw $gw_PPP la ça fonctionne comme ça devrai, mais c'est pas ce mécanisme la que je souhaite utiliser.
je sais pas si ça a une importance, mais le lien ethernet du modem est en vlan.

les commande que j'utilise pour arriver à mon résultats

ip rule add fwmark 0x11 table 111
ip route add default via $gw_ppp table 111
iptables -t mangle -A OUTPUT -d serveur3.wanastream.com -j MARK --set-mark 0x11
et la même règles pour le PREROUTING pour le réseau local bien sûre.

a noté que si je remplace le $gw_ppp par l'autre connexion qui utilise le même procéder mais qui n'est pas en PPPOE, ça passe très bien.

j'ai joint une mini capture pour voir si ça vous aide

merci d'avance,

jerem

cali

  • Officiel Ukrainian Resilient Data Network
  • Fédération FDN
  • *
  • Messages: 2 401
    • Ukrainian Resilient Data Network
soucis routage avancé linux et PPPOE
« Réponse #1 le: 07 avril 2015 à 05:47:38 »
Pourquoi tu veux vraiment utiliser iptables ?

Normalement avec route tu peux préciser la source à utiliser.

ip -4 route add 195.154.123.125 via $gw src $ip

jeremyp3

  • Abonné Orange Fibre
  • *
  • Messages: 717
  • Pau (64)
soucis routage avancé linux et PPPOE
« Réponse #2 le: 07 avril 2015 à 06:04:20 »
bonjour,

parce que je fais du routage aussi en fonction du port de destination.

jerem

jeremyp3

  • Abonné Orange Fibre
  • *
  • Messages: 717
  • Pau (64)
soucis routage avancé linux et PPPOE
« Réponse #3 le: 11 avril 2015 à 19:20:17 »
bonjour,

voilà problème résolu grace a pascalhambourg du forum debian-fr.org ça venait  bien  du MTU comme je pensais, mais je le plassais pas au bon endroit

je le site :

"jeremyp3 a écrit:
la connection 3 qui es en PPPOE direct sur le serveur

Quel serveur ? Le routeur qui gère la connexion PPPoE ?
jeremyp3 a écrit:
il s'arrête au 171 premier KO

171 kilo-octets ou 171 octets ?
171 kilo-octets représentent un nombre important de paquets de taille maximum, donc dans l'hypothèse d'un "trou noir de MTU" qui est la plus probable avec PPPoE, le blocage se produirait beaucoup plus tôt, dès le premier paquet de taille maximum.
Par contre 171 octets pourrait correspondre à la taille de l'en-tête HTTP transmise avant le premier paquet de données de taille maximum.
jeremyp3 a écrit:
que la règles iptables du mss to pmtu sois activer ou non

Elle est dans quelle chaîne, cette règle ? Pour être appliquée aux paquets émis localement qui ont été reroutés, elle doit être dans POSTROUTING. Dans FORWARD, elle ne s'applique qu'aux paquets retransmis provenant d'une autre machine. Dans OUTPUT c'est trop tôt car les paquets émis localement n'ont pas encore été reroutés. POSTROUTING s'applique après le routage à tous les paquets sortants (émis localement ou retransmis) juste avant la sortie.
jeremyp3 a écrit:
si je le fais directement avec route add serveur3.wanastream.com gw $gw_PPP la ça fonctionne comme ça devrai

Une différence entre les deux modes de routage est qu'avec une route simple le MSS annoncé lors de l'établissement de la connexion TCP avec le serveur distant correspond au MTU du lien PPPoE (1492).
Avec le routage avancé, le MSS annoncé est celui de la route par défaut (1500 ?), il doit dont être corrigé avec une règle iptables TCPMSS après le reroutage."

la règles qui fonctionne:
iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

voilà, pour archive !

corrector

  • Invité
soucis routage avancé linux et PPPOE
« Réponse #4 le: 12 avril 2015 à 01:07:28 »
Beurk.

Faire du mangle alors qu'il suffit de fixer le MSS de la route...

jeremyp3

  • Abonné Orange Fibre
  • *
  • Messages: 717
  • Pau (64)
soucis routage avancé linux et PPPOE
« Réponse #5 le: 12 avril 2015 à 03:26:47 »
salut corrector,

pour une réponse utile, dans mon exemple, comment tu fixerai le mss de la route ?
je suis bien sure prêt a tester ta commande !

jerem

corrector

  • Invité
Fixer la MTU dans le routage
« Réponse #6 le: 12 avril 2015 à 14:06:50 »
ip route add - add new route

ip route change - change route

ip route replace - change or add new one

to TYPE PREFIX (default)
the destination prefix of the route. If TYPE is omitted, ip assumes type unicast. Other values of TYPE are listed above. PREFIX is an IP or IPv6 address optionally followed by a slash and the prefix length. If the length of the prefix is missing, ip assumes a full-length host route. There is also a special PREFIX default - which is equivalent to IP 0/0 or to IPv6 ::/0.
(...)
dev NAME
the output device name.
via ADDRESS
the address of the nexthop router. Actually, the sense of this field depends on the route type. For normal unicast routes it is either the true next hop router or, if it is a direct route installed in BSD compatibility mode, it can be a local address of the interface. For NAT routes it is the first address of the block of translated IP destinations.
src ADDRESS
the source address to prefer when sending to the destinations covered by the route prefix.
(...)
mtu MTU
mtu lock MTU
the MTU along the path to the destination. If the modifier lock is not used, the MTU may be updated by the kernel due to Path MTU Discovery. If the modifier lock is used, no path MTU discovery will be tried, all packets will be sent without the DF bit in IPv4 case or fragmented to MTU for IPv6.

(...)
advmss NUMBER (2.3.15+ only)
the MSS ('Maximal Segment Size') to advertise to these destinations when establishing TCP connections. If it is not given, Linux uses a default value calculated from the first hop device MTU. (If the path to these destination is asymmetric, this guess may be wrong.)


RTFM comme on dit!

corrector

  • Invité
Fixer la MTU en DHCP
« Réponse #7 le: 12 avril 2015 à 14:09:59 »
RTFM toujours :

The Dynamic Host Configuration protocol allows the client to receive options from the DHCP server describing the network configuration and various services that are available on the network. When configuring dhcpd(8) or dhclient(8)) , options must often be declared. The syntax for declaring options, and the names and formats of the options that can be declared, are documented here.


option interface-mtu uint16;
This option specifies the MTU to use on this interface. The minimum legal value for the MTU is 68.

corrector

  • Invité
Fixer la MTU en auto-configuration IPv6
« Réponse #8 le: 12 avril 2015 à 14:19:02 »
Pour être complet, la même chose en IPv6 :

radvd.conf(5)

AdvLinkMTU integer
The MTU option is used in router advertisement messages to insure that all nodes on a link use the same MTU value in those cases where the link MTU is not well known.

If specified, i.e. not 0, must not be smaller than 1280 and not greater than the maximum MTU allowed for this link (e.g. ethernet has a maximum MTU of 1500. See RFC 4864).

Default: 0

corrector

  • Invité
soucis routage avancé linux et PPPOE
« Réponse #9 le: 12 avril 2015 à 16:05:51 »
Pourquoi tu veux vraiment utiliser iptables ?

Normalement avec route tu peux préciser la source à utiliser.

ip -4 route add 195.154.123.125 via $gw src $ip
Pour quoi faire?

jeremyp3

  • Abonné Orange Fibre
  • *
  • Messages: 717
  • Pau (64)
soucis routage avancé linux et PPPOE
« Réponse #10 le: 12 avril 2015 à 18:19:15 »
bonjour corrector,

merci pour tes différentes réponses ainsi que ta copie du man de ip route.

jerem