Auteur Sujet: [Résolu] Renouvellement DHCP  (Lu 20979 fois)

0 Membres et 1 Invité sur ce sujet

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 283
  • Antibes (06) / Mercury (73)
Renouvellement DHCP
« Réponse #12 le: 24 février 2017 à 16:32:36 »
Bon sinon, changer les priorités d'IGMP et d'ICMP c'est bien pour simuler au mieux ce que fait la box, mais en pratique ce n'est pas nécessaire, même dans les zones où il faut la CoS à 6 pour DHCP...

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 091
  • Paris (75)
Renouvellement DHCP
« Réponse #13 le: 24 février 2017 à 18:13:44 »
tout a fais. d'ailleurs si on regarde la livebox, pour igmp c'est prio 4 et pas 6.

j'avais rassemblé toutes les CoS emises par une Livebox ici: https://docs.google.com/spreadsheets/d/1Toh7a3wyXfH2NscAvhgxOJk1JEEBd6PwfmO003xRDo0/edit?usp=sharing
(hors icmp v4)

pour le vlan 832, en pratique, il semblerai que seuls DHCP et DHCPv6 soit nécessaires.

xavierg

  • Abonné Orange Fibre
  • *
  • Messages: 96
Renouvellement DHCP
« Réponse #14 le: 25 février 2017 à 12:51:47 »
Hmm, dans ce cas, je vais alléger mes règles mangle. Mon but est d'avoir une connexion fonctionnelle, pas d'avoir un succédané de LiveBox :') Et puis, bon, mon trafic, ce doit être 99.9% d'UDP, 0.05% de SMTP et 0.05% de DHCP, le tout over IPv4 uniquement... IGMP ne me sert clairement à rien. ICMP est utile pour du troubleshooting de temps en temps, mais sa priorité ne semble en effet pas impacter. Encore merci pour vos conseils, je vais marquer ce post en "résolu".
« Modifié: 05 juillet 2017 à 12:37:41 par xavierg »

cetipabo

  • Invité
Renouvellement DHCP
« Réponse #15 le: 05 juillet 2017 à 11:07:56 »
Du coup, actuellement, il ne me reste que des DHCPREQUEST vers 192.168.3.254 en boucle toutes les 15 secondes, et qui sortent par la route par défaut... Moche, mais je ne m'en préoccupe pas trop pour l'instant. Il faudra que j'essaye de modifier ma conf. pour ignorer le dhcp-server-identifier sur le VLAN 838...

Bonjour,
désolé de déterrer le topic, mais j'ai le même souci sur mon Draytek ici:
https://lafibre.info/remplacer-livebox/tv-orange-vdls2-avec-modem-routeur-draytek-vigor-2860/msg455950/#msg455950
Donc on ne doit pas tenir compte de ces requetes DHCP ?

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 283
  • Antibes (06) / Mercury (73)
[Résolu] Renouvellement DHCP
« Réponse #16 le: 13 juillet 2017 à 19:03:47 »
En pratique on s'en moque, elles sortent sur le WAN à destination d'une IP privée et aucune machine n'y répondra jamais...

Par ailleurs je ne sais pas ce que j'ai modifié chez moi, mais en fait je ne les vois même plus...

cyayon

  • Abonné Orange Fibre
  • *
  • Messages: 648
  • Cordon 74 - Orange Fibre Pro
[Résolu] Renouvellement DHCP
« Réponse #17 le: 21 septembre 2020 à 09:41:25 »
Bonjour à tous,

Moi aussi je suis dans le même cas avec des DHCPREQUEST a répétition.

Je suis dans un cas un peu particulier car je fais du multiwan VDSL. J'ai 1 ligne Free et 1 ligne Orange Pro avec IP fixe.

Je n'utilise pas la TV et donc je n'ai pas défini le VLAN 838, uniquement 832.

