πŸ“‘ Configurazione DHCP Server

Assegnazione Automatica IP, Static Mappings e Opzioni Avanzate

Capitolo 5 di 11

πŸ“‘ Cos'Γ¨ il DHCP?

Il DHCP (Dynamic Host Configuration Protocol) Γ¨ un protocollo di rete che permette ai dispositivi di ottenere automaticamente un indirizzo IP e altre configurazioni di rete senza doverle inserire manualmente. pfSense include un server DHCP completo basato su ISC DHCP, lo stesso usato in ambienti enterprise.

🎯 Vantaggi del DHCP

⚑

Configurazione Automatica

I client ricevono IP, gateway, DNS senza intervento manuale

πŸ”„

Gestione Centralizzata

Modifica configurazione in un solo punto per tutta la rete

♻️

Riuso Indirizzi

Gli IP vengono riassegnati quando i dispositivi si disconnettono

πŸ“Š

Tracking Dispositivi

VisibilitΓ  su tutti i dispositivi connessi alla rete

πŸ”„ Come Funziona il DHCP

Il processo DHCP si basa su uno scambio di 4 messaggi chiamato DORA:

1. DISCOVER (Client β†’ Broadcast)
   Client: "Ho bisogno di un IP! C'Γ¨ un server DHCP nella rete?"
   Inviato a: 255.255.255.255 (broadcast)
   
2. OFFER (Server β†’ Client)
   Server DHCP: "Ti offro l'IP 192.168.1.100 con questi parametri..."
   Include: IP proposto, subnet mask, gateway, DNS, lease time
   
3. REQUEST (Client β†’ Server)
   Client: "Accetto l'IP 192.168.1.100, confermami l'assegnazione"
   
4. ACK (Server β†’ Client)
   Server: "Confermato! L'IP 192.168.1.100 Γ¨ tuo per le prossime 24 ore"
   
Risultato:
βœ… Client configurato con:
   - IP: 192.168.1.100
   - Subnet Mask: 255.255.255.0
   - Gateway: 192.168.1.1 (pfSense)
   - DNS: 192.168.1.1 (pfSense)
   - Lease time: 86400 secondi (24 ore)

πŸ’‘ Lease Time (Tempo di Leasing)

Il lease time Γ¨ il periodo per cui l'IP Γ¨ assegnato al client. Scaduto questo tempo, il client deve rinnovare il lease (richiesta automatica) oppure l'IP torna disponibile per altri dispositivi.

  • Lease brevi (1-2 ore): WiFi pubblico, reti con molti dispositivi temporanei
  • Lease medi (12-24 ore): Uffici, scuole - default consigliato
  • Lease lunghi (7 giorni): Reti stabili, pochi dispositivi

βš™οΈ Configurazione DHCP Server su pfSense

