DHCP Options: Rotte Statiche via DHCP

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:

Nel primo caso si definisce solo l’IP di destinazione ed il Gateway come nella figura:

pfsense-dhcp-option-33_2

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:

pfsense-dhcp-option-121

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!

About Paolo Daniele

Inserisci un commento

Il tuo indirizzo email non sarà pubblicato. Required fields are marked *

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>