DHCP Reservation statica su Packetfence

E' possibile configurare staticamente una DHCP Reservation su Packetfence? Si, vediamo come.

Non è possibile configurare un’assegnazione dhcp statica (DHCP Reservation) usando l’interfaccia web di packetfence (la mia versione di packetfence è la 6.4.0), ma è possibile farlo editando i file di configurazione sul server.

Quello che vogliamo fare è assegnare sempre lo stesso IP ad un host tramite DHCP senza configurarlo manualmente sull’host, ovviamente conoscendo il mac address dell’host.

Per prima cosa verifichiamo o configuriamo il dhcp dalla web interface di Packetfence: Configuration > Interface and Network > qui definiamo routed network e il range di assegnazione DHCP dinamico.

dhcp packet fence

Nel nostro esempio la rete sarà 192.168.1.0/24 e il range del DHCP dinamico 192.168.1.100-200; in questo caso l’assegnazione statica di un IP tramite DHCP (Dhcp reservation) dovrà avvenire con un IP che sia all’interno della network ma all’eterno del range (per evitare sovrapposizioni).

Accedi in SSH al server di packetfence, la configurazione del DHCP si trova in questi due file:
/usr/local/pf/conf/dhcpd.conf -> template di configurazione
/usr/local/pf/var/conf/dhcpd.conf -> configurazione attualmente in uso

Dentro /usr/local/pf/var/conf/dhcpd.conf trovi la configurazione dhcp attualmente usata da packetfence ma NON devi editare questo file perchè packetfence lo sovrascrive ogni volta che viene riavviato il servizio dhcp prendendo le informazione dal “template” che si trova in /usr/local/pf/conf/dhcpd.conf e che richiama anche le configurazioni messe nella web interface; quindi praticamente, il tuo “DHCP Reservation” o “DHCP Static Binding” deve essere configurato qui

[ostrich@pfserver ~]# cat /usr/local/pf/conf/dhcpd.conf
# dhcpd configuration
# This file is manipulated on PacketFence's startup before being given to dhcpd
authoritative;
ddns-update-style none;
ignore client-updates;
log-facility local5;


# Captive-Portal DHCP option (RFC7710)
option captive-portal-rfc7710 code 160 = string;

#CONFIGURATION TAKEN FROM WEB INTERFACES
%%omapi%%

%%active%%

%%networks%%

%%parking%%

#MY CUSTOMIZATION
host static_01 {
hardware ethernet AA:11:BB:22:CC:33;
fixed-address 192.168.1.91;
}

host static_02 {
hardware ethernet AA:11:BB:22:CC:44;
fixed-address 192.168.1.92;
}

Ora riavvia il servizio dhcp

Dopo che hai riavviato il servizio dhcp, troverai la tua configurazione aggiornata nel file che contiene le configurazione in uso: /usr/local/pf/var/conf/dhcpd.conf

[ostrich@pfserver ~]# cat /usr/local/pf/var/conf/dhcpd.conf
# This file is generated from a template at /usr/local/pf/conf/dhcpd.conf
# Any changes made to this file will be lost on restart

# dhcpd configuration
# This file is manipulated on PacketFence's startup before being given to dhcpd
authoritative;
ddns-update-style none;
ignore client-updates;
log-facility local5;


# Captive-Portal DHCP option (RFC7710)
option captive-portal-rfc7710 code 160 = string;

# OMAPI for IP <-> MAC lookup
omapi-port 7911;
key pf_omapi_key {
algorithm HMAC-MD5;
secret "XXXXXXXXXXXXX";
};
omapi-key pf_omapi_key;

subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name "dhcp-pf.ostrich";
option domain-name-servers 8.8.8.8;
option captive-portal-rfc7710 "https://wifi.ostrich";
range 192.168.1.100 192.168.1.200;
default-lease-time 86400;
max-lease-time 86400;
}

# parking feature
group parking {
default-lease-time 3600;
max-lease-time 3600;
}

host static_01 {
hardware ethernet AA:11:BB:22:CC:33;
fixed-address 192.168.1.91;
}

host static_02 {
hardware ethernet AA:11:BB:22:CC:44;
fixed-address 192.168.1.92;
}