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

0 Membres et 1 Invité sur ce sujet

fennec

  • Abonné Orange Fibre
  • *
  • Messages: 20
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #504 le: 06 février 2019 à 16:11:13 »
Salut

Je viens d'etre connecte en fibre livebox 4 sosh

J'ai un serveur ubuntu 16.04

pas moyen d'avoir une ip sur

eth0.832  Link encap:Ethernet  HWaddr 68:05:ca:19:aa:2e
          inet6 addr: fe80::6a05:caff:fe19:aa2e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:70 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:16055 (16.0 KB)

un probleme d'authentification à mon avis

j'ai pas tout lues les 42 posts mais a mon avis il me manque des choses dans mon dhclient.conf

option rfc3118-authentication code 90 = string;

interface "eth0.832" {
        send vendor-class-identifier "sagem";
        #send dhcp-client-identifier xx:xx:xx:xx:xx:xx;#maclivebox
        send user-class "+FSVDSL_livebox.Internet.softathome.Livebox4";
        send rfc3118-authentication 00:00:00:00:00:00:00:00:00:00:00:66:74:69:xx:xx:xx:xx:xx:xx:xx:xx;
       
        request subnet-mask, routers,
                domain-name, broadcast-address, dhcp-lease-time,
                dhcp-renewal-time, dhcp-rebinding-time,
                rfc3118-authentication;
        prepend domain-name-servers 8.8.8.8, 8.8.4.4;
}


les xx.xx.xx j'ai bien mis le fti/...... en hexa
dois je mettre

send rfc3118-authentication 00:00:00:00:00:00:00:00:00:00:00:1a:09:00:00:05:58:01:03:41:01:0d:66:74:69:xx:xx:xx:xx:xx:xx:xx:xx;

Merci de l'aide

hj67

  • Abonné Orange Fibre
  • *
  • Messages: 354
  • 67
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #505 le: 07 février 2019 à 20:07:58 »
Es-tu par hasard en zone qui nécessite de mettre une priorité à 6 pour le DHCP ?

fennec

  • Abonné Orange Fibre
  • *
  • Messages: 20
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #506 le: 08 février 2019 à 04:17:35 »
Es-tu par hasard en zone qui nécessite de mettre une priorité à 6 pour le DHCP ?
Merci oui
apres avoir tout suivi j'ai reussi à avoir une ip

bob62

  • Invité
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #507 le: 11 février 2019 à 16:20:48 »
J’ai pas de limite de débit avec les options qui avaient été données au début du sujet. Par contre, depuis quelques temps, je suis limité à 10 Mbps en up sur le ssh. J’ai pas tenté de le faire passer par un autre port pour voir, mais en tout cas en NFS vers le même serveur je monte au max.
Exactement le même souci, débit très limité en SSH up/down, environ 10 Mbps.
Même en utilisant un autre port que le 22.
Aucun souci à priori sinon, je plafonne la ligne avec un Speedtest.
J'ai tenté en réutilisant la Livebox, je plafonne bien la ligne via SSH...
Une idée ?
Merci !

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 282
  • Antibes (06) / Mercury (73)
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #508 le: 11 février 2019 à 17:44:15 »
Je pense que c’est un effet de bord de la gestion de la CoS sur nos routeurs. Les paquets SSH doivent avoir un DSCP qui est transformé en CoS 6 par le routeur (dans le kernel il y a une table statique qui mappe IP_TOS vers une priorité interne)... La Livebox doit s’y prendre autrement.

bob62

  • Invité
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #509 le: 11 février 2019 à 17:53:24 »
J'ai pourtant tenté en remettant toutes les CoS egress_map à 0, c'est pareil :-\
Ca voudrait dire que le kernel modifie de nouveau cela après la config faite par vconfig...
Ca commence à être un peu touchy ;D

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 282
  • Antibes (06) / Mercury (73)
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #510 le: 11 février 2019 à 17:56:25 »
Non, si le problème persiste après avoir remis à 0 l’egress Map alors ce n’est pas ça le problème. Autant le kernel se base sur sa table IP_TOS pour configurer la priorité interne, autant il n’utilise rien d’autre que l’egress Map pour déterminer la CoS 802.1p à partie de la prio interne.

bob62

  • Invité
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #511 le: 11 février 2019 à 18:33:35 »
Si j'utilise l'option SSH -o IPQoS=0x00 alors je retrouve déjà des débits plus normaux...
Effectivement, par défaut, SSH utilise un TOS 0x20 pour les paquets de data.
Il y a donc bien une affectation réalisée quelque part en fonction du champ TOS...

IPQoS
Specifies the IPv4 type-of-service or DSCP class for the connection. Accepted values are af11, af12, af13, af21, af22, af23, af31, af32, af33, af41, af42, af43,cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7, ef, lowdelay, throughput, reliability, or a numeric value. This option may take one or two arguments, separated by whitespace. If one argument is specified, it is used as the packet class unconditionally. If two values are specified, the first is automatically selected for interactive sessions and the second for non-interactive sessions. The default is lowdelay for interactive sessions and throughput for non-interactive sessions.
« Modifié: 08 mars 2019 à 10:46:00 par bob62 »