pfSense puΓ² eseguire un server DHCP separato per ogni interfaccia configurata (LAN, DMZ, OPT, ecc.). Configuriamo il DHCP sulla LAN step-by-step.

  1. Accedi alla configurazione DHCP
    Vai in Services β†’ DHCP Server β†’ LAN
    Nota: Vedrai una tab per ogni interfaccia (LAN, DMZ, OPT1, ecc.)
  2. Abilita il server DHCP
    β˜‘ Enable DHCP server on LAN interface
    Di default Γ¨ giΓ  abilitato su LAN dopo l'installazione
  3. Configura il range di indirizzi
    Subnet: 192.168.1.0
    Subnet mask: 255.255.255.0
    Available range: 192.168.1.1 - 192.168.1.254
    (L'IP .1 Γ¨ occupato da pfSense come gateway)
    
    Range:
    From: 192.168.1.100
    To:   192.168.1.200
    
    Spiegazione:
    - 192.168.1.1-99:   Riservati per IP statici (server, stampanti, AP)
    - 192.168.1.100-200: Pool DHCP (101 IP disponibili)
    - 192.168.1.201-254: Riservati per futuri usi
    
    Consigli dimensionamento:
    - Piccolo ufficio (20 dispositivi): Range 100-150 (50 IP)
    - Ufficio medio (50 dispositivi): Range 100-200 (100 IP)
    - Grande ufficio (100+ dispositivi): Range 100-250 (150 IP)
  4. Configura gateway e DNS
    Gateway: (lascia vuoto - usa IP interfaccia automaticamente)
    Default: 192.168.1.1 (IP di pfSense sulla LAN)
    
    Domain name: azienda.local
    (Dominio locale per risoluzione nomi interni)
    
    Domain search list: (opzionale)
    azienda.local, ufficio.azienda.local
    (Suffissi DNS per ricerche)
    
    DNS servers:
    (Lascia vuoto per usare pfSense come DNS)
    Alternative: 8.8.8.8, 1.1.1.1 se vuoi DNS pubblici diretti
    
    Consiglio: Lascia vuoto DNS per usare DNS Resolver di pfSense
    (maggior controllo, cache locale, filtering possibile)
  5. Configura tempi di lease
    Default lease time: 86400 (secondi)
    = 24 ore (valore predefinito e consigliato)
    
    Maximum lease time: 86400
    = 24 ore (uguale al default in questo caso)
    
    Calcolo rapido lease:
    1 ora   = 3600 secondi
    12 ore  = 43200 secondi
    24 ore  = 86400 secondi
    7 giorni = 604800 secondi
  6. Opzioni avanzate (opzionali)
    Scroll down per vedere opzioni aggiuntive:
    • Failover peer IP: IP di un secondo server DHCP per alta disponibilitΓ 
    • Static ARP: Crea entry ARP statiche (previene ARP spoofing)
    • Time format change: Notifica client cambio ora legale
    • Statistics graphs: Abilita grafici utilizzo DHCP
  7. DHCP Options (Opzioni Extra)
    Puoi configurare opzioni DHCP custom:
    Opzioni comuni:
    
    Option 42 - NTP servers:
       time.google.com (server orario per sync automatica)
    
    Option 66 - TFTP server:
       192.168.1.10 (per boot PXE, telefoni VoIP)
    
    Option 119 - Domain search:
       azienda.local (suffisso ricerca DNS)
    
    Option 252 - WPAD URL:
       http://proxy.azienda.local/wpad.dat (proxy auto-config)
  8. Salva configurazione
    Scroll down β†’ Save
    Il server DHCP si riavvia automaticamente (pochi secondi)
    βœ… DHCP attivo e operativo!

πŸŽ₯ Video Tutorial: Configurazione DHCP Server

Guarda questo video completo sulla configurazione del DHCP server in pfSense.

▢️ Guarda: DHCP Server pfSense

πŸ“Š Monitoraggio DHCP Leases

Dopo aver abilitato il DHCP, puoi monitorare quali dispositivi hanno ottenuto indirizzi IP.

DHCP Leases attivi

Visualizzazione dei lease DHCP attivi con MAC address, hostname, IP assegnato e tempo rimanente

πŸ” Visualizzare Leases Attivi

  1. Accedi alla pagina leases
    Vai in Status β†’ DHCP Leases
  2. Informazioni visualizzate
    Per ogni lease vedrai:
    IP Address: 192.168.1.125
    MAC Address: 00:1a:2b:3c:4d:5e
    Hostname: laptop-mario (se fornito dal client)
    Description: (puoi aggiungere nota manuale)
    Start: 2025-01-03 10:30:15
    End: 2025-01-04 10:30:15
    Online: βœ… (icona verde se attivo)
    Lease Type: Dynamic / Static
  3. Azioni disponibili
    Per ogni lease puoi:
    • ✏️ Edit: Aggiungi descrizione manuale
    • βž• Add Static Mapping: Converti in IP fisso (static mapping)
    • πŸ” View ARP: Vedi entry ARP associata
    • ⏹️ Delete: Rilascia lease manualmente
  4. Filtri e ricerca
    Show: All leases / Active / Static / Offline / Expired
    
    Search: Cerca per IP, MAC, hostname
    
    Per Interface: Filtra per LAN, DMZ, OPT1, etc.
    
    Export: Scarica lista in CSV per analisi esterna

πŸ’‘ Interpretare lo Stato dei Leases

  • 🟒 Online + Active: Dispositivo attualmente connesso e con lease valido
  • 🟑 Offline + Active: Lease valido ma dispositivo non risponde (spento/disconnesso)
  • πŸ”΄ Expired: Lease scaduto, IP disponibile per riassegnazione
  • πŸ“Œ Static: IP assegnato permanentemente (static mapping)

πŸ“Œ Static Mappings (Prenotazioni DHCP)

Le Static Mappings (o DHCP Reservations) permettono di assegnare sempre lo stesso IP a un dispositivo specifico identificato dal suo MAC address. Essenziale per server, stampanti, AP, telecamere IP, NAS, ecc.

🎯 Quando Usare Static Mappings

Dispositivo Motivo Esempio
Server Altri dispositivi devono conoscere l'IP fisso File server, mail server
Stampanti Driver configurati con IP statico Stampanti di rete
Access Point Management centralizzato WiFi controller
Telecamere IP Software videosorveglianza usa IP fisso NVR systems
NAS Share di rete mappati per IP Synology, QNAP
VoIP Phones PBX configurato per IP specifici Telefoni Yealink, Cisco
DHCP Static Mapping

Configurazione di una prenotazione DHCP statica con MAC address e IP fisso

πŸ“ Creare Static Mapping

  1. Identifica il MAC address
    Opzione A: Guarda in Status β†’ DHCP Leases β†’ copia MAC del dispositivo
    Opzione B: Sul dispositivo stesso:
    # Windows
    ipconfig /all
      β†’ Cerca "Indirizzo fisico" o "Physical Address"
    
    # Linux/macOS
    ip addr show
      β†’ Cerca "link/ether"
    
    # Esempio MAC: 00:1a:2b:3c:4d:5e
  2. Accedi a DHCP Static Mappings
    Vai in Services β†’ DHCP Server β†’ LAN
    Scroll down fino a DHCP Static Mappings for this Interface
  3. Aggiungi nuovo mapping
    Clicca ↑ Add (in alto nella tabella mappings)
  4. Configura static mapping
    MAC Address: 00:1a:2b:3c:4d:5e
    (Formato: xx:xx:xx:xx:xx:xx - case insensitive)
    
    Client Identifier: (lascia vuoto)
    (Solo per client che usano client-id invece di MAC)
    
    IP Address: 192.168.1.50
    (DEVE essere FUORI dal range DHCP dinamico!)
    
    Hostname: stampante-ufficio
    (Opzionale - apparirΓ  nei DNS se hai DNS Resolver attivo)
    
    Description: Stampante HP LaserJet Ufficio 1Β° Piano
    (Descrizione dettagliata per identificazione futura)
    
    ARP Table Static Entry: ☐ (opzionale)
    (Crea entry ARP statica - previene ARP spoofing)
    
    DHCP Options: (opzionali)
    Puoi configurare opzioni specifiche solo per questo client
  5. Salva
    Clicca Save β†’ Torna alla pagina DHCP Server
    Scroll down β†’ Save (conferma finale)
    βœ… Static mapping attivo!
  6. Rinnova IP sul client
    Per applicare immediatamente la reservation:
    # Windows
    ipconfig /release
    ipconfig /renew
    
    # Linux
    sudo dhclient -r
    sudo dhclient
    
    # macOS
    sudo ipconfig set en0 DHCP
    (en0 = interfaccia di rete, varia)
    
    Il dispositivo ora riceverΓ  l'IP statico configurato!

⚠️ Errori Comuni Static Mappings

  • ❌ IP dentro range DHCP: L'IP statico DEVE essere fuori dal range dinamico (es: se range Γ¨ 100-200, usa 1-99 o 201-254)
  • ❌ Duplicati IP: Non assegnare lo stesso IP a due dispositivi diversi
  • ❌ MAC errato: Controlla bene il MAC address (typo comuni: 0/O, 1/l/I)
  • ❌ Client non rilascia: Alcuni device tengono vecchio IP in cache - riavvia device

πŸ”§ Opzioni DHCP Avanzate

pfSense supporta tutte le opzioni DHCP standard (RFC 2132) piΓΉ opzioni vendor-specific. Ecco le piΓΉ utili:

πŸ“‹ Opzioni DHCP Comuni

Opzione Nome Descrizione Esempio Valore
3 Router (Gateway) Default gateway 192.168.1.1
6 DNS Servers Server DNS 8.8.8.8, 1.1.1.1
15 Domain Name Dominio locale azienda.local
42 NTP Servers Server orario time.google.com
66 TFTP Server Boot PXE, phone config 192.168.1.10
67 Bootfile Name File boot PXE pxelinux.0
119 Domain Search Lista domini ricerca azienda.local, corp.local
150 TFTP Server (Cisco) Alternativa opzione 66 192.168.1.10
252 WPAD URL Proxy auto-config http://proxy/wpad.dat

πŸ“± Esempio: Configurare NTP per Tutti i Client

Configuriamo l'opzione NTP per sincronizzare automaticamente l'orario di tutti i dispositivi:

  1. Vai in Additional DHCP Options
    Services β†’ DHCP Server β†’ LAN
    Scroll down a Additional BOOTP/DHCP Options
  2. Aggiungi opzione NTP
    Clicca Add
    Number: 42
    Type: IP Address or Host
    Value: time.google.com
    
    Alternative:
    - pool.ntp.org (pool pubblico)
    - 192.168.1.1 (pfSense stesso se hai NTP server configurato)
    - time.windows.com (per ambienti Windows)
  3. Salva
    Save β†’ Ora tutti i client riceveranno automaticamente il server NTP!

☎️ Esempio: Configurare DHCP per Telefoni VoIP

I telefoni VoIP spesso richiedono opzioni DHCP specifiche per ottenere configurazione da un server TFTP:

Services β†’ DHCP Server β†’ LAN β†’ Additional Options

Opzione 66 - TFTP Server:
Number: 66
Type: String
Value: 192.168.1.50
(IP del tuo server telefonico/PBX)

Opzione 150 - TFTP Server (Cisco):
Number: 150
Type: IP Address or Host
Value: 192.168.1.50
(Alcuni telefoni Cisco usano opzione 150 invece di 66)

Opzione 160 - HTTP Server (Yealink):
Number: 160
Type: String
Value: http://192.168.1.50/config/{mac}.cfg
(Per telefoni Yealink che usano HTTP provisioning)

Risultato:
I telefoni VoIP si auto-configurano scaricando config dal server!

πŸ’‘ DHCP Options per Vendor Specifici

Diversi produttori richiedono opzioni specifiche:

  • Cisco Phones: Opzione 150 (TFTP)
  • Yealink Phones: Opzione 66 o 160 (HTTP)
  • Polycom Phones: Opzione 66 (TFTP)
  • Windows Deployment: Opzione 60 (PXEClient), 66, 67
  • Proxy Auto-Config: Opzione 252 (WPAD)

Consulta sempre la documentazione del vendor per opzioni esatte!

πŸ”„ DHCP Relay

Il DHCP Relay (o DHCP Helper) permette di inoltrare richieste DHCP da una subnet a un server DHCP su un'altra subnet. Utile quando hai un server DHCP centralizzato che serve multiple VLAN/subnet.

🎯 Scenario Tipico

Setup:
- Server DHCP Windows su LAN (192.168.1.10)
- VLAN 10 Guest (10.0.10.0/24)
- VLAN 20 VoIP (10.0.20.0/24)

Obiettivo:
I client delle VLAN 10 e 20 devono ottenere IP dal server su LAN

Soluzione: DHCP Relay su pfSense

βš™οΈ Configurazione DHCP Relay

  1. Disabilita DHCP locale sulle VLAN
    Services β†’ DHCP Server β†’ VLAN10
    ☐ Deseleziona "Enable DHCP server"
    Ripeti per ogni VLAN che userΓ  il relay
  2. Configura DHCP Relay
    Vai in Services β†’ DHCP Relay
  3. Abilita e configura
    β˜‘ Enable DHCP relay
    
    Interface(s):
    β˜‘ VLAN10_GUEST
    β˜‘ VLAN20_VOIP
    (Seleziona le interfacce che inviano richieste DHCP)
    
    Destination servers:
    192.168.1.10
    (IP del server DHCP centrale - puoi aggiungere backup)
    
    ☐ Append circuit ID and agent ID to requests
    (Abilita solo se il server DHCP supporta e usa queste info)
  4. Salva
    Save β†’ DHCP relay attivo!
  5. Configura scope sul server DHCP Windows
    Sul server DHCP centrale, crea scope per ogni VLAN:
    Scope 1 - VLAN 10 Guest:
    Range: 10.0.10.100 - 10.0.10.200
    Gateway: 10.0.10.1 (pfSense IP su VLAN10)
    DNS: 192.168.1.1
    
    Scope 2 - VLAN 20 VoIP:
    Range: 10.0.20.100 - 10.0.20.200
    Gateway: 10.0.20.1 (pfSense IP su VLAN20)
    DNS: 192.168.1.1
    Option 66: 192.168.1.50 (TFTP per telefoni)

⚠️ DHCP Relay: Considerazioni

  • ⚠️ Il server DHCP centrale deve avere route verso tutte le subnet client
  • ⚠️ Il relay non funziona con DHCP failover/HA (usa server DHCP pfSense)
  • ⚠️ PiΓΉ complesso da debuggare rispetto a server locale su ogni VLAN
  • βœ… Utile per centralizzare gestione e integrazione con AD/RADIUS

πŸ” Troubleshooting DHCP

❌ Problema: Client Non Riceve IP

  1. Verifica DHCP server abilitato
    Services β†’ DHCP Server β†’ LAN
    β˜‘ "Enable DHCP server" deve essere selezionato
  2. Verifica range disponibile
    Status β†’ DHCP Leases
    Se tutti gli IP sono occupati, espandi il range
  3. Controlla regole firewall
    DHCP usa UDP porta 67 (server) e 68 (client)
    Firewall β†’ Rules β†’ LAN
    Deve esistere regola che permette traffico DHCP (di solito "allow all")
  4. Test manuale DHCP
    Sul client:
    # Windows
    ipconfig /release
    ipconfig /renew
    ipconfig /all
    
    # Linux
    sudo dhclient -v -r eth0
    sudo dhclient -v eth0
    
    # Output atteso:
    DHCPDISCOVER
    DHCPOFFER
    DHCPREQUEST
    DHCPACK
  5. Verifica log DHCP
    Status β†’ System Logs β†’ DHCP
    Cerca errori o messaggi riguardanti il MAC del client

❌ Problema: IP Duplicati

Due dispositivi con stesso IP causano conflitti di rete.

Cause comuni:
1. Static mapping con IP dentro range DHCP dinamico
2. Device con IP statico manuale che collide con DHCP
3. Due server DHCP attivi sulla stessa rete (BAD!)

Soluzione:
1. Status β†’ DHCP Leases β†’ Trova dispositivo conflitto
2. Se static mapping: Sposta IP fuori range dinamico
3. Se device con IP manuale: Riconfigura o crea static mapping
4. Se doppio DHCP: Disabilita DHCP su router/AP secondari!

❌ Problema: Lease Non si Rinnova

Client perde connettivitΓ  quando lease scade.

Verifica:
1. pfSense raggiungibile quando lease scade? (client puΓ² contattare DHCP server?)
2. Lease time troppo breve? (aumenta a 24h)
3. Client in sleep/standby quando lease scade? (alcuni OS non rinnovano in sleep)

Soluzione:
- Aumenta lease time
- Crea static mapping per dispositivi critici
- Sveglia client prima scadenza (Wake-on-LAN se supportato)

βœ… Best Practices DHCP

πŸ“‹ Pianificazione IP

  • βœ… Separa range statico/dinamico: 1-99 statici, 100-254 DHCP
  • βœ… Documenta static mappings: Usa description dettagliate
  • βœ… Dimensiona correttamente pool: Calcola # dispositivi * 1.5 per margine
  • βœ… Usa naming convention: Hostname descrittivi (stampante-piano1, ap-ufficio2)

πŸ”’ Sicurezza

  • βœ… Mai DHCP su WAN: Estremamente pericoloso!
  • βœ… Rogue DHCP prevention: Disabilita DHCP su switch/AP non gestiti
  • βœ… Monitor leases: Controlla periodicamente per device sconosciuti
  • βœ… Static ARP: Abilita per server critici (previene ARP spoofing)

πŸ“Š Monitoring

  • βœ… Review settimanale leases: Identifica dispositivi insoliti
  • βœ… Alert pool esaurito: Configura notifiche se >90% pool usato
  • βœ… Backup configurazione: Esporta static mappings periodicamente

🎯 Prossimi Passi

Eccellente lavoro! Ora sai configurare il DHCP server di pfSense in modo professionale, creare static mappings per dispositivi critici e troubleshootare problemi comuni. I tuoi client ricevono automaticamente indirizzi IP ottimizzati!

Nel prossimo capitolo configureremo il DNS Resolver per la risoluzione dei nomi di dominio, con cache locale, DNSSEC e host overrides per la rete interna.

🌐 Prossimo: Configurazione DNS β†’