Mon serveur DHCP est également 80.10.247.48. Pour solutionner les DHCPREQUEST sans fin, il a été nécessaire d'ajouter une route 80.10.247.48 via <ma_gw_orange> dev <mon_iface_orange>.
Dés que j'ai cela, les DHCPREQUEST semble s'être arrêter immediatement. Si je retire la route, les DHCPREQUEST s'arrêtent.
Pour tester et éviter d'attendre l'expiration du bail j'ai supersede dhcp-renewal-time dhcp-rebinding-time et dhcp-lease-time avec des petites valeurs (30, 60 et 90 respectivement) pour pouvoir débugger.
Je n'ai pas eu besoin d'utiliser les rêgles iptables mangle, d'ailleurs quand je les ajoute, ca ne solutionne rien, seule la route vers 80.10.247.48 résout le problème.

Ma problématique est dans le fait que j'ai résiliser ma ligne Free et la remplacer par une ligne Orange Pro avec IP fixe également (donc une seconde).
Le problème c'est que du coup, je ne vais pouvoir ajouter une seconde route vers 80.10.247.48 et une autre interface. Le serveur DHCP 80.10.247.48  semble être le même pour tout le monde.

Comment faire pour éviter les DHCPREQUEST sur cette seconde ligne d'après vous ?
J'ai pensé contourner le problème avec des supersede dhcp-renewal-time dhcp-rebinding-time et dhcp-lease-time en infinite (quelle valeur ? 0 ?), car étant en IP fixe, je ne devrais pas avoir besoin de renouveler l'IP non ? Mais c'est pas forcément une bonne idée...

Merci pour vos lumières ... :)




jeremyp3

  • Abonné Orange Fibre
  • *
  • Messages: 717
  • Pau (64)
[Résolu] Renouvellement DHCP
« Réponse #18 le: 21 septembre 2020 à 10:49:18 »
bonjour,

J'ai pensé contourner le problème avec des supersede dhcp-renewal-time dhcp-rebinding-time et dhcp-lease-time en infinite (quelle valeur ? 0 ?),

ça, ça ne fonctionnera jamais sur la durée. même si ton ip est fixe, pour ouvrir l'accès, orange a besoin que tu dise qui tu es périodiquement, afin de ne pas fermer la route vers toi. (je simplifie volontairement)

cyayon

  • Abonné Orange Fibre
  • *
  • Messages: 648
  • Cordon 74 - Orange Fibre Pro
[Résolu] Renouvellement DHCP
« Réponse #19 le: 21 septembre 2020 à 10:51:02 »
Ok, je m'en doutais, merci pour la confirmation. Du coup, pas d'autre idée ?

jeremyp3

  • Abonné Orange Fibre
  • *
  • Messages: 717
  • Pau (64)
[Résolu] Renouvellement DHCP
« Réponse #20 le: 21 septembre 2020 à 11:06:37 »
hello,

je pense qu'il y aurait moyen avec iptables mais là comme ça j'ai pas de solution toute prète :(

Jerem

xavierg

  • Abonné Orange Fibre
  • *
  • Messages: 96
[Résolu] Renouvellement DHCP
« Réponse #21 le: 21 septembre 2020 à 21:33:06 »
Hello,

Tu n'as pas précisé tes contraintes de déploiement (c'est quoi ton routeur, hardware, kernel, distribution, ce que tu peux configurer, ce que tu es prêt à configurer, etc.) du coup c'est un peu difficile de te répondre.
Comme ça parle de supersede (=isc-dhcp-client) à droite et d'iptables à gauche, je vais imaginer que tu as un isc-dhcp-client sur un Linux quelconque, sur lequel tu peux facilement ajouter de nouveaux outils en userland mais pas forcément passer sur un nouveau kernel.

Petit enfonçage de porte ouverte : la route <dhcp_server_ip> via <ma_gw_orange> dev <mon_iface_orange> est idéalement à ajouter dynamiquement via un hook DHCP.
Si tu as deux connexions séparées sur deux interfaces séparées avec un dhclient chacune, je vois deux grandes approches.

