Lo scenario usa tre router collegati in catena. Il router a sinistra, R1 DHCP Server, svolge il ruolo di server DHCP centralizzato. I client delle LAN collegate a R2 e R3 non possono raggiungere direttamente R1 con un broadcast DHCP, quindi sulle interfacce LAN dei router remoti si configura ip helper-address.
Le LAN derivano dalla rete 192.168.0.0/24 con sottoreti di dimensione diversa. I link seriali tra router usano reti /30, adatte ai collegamenti punto-punto.
| Rete | Network | Broadcast | Gateway | Router/interfaccia |
|---|---|---|---|---|
| LAN1 | 192.168.0.0/25 | 192.168.0.127 | 192.168.0.126 | R1 Fa0/0 |
| LAN2 | 192.168.0.128/26 | 192.168.0.191 | 192.168.0.190 | R2 Fa0/0 |
| LAN3 | 192.168.0.192/27 | 192.168.0.223 | 192.168.0.222 | R3 Fa0/0 |
| LAN4 | 192.168.0.224/27 | 192.168.0.255 | 192.168.0.254 | R3 Fa1/0 |
| Link | Rete /30 | Router sinistro | Router destro |
|---|---|---|---|
| R1 - R2 | 50.100.200.0/30 | R1 Se2/0: 50.100.200.1 | R2 Se2/0: 50.100.200.2 |
| R2 - R3 | 50.100.250.0/30 | R2 Se3/0: 50.100.250.1 | R3 Se2/0: 50.100.250.2 |
Su R1 si configurano gli indirizzi esclusi e i quattro pool DHCP. Gli indirizzi esclusi servono a non consegnare ai client gli IP riservati per gateway, apparati di rete o indirizzi che vuoi mantenere statici.
R1> enable
R1# configure terminal
R1(config)# ip dhcp excluded-address 192.168.0.1 192.168.0.10
R1(config)# ip dhcp excluded-address 192.168.0.129 192.168.0.139
R1(config)# ip dhcp excluded-address 192.168.0.193 192.168.0.203
R1(config)# ip dhcp excluded-address 192.168.0.225 192.168.0.235
R1(config)# ip dhcp pool Lan1
R1(dhcp-config)# network 192.168.0.0 255.255.255.128
R1(dhcp-config)# default-router 192.168.0.126
R1(dhcp-config)# dns-server 8.8.8.8
R1(dhcp-config)# exit
R1(config)# ip dhcp pool Lan2
R1(dhcp-config)# network 192.168.0.128 255.255.255.192
R1(dhcp-config)# default-router 192.168.0.190
R1(dhcp-config)# dns-server 8.8.8.8
R1(dhcp-config)# exit
R1(config)# ip dhcp pool Lan3
R1(dhcp-config)# network 192.168.0.192 255.255.255.224
R1(dhcp-config)# default-router 192.168.0.222
R1(dhcp-config)# dns-server 8.8.8.8
R1(dhcp-config)# exit
R1(config)# ip dhcp pool Lan4
R1(dhcp-config)# network 192.168.0.224 255.255.255.224
R1(dhcp-config)# default-router 192.168.0.254
R1(dhcp-config)# dns-server 8.8.8.8
R1(dhcp-config)# exit
network indica la subnet del pool,
mentre default-router indica il gateway che i PC riceveranno insieme all'indirizzo IP.
Per ogni LAN il gateway deve essere l'interfaccia del router dentro quella stessa subnet.
Il comando ip dhcp excluded-address dice al router quali indirizzi non
deve assegnare automaticamente ai PC.
192.168.0.1 192.168.0.10: riserva i primi IP della LAN1.192.168.0.129 192.168.0.139: riserva i primi IP utilizzabili della LAN2.192.168.0.193 192.168.0.203: riserva i primi IP utilizzabili della LAN3.192.168.0.225 192.168.0.235: riserva i primi IP utilizzabili della LAN4.
Ogni ip dhcp pool descrive una rete servita dal DHCP. In questo laboratorio
R1 ha quattro pool, uno per ogni LAN.
network: rete e subnet mask da cui assegnare gli IP.default-router: gateway che il client usera' per uscire dalla LAN.dns-server: server DNS consegnato ai client insieme all'indirizzo IP.exit: chiude la configurazione del pool e torna in modalita' globale.
I messaggi DHCP Discover partono in broadcast. Un router non inoltra normalmente i broadcast da una
LAN all'altra: per questo sulle interfacce LAN remote si usa ip helper-address, che
trasforma la richiesta in un inoltro verso il server DHCP indicato.
R2> enable
R2# configure terminal
R2(config)# interface FastEthernet0/0
R2(config-if)# ip address 192.168.0.190 255.255.255.192
R2(config-if)# ip helper-address 192.168.0.126
R2(config-if)# no shutdown
R2(config-if)# exit
R3> enable
R3# configure terminal
R3(config)# interface FastEthernet0/0
R3(config-if)# ip address 192.168.0.222 255.255.255.224
R3(config-if)# ip helper-address 192.168.0.126
R3(config-if)# no shutdown
R3(config-if)# exit
R3(config)# interface FastEthernet1/0
R3(config-if)# ip address 192.168.0.254 255.255.255.224
R3(config-if)# ip helper-address 192.168.0.126
R3(config-if)# no shutdown
R3(config-if)# exit
Configurare DHCP non basta: i router devono anche sapere come raggiungere le reti non direttamente collegate. In pratica bisogna scrivere le rotte statiche sui router, altrimenti la richiesta DHCP puo' partire ma la risposta o il traffico successivo non trovano la strada corretta.
ip route 0.0.0.0 0.0.0.0 <next-hop>.
Significa: "per tutte le reti che non conosco, manda il traffico a questo prossimo router".
R1> enable
R1# configure terminal
R1(config)# ip route 192.168.0.128 255.255.255.192 50.100.200.2
R1(config)# ip route 192.168.0.192 255.255.255.224 50.100.200.2
R1(config)# ip route 192.168.0.224 255.255.255.224 50.100.200.2
R2> enable
R2# configure terminal
R2(config)# ip route 192.168.0.0 255.255.255.128 50.100.200.1
R2(config)# ip route 192.168.0.192 255.255.255.224 50.100.250.2
R2(config)# ip route 192.168.0.224 255.255.255.224 50.100.250.2
R3> enable
R3# configure terminal
R3(config)# ip route 192.168.0.0 255.255.255.128 50.100.250.1
R3(config)# ip route 192.168.0.128 255.255.255.192 50.100.250.1
In una topologia lineare si puo' semplificare sui router di estremita' usando una default route verso il router centrale.
! su R1, tutto cio' che non e' locale va verso R2
R1> enable
R1# configure terminal
R1(config)# ip route 0.0.0.0 0.0.0.0 50.100.200.2
! su R3, tutto cio' che non e' locale va verso R2
R3> enable
R3# configure terminal
R3(config)# ip route 0.0.0.0 0.0.0.0 50.100.250.1
Router> enable
Router# show ip interface brief
Router# show running-config
Router# show ip route
Router# show ip dhcp binding
Router# show ip dhcp pool
ip helper-address
sull'interfaccia LAN del router remoto, poi le rotte statiche di andata e ritorno. Il DHCP relay ha
bisogno che il router remoto sappia raggiungere R1 e che R1 sappia rispondere verso la rete del client.
ip dhcp excluded-address riserva gli indirizzi che non devono essere assegnati automaticamente.ip dhcp pool definisce rete, default gateway e DNS consegnati ai client.ip helper-address 192.168.0.126 per inoltrare le richieste a R1.