Auteur Sujet: dhclient patché er-6p 2.0.8-hotfix1  (Lu 7755 fois)

0 Membres et 1 Invité sur ce sujet

pinomat

  • Abonné Orange Fibre
  • *
  • Messages: 209
  • THIONVILLE 57
dhclient patché er-6p 2.0.8-hotfix1
« le: 02 août 2020 à 19:55:23 »
Hello,

EDIT : 03/03/2021. Cette version est compatible jusqu'à la version EdgeRouter ER-4/ER-6P/ER-12/ER-12P: Firmware v2.0.9-hotfix.1.

Je vous propose en dhclient patché avec la priorité 6 (kernel) sur base de la version 2.0.8-hotfix1 du firmware de l'er-6p. J'en avais marre des règles iptables pour dhcp et/ou du marquage via le switch.

J'ai compilé sur base du patching des sources qui se trouve ici https://github.com/shisva/USG_Orange et déposé par mike78530 dans le tuto https://lafibre.info/remplacer-livebox/le-guide-complet-pour-usgusg-pro-internet-tv-livebox-ipv6/
zoc a posté un patch ici pour le firmware 1.9.1 : https://lafibre.info/remplacer-livebox/en-cours-remplacer-sa-livebox-par-un-routeur-ubiquiti-edgemax/msg562531/#msg562531.

Seul problème que je rencontre actuellement, qui n'est pas obligatoirement lié à ce patch, c'est la récupération des DNS du DHCP (set service dns forwarding dhcp ethx.832) --> je suis donc obligé de forcer les DNS avec set service dns forwarding name-server x.x.x.x
Il faut donc remplacer le fichier (après avoir fait un backup) se trouvant /sbin/dhclient3 par celui fourni et ajouter le droit d'exécution (sudo chmod +x /sbin/dhclient3). Ensuite, par rapport à ma configuration, il faut aussi ajouter l'egress-qos 6:6 à l'interface WAN (ethx.832).

Patch fourni par dmfr pour le firmware 2.0.6 (iscdhcp_priority.vyatta-dhcp3_4.1-ESV-R15.patch)
https://lafibre.info/remplacer-livebox/dhclient-patche-er-6p-2-0-8-hotfix1/?action=dlattach;attach=87074
Post:
https://lafibre.info/remplacer-livebox/dhclient-patche-er-6p-2-0-8-hotfix1/msg781287/#msg781287

Merci encore pour les infos et bonne soirée à tous.
« Modifié: 03 mars 2021 à 08:53:11 par pinomat »

benoitc

  • Expert
  • Profil non complété
  • ***
  • Messages: 329
dhclient patché er-6p 2.0.8-hotfix1
« Réponse #1 le: 03 août 2020 à 00:15:15 »
Hello,

Je vous propose en dhclient patché avec la priorité 6 (kernel) sur base de la version 2.0.8-hotfix1 du firmware de l'er-6p. J'en avais marre des règles iptables pour dhcp et/ou du marquage via le switch.

J'ai compilé sur base du patching des sources qui se trouve ici https://github.com/shisva/USG_Orange et réalisé par mike78530 dans le tuto https://lafibre.info/remplacer-livebox/le-guide-complet-pour-usgusg-pro-internet-tv-livebox-ipv6/.


Seul problème que je rencontre actuellement, qui n'est pas obligatoirement lié à ce patch, c'est la récupération des DNS du DHCP (set service dns forwarding dhcp ethx.832) --> je suis donc obligé de forcer les DNS avec set service dns forwarding name-server x.x.x.x
Il faut donc remplacer le fichier (après avoir fait un backup) se trouvant /sbin/dhclient3 par celui fourni et ajouter le droit d'exécution (sudo chmod +x /sbin/dhclient3). Ensuite, par rapport à ma configuration, il faut aussi ajouter l'egress-qos 6:6 à l'interface WAN (ethx.832).

Merci encore pour les infos et bonne soirée à tous.

tu pourais partager le patch final? J'aimerais pouvoir compiler le mien. Tu qs fait quel changement dans le fichier discover.c?

pinomat

  • Abonné Orange Fibre
  • *
  • Messages: 209
  • THIONVILLE 57
dhclient patché er-6p 2.0.8-hotfix1
« Réponse #2 le: 03 août 2020 à 00:46:37 »
tu pourais partager le patch final? J'aimerais pouvoir compiler le mien. Tu qs fait quel changement dans le fichier discover.c?