Approche 1 : séparation par utilisateur Unix :
1 tu t'arranges pour que le dhclient pour ton interface orange0 tourne avec un utilisateur différent du dhclient pour ton interface orange1
2a si ton kernel est un peu vieux :
2a.1 tu joues avec iptables -m owner --uid-owner pour mark-er les paquets qui t'intéressent
2a.2 tu joues avec ip rule et fwmark pour que chaque client DHCP ait sa propre table de routage. Note : c'est généralement assez chiant car il faut parfois prendre en compte les subtilités du genre "est-ce que au sein du kernel, le socket est toujours associé à un pid et donc à un couple uid/gid ou est-ce que le processus a close() et est mort depuis longtemps ?" ainsi que "fwmark, connmark, ou les deux ?"
2b si ton kernel est assez récent : tu joues avec ip rule et uidrange, c'est normalement beaucoup, beaucoup moins chiant.

Approche 2 : séparation par network namespace :
L'idée serait de faire tourner tes dhclients dans des network namespaces à part, dans lesquels tu déplacerais tes interfaces physiques, un peu comme si tu décidais d'avoir deux containers router0 et router1 mais avec juste le strict minimum. C'est élégant mais ça peut devenir compliqué parce que :
- une interface ne peut appartenir qu'à un seul network namespace
- un processus ne peut appartenir qu'à un seul network namespace (attention au monitoring)
Au final, cette technique implique de construire, au boot de ton routeur, un ou deux network namespaces, d'y assigner, activer et configurer toutes les interfaces réseau qui vont bien (tes interfaces physiques mais aussi la boucle locale et probablement des interfaces virtuelles), d'y ajouter les routes et iptables adéquates et enfin d'y lancer tes dhclients.
C'est fatigant. Mais c'est une solution.

 

cyayon

  • Abonné Orange Fibre
  • *
  • Messages: 648
  • Cordon 74 - Orange Fibre Pro
[Résolu] Renouvellement DHCP
« Réponse #22 le: 22 septembre 2020 à 09:55:59 »
Salut,

Merci bcp pour ta réponse très complète !
Effectivement, mon routeur/firewall est un Linux standard (Archlinux) très récent (rolling release).
J'utilise en effet dhclient (ISC) pour mes interfaces orange, j'ai 2 daemons (ipv4 et ipv6) par interface (orange1 et orange2).

En, fait j'ai 3 liaisons internet (2 orange VDSL et 1 Bouygues 4GBox). Sur chaque interfaces physiques, j'ai également un VPN, ce qui fait au total 6 interfaces WAN. Ce qui me permet du faire du load balancing, soit sur des liaisons WAN physiques (mes ISPs), soit sur des liaisons VPN, en fonction de différents critères. En ipv4 et ipv6.

Pour faire tout cela, j'utilise nftables (+mangle, je viens juste de migrer d'iptables), ip rule (+fwmark), et ip route table (une table par interface).
J'ai développé un petit daemon qui monitor tout ça et qui modifie dynamiquement les rêgles netfilter mangle, les rule et tables de routage en fonction du status des interfaces.

Tes propositions 2a.2 et 2b semblent être les plus naturelles dans mon cas. J'ai une préférence pour la 2b, mais je ne comprends pas bien comment faire.
Voici mes rules, les tables 100/101 et 200/201 correspondent à mes 2 interfaces orange (orange1 100/101 et orange2 200/201) :

# ip rule show
0:      from all lookup local
100:    from 83.xx.xx.xx lookup 100
101:    from all fwmark 0x100 lookup 100
200:    from 82.xx.xx.xx lookup 200
201:    from all fwmark 0x200 lookup 200
300:    from 192.168.4.254 lookup 300
301:    from all fwmark 0x300 lookup 300
500:    from 192.168.251.2 lookup 500
501:    from all fwmark 0x500 lookup 500
600:    from 10.4.115.241 lookup 600
601:    from all fwmark 0x600 lookup 600
700:    from 10.2.22.240 lookup 700
701:    from all fwmark 0x700 lookup 700
900:    from 10.0.49.21 lookup 900
901:    from all fwmark 0x900 lookup 900
32766:  from all lookup main
32767:  from all lookup default

