wiki/HowtoDHCP.md
2021-09-30 12:21:08 +02:00

115 lines
2.9 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.**
## Failover DHCP master/master
Ce mode permet à deux serveurs DHCP de fonctionner simultanément sur un même LAN.
Les leases dynamiques sont alors partagés entre les 2 serveurs et synchronisés via un échange réseau entre les serveurs. En cas de panne de l'un deux, l'autre prend alors à sa charge l'ensemble des leases.
Pour cela, il est nécessaire d'ajouter une section "failover" sur chacun des serveurs. Exemple :
Master :
~~~
failover peer "dhcp-failover" {
primary;
address 192.0.2.1;
peer address 192.0.2.2;
port 647;
peer port 647;
max-response-delay 30;
max-unacked-updates 10;
load balance max seconds 3;
split 128;
mclt 1800;
}
~~~
Slave :
~~~
failover peer "dhcp-failover" {
secondary;
address 192.0.2.2;
peer address 192.0.2.1;
port 647;
peer port 647;
max-response-delay 30;
max-unacked-updates 10;
load balance max seconds 3;
}
~~~
Il est également nécessaire d'englober la directive "range" et les sections "host" dans une section "pool", et l'on déclarera celle-ci en mode failover. Exemple :
~~~
subnet 192.0.2.0 netmask 255.255.0.0 {
option routers 192.2.0.254;
pool {
failover peer "dhcp-failover";
range 192.0.2.100 192.0.2.200;
host host1 {
hardware ethernet 08:00:1f:82:7a:72;
fixed-address 192.0.2.4
}
[...]
}
~~~
## Leases, adresses IP et adresses MAC
Les leases sont les distributions d'IP aux clients.
Le serveur DHCP les stocke dans `/var/db/dhcpd.leases`.
### Lister et compter les IP attribuées par DHCPD
~~~
awk -F" " '/lease/{print$2}' /var/db/dhcpd.leases | sort -V | uniq
awk -F" " '/lease/{print$2}' /var/db/dhcpd.leases | sort -V | uniq | wc -l
~~~
### Lister les adresses MAC par nombre de leases
~~~
grep hardware /var/db/dhcpd.leases | sort | uniq -c | sort -hr
~~~
Attention, le nombre de leases n'est pas égal au nombre d'IPs attribuées !
## Divers
### Redémarrage sous OpenBSD
Un SIGHUP ne semble pas fonctionner pour appliquer les changements de la configuration.
Il est donc conseillé de l'arrêter et de le relancer.
~~~
ps aux | grep dhcpd
kill -15 PID_DU_PROCESSUS
~~~
Puis relancer le processus comme il était lancé, exemple :
~~~
/usr/sbin/dhcpd bnx0
~~~
## FAQ
### Abandonned leases
Si le serveur DHCP n'arrive plus à attribuer d'adresses IP et log `no free leases on subnet`, il se peut que le liste des baux DHCP attribués par le serveur (`/var/db/dhcpd.leases`) soit plein d'IP `abandonned`.
Cela signifie que le serveur considère cette IP comme déjà utilisée et ne l'attribuera, pas à moins qu'il soit à court d'IP disponibles, auquel cas il revérifiera quand même que l'IP n'est pas toujours utilisée, ce qui pourrait tout de même empêcher son attribution.