Auteur Sujet: Reverse Engineering : Nouveau système de génération de l'option 90 DHCP  (Lu 216035 fois)

0 Membres et 1 Invité sur ce sujet

bob62

  • Invité
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #516 le: 07 mars 2019 à 20:31:42 »
Mangle peut être utilisé pour sélectionner et marquer les connexions à ne pas 'fastracker'.

Alors prenons l'exemple justement d'une connexion SSH.
Lors de l'établissement de la connexion, SSH envoie ses paquets avec un TOS à 0x00.
Une fois la connexion établie, pour les paquets de data, SSH positionne le TOS à 0x20.

Pas possible donc de faire le matching des connexions à ne pas fastracker sur un TOS != 0x00
(car le premier paquet a un TOS 0x00, la connexion est donc déjà fastrackée).

Une idée ? :)

Catalyst

  • Abonné FAI autre
  • *
  • Messages: 190
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #517 le: 07 mars 2019 à 21:03:51 »
Je pensais plutôt à identifier l'intégralité du flux pour certains types de connexion, ici SSH vers l'extérieur. Il doit être possible de le faire de cette façon (pas testé) en complèment du changement de TOS :

# Marquer les connexions SSH venant du LAN vers le net
/ip firewall mangle
    add chain=prerouting action=mark-connection \
     connection-mark=no-mark \
     in-interface=<côté_LAN> protocol=tcp dst-port=22 out-interface=<côté_WAN>\
      new-connection-mark=no_fasttrack

/ip firewall filter
add chain=forward action=fasttrack-connection connection-state=established,related \
     connection-mark=no-mark

doctorrock

  • Abonné Orange Fibre
  • *
  • Messages: 931
  • Draguignan 83
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #518 le: 08 mars 2019 à 10:50:52 »
Tu ne peux pas matcher la output-interface en prerouting (logique).

Pourquoi ne pas dire que tu TOS à 0x00 tous les paquets, sauf les paquets specifiques necessaires à Orange (c'est la requête DHCP il me semble ?)
Si tu commences à mangle dans tous les sens, tu vas te prendre le choux ... Ca va devenir un setup hyper complexe, pour juste pas grand chose au final (oui je sais , Orange fait chier).

Aussi, gros conseil : désactive le fasttrack. Ca marche pas avec le mangle, et avec plein d'autres choses (comme le marquage de paquets et les queues par exemple,puisque ca bypass tout le Kernel).
Si tu as besoin de commencer à jouer avec Mangle, il faut virer fasttrack. Ca m'a pris la tête à moi, et à bcp d'autres personnes plutot calées en Mikrotik (ping @Hugues ?), le fasttrack, c'est bien si tu mangle pas, sinon ca va te jouer plein de tours invisibles et hyper relous à débogguer.

bob62

  • Invité
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #519 le: 08 mars 2019 à 11:08:38 »
Pour info sinon je suis arrivé à ceci, un peu plus générique que de fonctionner par ports, et qui fonctionne :

/ip firewall mangle
add action=mark-connection chain=postrouting connection-bytes=1-10000 connection-mark=no-mark dscp=!0 new-connection-mark=nofasttrack out-interface=vlan832 passthrough=yes
add action=change-dscp chain=postrouting dscp=!0 new-dscp=0 out-interface=vlan832 passthrough=yes

/ip firewall filter
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-bytes=10001-0 connection-mark=no-mark connection-state=established,related

Le principe est d'analyser les 10 premiers Ko de la connexion, si on trouve un TOS != 0 alors la connexion n'est pas fasttrackée, sinon elle l'est.
On fait donc le pari que si l'on n'a pas vu un TOS != 0 dans les premiers X Ko, on n'en verra pas ensuite...
Le défaut c'est que les connexions en dessous du seuil des X Ko ne sont pas fasttrackées. Bon...
« Modifié: 08 mars 2019 à 12:08:00 par bob62 »

Catalyst

  • Abonné FAI autre
  • *
  • Messages: 190
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #520 le: 08 mars 2019 à 16:06:24 »
Pour info sinon je suis arrivé à ceci, un peu plus générique que de fonctionner par ports, et qui fonctionne :

/ip firewall mangle
add action=mark-connection chain=postrouting connection-bytes=1-10000 connection-mark=no-mark dscp=!0 new-connection-mark=nofasttrack out-interface=vlan832 passthrough=yes
add action=change-dscp chain=postrouting dscp=!0 new-dscp=0 out-interface=vlan832 passthrough=yes

/ip firewall filter
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-bytes=10001-0 connection-mark=no-mark connection-state=established,related

Le principe est d'analyser les 10 premiers Ko de la connexion, si on trouve un TOS != 0 alors la connexion n'est pas fasttrackée, sinon elle l'est.
On fait donc le pari que si l'on n'a pas vu un TOS != 0 dans les premiers X Ko, on n'en verra pas ensuite...
Le défaut c'est que les connexions en dessous du seuil des X Ko ne sont pas fasttrackées. Bon...

Bien  vu, et c'est pas pour 10 Ko que le routeur va s'écrouler :)