# ip route show table 100
default via 83.xx.xx.xx dev orange1
10.0.49.0/24 dev tun3 scope link src 10.0.49.21
10.2.22.0/24 dev tun5 scope link src 10.2.22.240
83.xx.xx.0/25 dev orange1 proto kernel scope link src 83.xx.xx.xx
192.168.2.0/24 dev wan2 proto kernel scope link src 192.168.2.254
192.168.3.0/24 dev wan1 proto kernel scope link src 192.168.3.254
192.168.4.0/24 dev wan3 proto kernel scope link src 192.168.4.254
192.168.42.0/24 dev lan proto kernel scope link src 192.168.42.254
192.168.43.0/24 dev tun0 proto kernel scope link src 192.168.43.1
192.168.46.0/24 dev tun2 proto kernel scope link src 192.168.46.2
192.168.48.0/24 dev tun1 proto kernel scope link src 192.168.48.1
192.168.251.0/30 dev beta0 scope link src 192.168.251.2

# ip route show table 200
default via 82.xx.xx.xx dev orange2
10.0.49.0/24 dev tun3 scope link src 10.0.49.21
10.2.22.0/24 dev tun5 scope link src 10.2.22.240
82.xx.xx.0/25 dev orange2 proto kernel scope link src 82.xx.xx.xx
192.168.2.0/24 dev wan2 proto kernel scope link src 192.168.2.254
192.168.3.0/24 dev wan1 proto kernel scope link src 192.168.3.254
192.168.4.0/24 dev wan3 proto kernel scope link src 192.168.4.254
192.168.42.0/24 dev lan proto kernel scope link src 192.168.42.254
192.168.43.0/24 dev tun0 proto kernel scope link src 192.168.43.1
192.168.46.0/24 dev tun2 proto kernel scope link src 192.168.46.2
192.168.48.0/24 dev tun1 proto kernel scope link src 192.168.48.1
192.168.251.0/30 dev beta0 scope link src 192.168.251.2


Si je retire la route vers le serveur DHCP orange 80.10.247.48 de ma table de routage principale, aujourd'hui j'ai : 80.10.247.48 via 82.127.187.1 dev orange2.
Ne puis-je pas simplement ajouter cette route pour les tables de routage 100 et 200 ? ip route add 80.10.247.48 via 82.127.187.1 dev orange1 ; ip route add 80.10.247.48 via 82.127.187.1 dev orange2 ?


Sinon, Admettons que dhclient1 (orange1) tourne sous le user orange1 (uid 100) et dhclient2 (uid 200) tourne sous le user orange2.
1. j'ajoute ces routes que je disais juste avant :
ip route add 80.10.247.48 via 83.xx.xx.1 dev orange1
ip route add 80.10.247.48 via 82.xx.xx.1 dev orange2
2. J'ajoute ces rules :
ip rule add uidrange 100 lookup 100
ip rule add uidrange 200 lookup 200

Ou bien dois-je faire autre chose du coté de nftables/iptables en PRE/POSTROUTING ?

Merci bcp.

xavierg

  • Abonné Orange Fibre
  • *
  • Messages: 96
[Résolu] Renouvellement DHCP
« Réponse #23 le: 22 septembre 2020 à 14:46:31 »
Ah ben c'est nickel, tu joues DÉJÀ avec ip rule et des tables de routage séparées.

Ne puis-je pas simplement ajouter cette route pour les tables de routage 100 et 200 ?
Oui, bien sûr, c'est bien l'idée.

2. J'ajoute ces rules :
ip rule add uidrange 100 lookup 100
ip rule add uidrange 200 lookup 200
Oui, c'est bien ce que j'avais en tête dans la variante b de mon approche 1.

Ou bien dois-je faire autre chose du coté de nftables/iptables en PRE/POSTROUTING ?
Normalement non. Si on reprend le packet flow de Netfilter :
https://upload.wikimedia.org/wikipedia/commons/thumb/3/37/Netfilter-packet-flow.svg/2560px-Netfilter-packet-flow.svg.png
... uidrange a justement pour vocation de choisir la bonne route en fonction de l'uid dès l'étape de "routing decision" plutôt que de s'emmerder à changer de route (au risque d'embarquer une IP source incohérente) à l'étape "reroute check", ce qui élimine normalement tout besoin d'intervenir au niveau "postrouting".
Cela dit, de par la variété possible des configurations réseau...Your Mileage May Vary ©