Bonsoir.
C'est à mike78530 qu'il faut demander, je n'ai fait que reproduire ce qu'il a fait pour la version de mon EdgeRouter. Toutefois, j'ai généré le patch et je l'ai ajouté à mon post principal.

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 289
  • Antibes (06) / Mercury (73)
dhclient patché er-6p 2.0.8-hotfix1
« Réponse #3 le: 03 août 2020 à 07:17:54 »
Bizarre, le patch est quand même très similaire au mien (avec exactement les mêmes commentaires ;) ). Les modifications sont vraiment simples (et ne concernent pas que discover.c): Après avoir créé une socket, on configure sa priorité (SOL_PRIORITY) à 6, ce qui correspond à une priorité NOYAU. Ensuite, avec la ligne egress-qos de la configuration d’EdgeOS on mappe cette priorité noyau sur une priorité 802.1p.

Quand j’ai fait le patch, je ne me suis pas emmerdé à analyser à quels endroits les changements étaient nécessaires, je l’ai fait pour toutes les sockets sans distinction...

Bon sinon tu l’as généré à l’envers (il devrait y avoir des lignes débutant avec + car on rajoute de code au lieu de - qui indique qu’on supprime des lignes).

benoitc

  • Expert
  • Profil non complété
  • ***
  • Messages: 329
dhclient patché er-6p 2.0.8-hotfix1
« Réponse #4 le: 03 août 2020 à 10:20:32 »
Bizarre, le patch est quand même très similaire au mien (avec exactement les mêmes commentaires ;) ). Les modifications sont vraiment simples (et ne concernent pas que discover.c): Après avoir créé une socket, on configure sa priorité (SOL_PRIORITY) à 6, ce qui correspond à une priorité NOYAU. Ensuite, avec la ligne egress-qos de la configuration d’EdgeOS on mappe cette priorité noyau sur une priorité 802.1p.

Quand j’ai fait le patch, je ne me suis pas emmerdé à analyser à quels endroits les changements étaient nécessaires, je l’ai fait pour toutes les sockets sans distinction...

Bon sinon tu l’as généré à l’envers (il devrait y avoir des lignes débutant avec + car on rajoute de code au lieu de - qui indique qu’on supprime des lignes).


dans discover.c le suci du diff est cette ligne là:
@@ -454,6 +458,10 @@
  return 0;
  }
 
+        /* Set Kernel Priority to 6 */
+        int val = 6;
+        setsockopt(ifaces->sock, SOL_SOCKET, SO_PRIORITY, &val, sizeof(val));
+
 #ifdef DHCPv6
  if (local_family == AF_INET6) {
  ifaces->fp6 = fopen("/proc/net/if_inet6", "r");

qui a disparu. Quand tu dis " je ne me suis pas emmerdé à analyser à quels endroits les changements étaient nécessaires" c'est à dire à chaque fois qu'un nouveau socket est créte (appel à  socket()) ?
« Modifié: 03 août 2020 à 14:06:46 par benoitc »

benoitc

  • Expert
  • Profil non complété
  • ***
  • Messages: 329
dhclient patché er-6p 2.0.8-hotfix1
« Réponse #5 le: 03 août 2020 à 11:04:42 »
merci pour le patch. Je l'ai remis dans l'orde pour ceux que cela interesse:
« Modifié: 03 août 2020 à 13:01:59 par benoitc »

pinomat

  • Abonné Orange Fibre
  • *
  • Messages: 209
  • THIONVILLE 57
dhclient patché er-6p 2.0.8-hotfix1
« Réponse #6 le: 03 août 2020 à 13:51:31 »
Bizarre, le patch est quand même très similaire au mien (avec exactement les mêmes commentaires ;) ). Les modifications sont vraiment simples (et ne concernent pas que discover.c): Après avoir créé une socket, on configure sa priorité (SOL_PRIORITY) à 6, ce qui correspond à une priorité NOYAU. Ensuite, avec la ligne egress-qos de la configuration d’EdgeOS on mappe cette priorité noyau sur une priorité 802.1p.

J'ai corrigé mon post avec le lien vers ton patch 1.9.1, peut-être que tu es à l'origine de tous les patchs dhclient dispos sur le forum ^^ Perso, j'ai juste recherché/ajouté dans le code source de la 2.0.8 les fonctions où le SO_PRIORITY a été ajouté sur base des infos dans le fichier "patch". Il y a tellement d'info sur le forum, dur de s'y retrouver parfois ^^

J'ai retrouvé ton post et effectivement les patchs se ressemblent très fortement ! J'ai 2 différences :
1) Dans lpf.c, j'ai ajouté int val; qu'il n'y a ni dans ton patch ni celui de mike78530
2) Dans discover.c, il y a un set ton patch il n'y a pas la déclaration "int val" et il y a 1 setsockopt en plus