Il ne me semble pas avoir vu d'autres personnes signaler un problème lié à TOS, en dehors de SSH ?

@doctorrock : je te rejoins sur fasttrack. Premier réflexe en cas de pépin, le virer pour voir ...

Electrocut

  • Abonné Orange Fibre
  • *
  • Messages: 512
  • Pont-Péan (35)
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #521 le: 15 mars 2019 à 14:14:25 »
Bonjour :)

Fraichement abonné Sosh Fibre, et équipé d'un routeur TP-Link Acer C7, je vais bientôt rejoindre votre clan des remplaceurs de Livebox  ;D
J'ai déjà le convertisseur de média TP-Link MC220L, ya plus qu'à !

Si on se base là dessus : https://www.tucny.com/home/dscp-tos
Et sur la règle suivante : iptables -t mangle -A POSTROUTING -j DSCP --set-dscp XX
Sur un Netgear R7000, voici les valeurs DSCP que j'ai testées, et ce qu'elles donnent :
KO : 0 (étrange car les paquets issus d'un Speedtest par exemple et traversant le routeur on bien un champ TOS à 0) (cf 2 posts plus bas)
OK : 1, 2, 3, 4, 5, 6, 7
KO : 8, 10, 12, 14, 16
OK : 9, 11, 13, 15, 17

Quand c'est OK, je retrouve les débits de la Livebox, je plafonne la ligne.

Bon je tatonne...
L'idéal serait de ré-analyser le trafic entre la Livebox et l'ONT pour faire un récap des champs TOS et éventuellement des CoS.
Quelqu'un saurait le faire ? Je n'ai pas le matos pour dans l'immédiat :-\
Ou alors une autre idée ?
Merci !

Si ça vous intéresse, j'ai intercalé un switch manageable entre la Livebox V4 et le convertisseur MC220L.
Je suis donc en mesure de faire toutes les captures que vous souhaitez  8)

Je vais tenter une capture d'un transfert TFTP.

Electrocut

  • Abonné Orange Fibre
  • *
  • Messages: 512
  • Pont-Péan (35)
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #522 le: 15 mars 2019 à 18:10:19 »
Je viens donc de réaliser le test ci-dessous :
- Serveur SSH (OpenSSH) présent sur mon LAN (derrière double NAT OpenWRT + Livebox)
- Transfert TFTP depuis un client (FileZilla) situé sur Internet
- 3 captures Wireshark réalisées : côté serveur, côté client, et entre la Livebox et le SFP.


Résultat :
- côté client
  flag DCSP des entêtes IP reçues = 0x00
  flag DCSP des entêtes IP envoyées = 0x00

- côté serveur :
  flag DCSP des entêtes IP reçues = 0x00
  flag DCSP des entêtes IP envoyées = 0x10 en début de session SSH, puis 0x08 lors du transfert SFTP

