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

0 Membres et 1 Invité sur ce sujet

olivier2831

  • Abonné Orange Fibre
  • *
  • Messages: 138
  • Paris 75
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #552 le: 08 juillet 2019 à 22:02:37 »
J'imaginais quelque chose:
Internet --- Serveur DHCP simulé --- Switch --- Livebox ou Routeur de remplacement --- PC

Si j'ai bien compris, dans le schéma ci-dessus, un serveur DHCP supportant la RFC3118 sera a minima utile.
Serait-ce indispensable ?
Quel serveur DHCP sous Linux supportent  la RFC3118, au moins avec une configuration manuelle ?

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 #553 le: 09 juillet 2019 à 09:49:20 »
Si j'ai bien compris, dans le schéma ci-dessus, un serveur DHCP supportant la RFC3118 sera a minima utile.
Serait-ce indispensable ?
Il faut juste que le serveur DHCP retourne les options que la Livebox attend.

En pratique, sous OpenWRT, ça donne par exemple ça (fichier /etc/config/dhcp) :
config dhcp 'TEL'
        option start '100'
        option leasetime '12h'
        option domain 'orange.fr'
        option limit '150'
        option interface 'TEL'
        list dhcp_option '120,00:06:73:62:63:74:33:67:03:52:45:4e:06:61:63:63:65:73:73:11:6f:72:61:6e:67:65:2d:6d:75:6c:74:69:6d:65:64:69:61:03:6e:65:74:00'
        list dhcp_option '125,00:00:05:58:0c:01:0a:00:01:00:00:00:ff:ff:ff:ff:ff'
        list dhcp_option '90,00:00:00:00:00:00:00:00:00:00:00:64:68:63:70:6c:69:76:65:62:6f:78:66:72:32:35:30'
        list dhcp_option '119,REN.access.orange-multimedia.net'
        list dhcp_option '15,orange.fr'

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 258
  • Antibes (06) / Mercury (73)
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #554 le: 09 juillet 2019 à 11:40:41 »
Oui, mais si on veut émuler au mieux le serveur DHCP d'Orange (afin de pouvoir tester d'autres routeurs sans avoir à le connecter à la ligne FTTH par exemple), alors ce n'est pas suffisant: Le serveur DHCP ne doit pas répondre si le client ne répond pas aux exigences d'Orange (chaine d'auth, vendor name, etc...).

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 #555 le: 09 juillet 2019 à 11:57:54 »
Effectivement, je n'avais pas bien lu le cahier des charges ;D

olivier2831

  • Abonné Orange Fibre
  • *
  • Messages: 138
  • Paris 75
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #556 le: 30 juillet 2019 à 18:54:26 »
C'est corrigé avec la stanza pre-up, qui est exécutée avant les handshakes:
# WAN vlan 832 internet
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


J'ai lu que le DHCP exigeait des raws sockets par opposition à des BSD/UDP sockets (cf [1]).
Les SKB de Linux sont-ils du type raw, BSD/UDP ou encore autre chose ?

Le client ISC DHCP officiel de Debian utilise-t-il les SKB ?


[1] https://kb.isc.org/docs/aa-00378

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #557 le: 30 juillet 2019 à 19:46:19 »
Les SKB de Linux sont-ils du type raw, BSD/UDP ou encore autre chose ?

Un SKB n'est pas un socket en soi. C'est la structure de données (buffer) utilisé par le noyau Linux pour stocker/manipuler un socket donc ca concerne tout les sockets y compris les raw. C'est cette structure qui est envoyé/recu au driver de la carte réseau.

Le client ISC DHCP officiel de Debian utilise-t-il les SKB ?

directement non. Le code est portable (pas que pour Linux) donc utilise les appels systèmes standardisés BSD/POSIX (notamment socket(2)).

Sur Linux et Linux seulement un socket BSD/POSIX est mis en oeuvre en utilisant un skb dans le noyau. Mais le code d'ISC DHCP n'étant pas spécifique a Linux a aucun moment on ne voit cela. Apres rien n’empêche d'aller bidouiller le code.

olivier2831

  • Abonné Orange Fibre
  • *
  • Messages: 138
  • Paris 75
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #558 le: 12 août 2019 à 18:22:31 »
Merci pour cette réponse.

Dans le doc [1], on peut lire que les paramètres suplèmentaires  ingress-qos-map et egress-qos-map existent pour les VLAN.
On peut aussi lire une référence au paramètre egress.
Où peut-on trouver la définition de ce dernier paramètre egress, qui justement figure dans les exemples de config de ce fil de discussion ?
S'agit-il simplement d'une notation abrégée de egress-qos-map ?

[1] https://manpages.debian.org/experimental/iproute2/ip-link.8.en.html

olivier2831

  • Abonné Orange Fibre
  • *
  • Messages: 138
  • Paris 75
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #559 le: 12 août 2019 à 18:29:47 »
Un SKB n'est pas un socket en soi. C'est la structure de données (buffer) utilisé par le noyau Linux pour stocker/manipuler un socket donc ca concerne tout les sockets y compris les raw. C'est cette structure qui est envoyé/recu au driver de la carte réseau.

directement non. Le code est portable (pas que pour Linux) donc utilise les appels systèmes standardisés BSD/POSIX (notamment socket(2)).

Sur Linux et Linux seulement un socket BSD/POSIX est mis en oeuvre en utilisant un skb dans le noyau. Mais le code d'ISC DHCP n'étant pas spécifique a Linux a aucun moment on ne voit cela. Apres rien n’empêche d'aller bidouiller le code.

Sur Linux, comment s'assure-t-on alors que le client ISC DHCP èmette des requètes avec une priorité de 6 pour complaire aux serveurs d'Orange ?
En insérant un équipement intermédiaire qui va forcer cette priorité ou bien par une configuration idoine du réseau ?
(initialement, le paramètre "vlan egress ..." m'avait laissé pensé qu'un équipement réseau intermédiaire n'était pas nécessaire mais en relisant plusieurs la réponse ci-dessus, je pense que je n'ai pas la réponse)

iznogoud

  • Abonné Orange Fibre
  • *
  • Messages: 40
  • Essonne
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #560 le: 12 août 2019 à 20:26:56 »
(initialement, le paramètre "vlan egress ..." m'avait laissé pensé qu'un équipement réseau intermédiaire n'était pas nécessaire mais en relisant plusieurs la réponse ci-dessus, je pense que je n'ai pas la réponse)
Je partage l'avis de M. olivier2831, la réponse de M. kgersen paraît savante mais est claire comme du jus de boudin. Pourriez-vous donner une explication plus simple pour les nombreux néophytes comme moi inscrits à ce forum ?

Strangelovian

  • Abonné Orange Fibre
  • *
  • Messages: 58
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #561 le: 12 août 2019 à 21:21:29 »
Sur Linux, comment s'assure-t-on alors que le client ISC DHCP èmette des requètes avec une priorité de 6 pour complaire aux serveurs d'Orange ?

voici ma réponse de l'année dernière (je me re-cite), j'essaie d'être aussi clair que possible:
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.
Si quelqu'un est interessé par le patch, il est très simple à faire.

iznogoud

  • Abonné Orange Fibre
  • *
  • Messages: 40
  • Essonne
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #562 le: 13 août 2019 à 00:34:00 »
j'essaie d'être aussi clair que possible
C'est limpide.

olivier2831

  • Abonné Orange Fibre
  • *
  • Messages: 138
  • Paris 75
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #563 le: 13 août 2019 à 09:50:14 »
voici ma réponse de l'année dernière (je me re-cite), j'essaie d'être aussi clair que possible:Si quelqu'un est interessé par le patch, il est très simple à faire.
Ce fil de discussion est déjà long et ce n'est pas facile d'en avoir en tête les principaux éléments :
merci infiniment pour cette précision !

En l'absence sous Linux (est-ce bien exact avec Debian Buster ?) de client ou serveur DHCP intégrant la configurant la priorité DSCP, je configurerai cette priorité sur un équipement intermédiaire (une autre machine Linux, un switch Mikrotik ou autre).