D'ailleurs, pour info, j'avais testé uniquement avec la correction du fichier lpf.c et c'était suffisant (mais je préfère le mettre partour, ca ne coute aps grand chose) :/

merci pour le patch. Je l'ai remis dans l'orde pour ceux que cela interesse:
--> J'ai corrigé mon fichier après la remarque de zoc, vous allez trop vite, j'ai pas le temps de répondre !!!

En passant, est-ce que tu as déjà rencontré le problème que je mentionne avec le dns forwarding (via DNS du DHCP Orange) ? Par contre, ce matin, je regarde mon fichier /etc/resolv.conf et les serveurs sont revenus ^^
cat /etc/resolv.conf
#line generated by /opt/vyatta/sbin/vyatta_update_resolv.pl
domain          home.loc
nameserver      81.253.149.13           #nameserver written by /opt/vyatta/sbin/vyatta_update_resolv.pl
nameserver      80.10.246.5             #nameserver written by /opt/vyatta/sbin/vyatta_update_resolv.pl

@zoc : merci encore pour tout le temps que tu consacres sur lafibre.info ! Parce que même si c'est simple, il faut prendre le temps pour analyser le code et tester après les builds.

benoitc

  • Expert
  • Profil non complété
  • ***
  • Messages: 329
dhclient patché er-6p 2.0.8-hotfix1
« Réponse #7 le: 03 août 2020 à 14:08:09 »

D'ailleurs, pour info, j'avais testé uniquement avec la correction du fichier lpf.c et c'était suffisant (mais je préfère le mettre partour, ca ne coute aps grand chose) :/
 --> J'ai corrigé mon fichier après la remarque de zoc, vous allez trop vite, j'ai pas le temps de répondre !!!


heh :) Pas de souci, merci pour ton patch cela a grandement aidé. Je n'ai pas regardé pour le dns, je vais checker. J'utilis eun autre dns par defaut aussi je n'ai pas fait attention ...

dmfr

  • Abonné Orange adsl
  • *
  • Messages: 275
dhclient patché er-6p 2.0.8-hotfix1
« Réponse #8 le: 03 août 2020 à 15:26:36 »
/etc/resolv.conf et les serveurs sont revenus ^^

J'avais remarqué un problème similaire lors du passage à dhclient pour l'IPv6 :
https://lafibre.info/remplacer-livebox/ubiquiti-er-ipv6-dhcp6-en-2-x/msg684705/#msg684705

dmfr

  • Abonné Orange adsl
  • *
  • Messages: 275
dhclient patché er-6p 2.0.8-hotfix1
« Réponse #9 le: 03 août 2020 à 15:36:38 »
Pour ma part, j'ai récemment compilé sous une VM QEMU en utilisant plus ou moins ce guide :
https://markuta.com/how-to-build-a-mips-qemu-image-on-debian/
(patch ci-joint, à jour pour 2.0.6)

En revanche, sur les connexions FTTH Orange de mon périmètre, j'ai récemment fait la migration inverse, c-a-d utiliser des switchs Cisco au lieu du client patché.

- je trouve cela plus propre, et cela garantit que l'IPv4 fonctionnera sans aucune manipulation post-upgrade.

- cela permet également de forcer le DSCP à 0x00 pour le trafic LAN ---> ROUTEUR, car il y a des baisses de débit si on envoie autre chose que cette prio :
https://lafibre.info/remplacer-livebox/ip-qos-sur-reseau-orange/

benoitc

  • Expert
  • Profil non complété
  • ***
  • Messages: 329
dhclient patché er-6p 2.0.8-hotfix1
« Réponse #10 le: 04 août 2020 à 15:14:54 »
En revanche, sur les connexions FTTH Orange de mon périmètre, j'ai récemment fait la migration inverse, c-a-d utiliser des switchs Cisco au lieu du client patché.

Tu en aurais un pas trop cher à conseiller?

dmfr

  • Abonné Orange adsl
  • *
  • Messages: 275
dhclient patché er-6p 2.0.8-hotfix1
« Réponse #11 le: 04 août 2020 à 16:54:03 »
Tu en aurais un pas trop cher à conseiller?
Du classique SG350-24/48(P)
Tonitrus a de bons prix, et en reconditionné on trouve parfois de bonnes affaires sur Ebay.
Après 24/48, PoE ou non, tout dépend de ce que tu veux en faire.

Par contre, de là à n'acheter un Cisco que pour cela, oui la question d'utiliser le client patché peut se poser :)