- entre la Livebox et le SFT
  flag DCSP de toutes les entêtes IP = 0x00
  Priorité "Best effort" dans les entêtes 802.1Q
 (cf. image jointe)

La plupart du traffic qui traverse le routeur a un champ TOS à 0x00, c'est le cas par exemple d'un Speedtest.
SSH, par exemple, pour sa part, fixe le champ TOS pour un transfert de fichier à 0x20, les débits sont alors catastrophiques.
Si on utilise l'option SSH -o IPQoS=0x00 pour fixer le TOS à 0x00, on retrouve des débits normaux.

A mon sens cela veut donc dire que des équipements Orange surveillent / s'adaptent selon le champ TOS...

OK, forçons donc le TOS à 0x00 pour tous les paquets traversant le routeur :
iptables -t mangle -D POSTROUTING -j TOS --set-tos 0x00
Ça semble donc être ce que fait la Livebox !

fgi78

  • Abonné Orange Fibre
  • *
  • Messages: 1
  • 78
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #523 le: 15 mars 2019 à 23:42:04 »

ADSL Free de la premiere heure ,  passé à SFR Cable (400/40) en mode bridge via ERL3 et juste fibré Orange via ERL3, j'ai lu , j'ai lu , j'ai lu , et encore lu quasi toutes les pages traitant de la config MC220L + ERL3 + LB4 + mon LAN ,...et ca a l'air de marcher.  J'ai un peu trebuche car le tuto de Nostra n'est pas super a jour ;  vous m'avez fait des coups de chaud avec l'epopee du DHCP orange ( a suivre) et que le dyndns se met sur eth1.832 et pas sur eth1 ( oui une baffe je sais)… et d'autres petites tracasseries mais ca marche.


Alors je voulais vous dire : MERCI à tous et un special "hug" à ZOC


Cdt

bob62

  • Invité
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #524 le: 16 mars 2019 à 15:29:37 »
- entre la Livebox et le SFT
  flag DCSP de toutes les entêtes IP = 0x00
  Priorité "Best effort" dans les entêtes 802.1Q

Excellent, merci pour ta confirmation !
Forcer le TOS à 0x00 est donc bien tout indiqué ;)

pfoo

  • Abonné Orange Fibre
  • *
  • Messages: 7
  • Strasbourg (67)
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #525 le: 15 mai 2019 à 13:38:04 »
Pour information, depuis hier, je n'obtiens plus d'ipv4 avec la chaîne
00:00:00:00:00:00:00:00:00:00:00:1a:09:00:00:05:58:01:03:41:01:0d:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
Mais ça marche avec la chaîne complète
00:00:00:00:00:00:00:00:00:00:00:1a:09:00:00:05:58:01:03:41:01:0d:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:3c:12:sa:lt:sa:lt:sa:lt:sa:lt:sa:lt:sa:lt:sa:lt:sa:lt:03:13:zz:ha:sh:ha:sh:ha:sh:ha:sh:ha:sh:ha:sh:ha:sh:ha:sh
Le tout généré avec le script bash proposé dans ce thread par zoc https://lafibre.info/remplacer-livebox/cacking-nouveau-systeme-de-generation-de-loption-90-dhcp/msg580713/#msg580713

Flo_77

  • Abonné Free fibre
  • *
  • Messages: 273
  • MEA77
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #526 le: 15 mai 2019 à 23:28:45 »
voilà les logs de mon dhclient (bsd)
Citer
  renew 4 2019/5/16 18:38:30;
  rebind 5 2019/5/17 13:17:11;
  expire 6 2019/5/18 17:46:53;
ça me laisse un petit temps pour mettre en place une solution Merci de l'info! :o :o

fennec

  • Abonné Orange Fibre
  • *
  • Messages: 20
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #527 le: 15 mai 2019 à 23:40:13 »
Merci de l'info  ;)