bob62

  • Invité
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #512 le: 12 février 2019 à 22:15:01 »
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 !
« Modifié: 08 mars 2019 à 10:49:18 par bob62 »

Strangelovian

  • Abonné Orange Fibre
  • *
  • Messages: 58
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #513 le: 05 mars 2019 à 15:52:15 »
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 !
Tout ce qui suit est basé sur une pcap de livebox à Puteaux dans le 92 qui date du 15/10/2018, en filtrant "vlan.priority != 0":
- ARP: vlan.priority = 7i|6e (pas IP, pas de DSCP)
- ICMPv6 (important pour NDP!): vlan.priority = 7i|6e, DSCP "CS6" 0xc0
- DHCP: vlan.priority = 7i|6e, DSCP = "CS6" 0xc0

Quand j'écris 7i/6e c'est:
- 7 ingress: prio des paquets ethernet vlan 802.1q reçus des équipements orange
- 6 egress: prio des paquets ethernet vlan 802.1q envoyés par la livebox

Remarque: il y a aussi des prio non nulles <= 7 assignées sur des paquets IGMP, DNS, SIP, etc

Avec linux debian, pour envoyer les paquets vlan 802.1q avec la bonne vlan.prio (et la bonne DHCP si IP):

1. egress map assigné avant que les "handshake ethernet/IP" n'aient lieu, quand le router linux reboot:
On ne map que la valeur 6 qui nous intéresse pour envoyer des paquets ARP, ICMPv6, DHCP
auto enp1s0.832
iface enp1s0.832 inet dhcp
  pre-up ip link set enp1s0.832 type vlan egress 0:0 1:0 2:0 3:0 4:0 5:0 6:6 7:0
iface enp1s0.832 inet6 dhcp
  pre-up ip link set enp1s0.832 type vlan egress 0:0 1:0 2:0 3:0 4:0 5:0 6:6 7:0
  request_prefix 1
  accept_ra 2

2. ARP / ICMPv6:
Désolé c'est du "nftables", mais c'est pareil avec iptables:
table arp arp4 {
        chain output {
                type filter hook output priority 0; policy accept;
                oifname $if_wan meta priority set 6 counter
        }
}
table ip6 fltr6 {
        chain assign-orange-prio {
                icmpv6 type { nd-neighbor-solicit, nd-router-solicit} ip6 dscp set cs6 meta priority set 0:6 counter packets 4 bytes 264
                udp sport dhcpv6-client ip6 dscp set cs6 meta priority set 0:6 counter packets 11 bytes 3353
        }
}
On change à la fois la valeur DSCP voulue (pour les paquets IP), et la meta priority voulue. La meta priority sera ensuite convertie correctement en priorité vlan 802.1q par la egress map définie au point 1. ci-dessus.

3. DHCP
est géré par des programmes genre ISC-DHCP client/server, ou autres, qui sont TOUS obligés d'utiliser des sockets "SO_PACKET" (appelés RAW par certains) pour forger des paquets IP/DHCP corrects.
Ces sockets "SO_PACKET" sont hookées en egress de telle sorte que netfilter ne puisse pas agir dessus (ni les filtrer, ni modifier les paquets).
Pour ceux qui utilisent ISC DHCP client, ce dernier NE PERMET PAS de configurer une meta priorité (skbuff priority).
Il faut donc modifier son code source pour envouyer les bons meta priorité et DSCP...
Ensuite, le map egress 802.1q fait le reste.

bob62

  • Invité
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #514 le: 07 mars 2019 à 17:21:13 »
Merci pour ton retour Strangelovian.

Pour résumer, car j'ai fini par trouver le fin mot de l'histoire :)

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

Et bien sur DD-WRT cela ne fonctionnait pas...
Le "bug" vient d'être corrigé, et était lié au Shortcut Forwarding Engine qui ne forçait pas un TOS spécifiquement positionné à 0x00...
Et ça m'a pas mal induit en erreur...
Donc maintenant c'est cohérent :)
Sur Mikrotik aucun souci (attention cependant il faut désactiver le fasttrack, je n'ai pas trouvé comment faire autrement pour le moment).

Voilà donc, il peut sembler judicieux de fixer le champ TOS, étant donné que l'on ne maitrise pas ce que les applications font elles-mêmes...

Catalyst

  • Abonné FAI autre
  • *
  • Messages: 191
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #515 le: 07 mars 2019 à 19:24:16 »
Sur Mikrotik aucun souci (attention cependant il faut désactiver le fasttrack, je n'ai pas trouvé comment faire autrement pour le moment).
Mangle peut être utilisé pour sélectionner et marquer les connexions à ne pas 'fastracker'.