wiki:dhcp

DHCP

Ressources utiles:

  • test simple, comme un client standard: dhclient -d -1 -pf /dev/null -lf /dev/null -sf /usr/bin/env <interface>
  • test en changeant les options demandée:
    • d'abord créer un fichier de conf basé sur /etc/dhcp/dhclient.conf
    • puis lancer dhclient -d -1 -pf /dev/null -lf /dev/null -sf /usr/bin/env -cf <mon_dhclient.conf> <interface>

Exemple de fichier dhclient.conf:

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

# definition d'une encapsulation                                                                                                            
option space Connexio-all;
option Connexio-all.contact-rcs code 3 = boolean;
option Connexio-all.cfg-server-address code 2 = string;
# redefinition de vendor-encapsulated-options avec celle definit ci dessus                                                                  
option vendor-encapsulated-options code 43 = encapsulate Connexio-all;

option vlan-id code 132 = unsigned integer 16;

send host-name = gethostname();
# se faire passer pour un telephone VoIP
send vendor-class-identifier = "AastraIPPhone";

# soit ne rien demander de particulier (request;)
#request;
# soit demander specifiquement les options suivantes (les options non demandees risque d'etre ignoree par le serveur)
request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, domain-search, host-name,
        dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
        netbios-name-servers, netbios-scope, interface-mtu,
        rfc3442-classless-static-routes, ntp-servers,
        vlan-id,
        vendor-encapsulated-options;
# pour alleger l'appel a dhclient (on peut enlever le -sf /usr/bin/env si on definit la ligne suivante)
script "/usr/bin/env";
  • reconnaitre les hotes:
    • sur l'adresse mac: dhcp-mac=set:ip_phone,00:08:5d:*:*:*
    • sur la vendor-class: dhcp-vendorclass=set:ip_phone,AastraIPPhone
  • appliquer une option dhcp en fonction d'une etiquette:
    • avec le numero: dhcp-option=tag:ip_phone,132,103
    • avec le nom de l'option: dhcp-option=tag:ip_phone,option:tftp-server,1.2.3.4
  • options encapsulées:
    • cas particulier de l'option 43 vendor-encapsulated-options: dhcp-option=vendor:AastraIPPhone,3,0 → option 43, sous option 3 valeur 0 seulement pour les client avec un vendorclass (option 60) contenant la chaine “AastraIPPhone”
    • cas générique: dhcp-option=encap:43,3,0 → option 43, sous option 3, valeur 0 pour tout le monde (on peut preciser une autre option que 43)
    • cas generique + tag: equivalent de vendor:: dhcp-option=tag:ip_phone,encap:43,3,0 → meme chose qu'au dessus mais seulement pour les tag ip_phone c'est a dire ceux dont le vendroclass contient “AastraIPPhone”

Ça marche assez mal avec les Livebox et certains autres routeurs. Voir cet article de ~xor sur le sujet.

Tout est documenté ici sur le wiki Debian.

Dans certains cas, on pas envie de voir resolvconf installé avec dibbler-client. Vérifier éventuellement que ce n’est pas le cas.

  1. Installer sur le routeur qui a besoin d’obtenir une délégation le logiciel dibbler-client : Sous Debian, utiliser la commande apt install dibbler-client
  2. Mettre une configuration similaire à celle là (en adaptant au besoin) :
Niveau de log : info 
log-level 7

# Interface descendante à configurer
downlink-prefix-ifaces lan

iface wan {
     # Demande de préfixe (PD)
     pd {
         # Une semaine
         t1 864000
         # Deux semaines
         t2 1209600
     }
}
  • wiki/dhcp.txt
  • Dernière modification : 25/06/2024 10:46
  • de camille.dehecq-vinchon