Ciao Ragazzi,
oggi andiamo sull’avanzato. Tutti conoscono il DHCP e cosa fa un DHCP Server, ma pochi sanno che tramite DHCP si possono passare altre informazioni agli utenti che si collegano.
In diversi casi, specie in grandi aziende, con molte subnet diverse, è necessario passare delle rotte statiche ai client che si collegano in automatico: questo per semplificare l’aggiunta di rotte statiche sui pc degli utenti.
Per lavoro utilizzo molto due strumenti che permettono l’inserimento di queste opzioni, ma che sono leggermente diversi tra loro.
Il primo è PfSense, uno dei migliori firewall open source presenti in circolazione.
Il secondo è Mikrotik.
Analizziamoli:
1) PfSense
Su PfSense è possibile definire due tipi di rotte statiche via DHCP:
- Single route (DHCP Option 33)
- Classless Static Route (DHCP Option 121)
Nel primo caso si definisce solo l’IP di destinazione ed il Gateway come nella figura:
Il valore Esadecimale è calcolato in questo modo:
- IP Destinazione: 192.168.123.234 (Hex: C0:A8:7B:EA)
- IP Gateway: 10.34.72.42 (Hex: 0A:22:48:2A)
Quindi il valore da inserire sulla PFSense sarà: C0:A8:7B:EA:0A:22:48:2A
Nel secondo caso, si definisce IP destinazione, Subnet Mask e Gateway:
Come si nota anche dall’immagine, la differenza è che il valore che precede tutto è la conversione in Hex della netmask.
- IP Destinazione: 192.168.123.234 (Hex: C0:A8:7B:EA)
- IP Gateway: 10.34.72.42 (Hex: 0A:22:48:2A)
- Netmask: 24 (Hex: 18)
Quindi il valore da inserire sulla PFSense sarà: 18:C0:A8:7B:EA:0A:22:48:2A
2) Mikrotik
Sui dispositivi Mikrotik, a partire dalla versione 6.00 (prima non funziona correttamente) è possibile impostare le rotte statiche via DHCP, utilizzando il seguente formato:
0xnnddddddddgggggggg
Dove:
- nn = Netmask
- dddddddd = IP Destinazione
- gggggggg = IP Gateway
Quindi per aggiungere la regola di esempio precedente dovremmo eseguire:
/ip dhcp-server option add name=classlessroutes code=121 value=0x18C0A87BEA0A22482A
Per semplificare la vita a chi non ha “voglia” di fare le conversioni ho realizzato un piccolo tool in Java che permette di effettuare la conversione direttamente per il tipo di sistema desiderato.
Da questo link è possibile scaricare il programma da eseguire semplicemente con:
java -jar frank.jar
Il programma ovviamente si chiama come l’amico che mi ha dato l’idea di realizzarlo!
Enjoy!