La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
In questo documento viene descritto il funzionamento di DAI (Dynamic ARP Inspection) e IPSG (IP Source Guard) e viene spiegato come convalidarli negli switch Catalyst 9K.
Prima di immergervi nei sistemi DAI e IPSG, dovete parlare brevemente di DHCP Snooping, un prerequisito per DAI e IPSG.
Il protocollo DHCP (Dynamic Host Configuration Protocol) è un protocollo client/server che fornisce automaticamente a un host IP (Internet Protocol) l'indirizzo IP e altre informazioni di configurazione correlate, ad esempio la subnet mask e il gateway predefinito. Gli RFC 2131 e 2132 definiscono DHCP come uno standard IETF (Internet Engineering Task Force) basato sul protocollo BOOTP (Bootstrap Protocol), un protocollo con cui DHCP condivide molti dettagli di implementazione. DHCP consente agli host di ottenere le informazioni di configurazione TCP/IP richieste da un server DHCP.
Lo snooping DHCP è una funzione di sicurezza che funziona come un firewall tra host non attendibili e server DHCP attendibili. La funzione di snooping DHCP esegue le seguenti attività:
DAI è una funzionalità di sicurezza che convalida i pacchetti ARP (Address Resolution Protocol) in una rete. DAI consente a un amministratore di rete di intercettare, registrare ed eliminare pacchetti ARP con indirizzi MAC non validi per i binding di indirizzi IP. Questa funzionalità protegge la rete da alcuni attacchi "man-in-the-middle".
IPSG è una funzione di sicurezza che limita il traffico IP su interfacce di layer 2 non instradate filtrando il traffico in base al database di binding dello snooping DHCP e ai binding di origine IP configurati manualmente. È possibile utilizzare il protocollo IPSG per prevenire gli attacchi di traffico se un host tenta di utilizzare l'indirizzo IP del router adiacente.
1. In questo diagramma è possibile notare che più client desiderano ricevere un indirizzo IP dal server DHCP connesso allo switch principale.
2. Tuttavia, esiste un server DHCP dannoso/non autorizzato collegato a uno degli switch del livello di accesso in grado di ricevere le rilevazioni DHCP e inviare le offerte DHCP più rapidamente rispetto al server DHCP effettivo.
3. L'autore dell'attacco può impostare l'indirizzo del gateway nel messaggio di offerta in modo tale da poter ricevere tutto il traffico dal client, compromettendo così la riservatezza della comunicazione.
4. Questo è noto come l'attacco Man In The Middle.
1. Abilitando lo snooping DHCP negli switch di accesso, configurare lo switch in modo che resti in ascolto sul traffico DHCP e arresti eventuali pacchetti DHCP dannosi ricevuti su porte non attendibili.
2. Non appena si abilita lo snooping DHCP nello switch, tutte le interfacce diventano automaticamente non attendibili.
3. Mantenere le porte connesse ai dispositivi terminali non attendibili e configurare come attendibili le porte connesse al server DHCP autentico.
4. Un'interfaccia non attendibile bloccherà i messaggi dell'offerta DHCP. I messaggi offerta DHCP saranno consentiti solo su porte attendibili.
5. È possibile limitare il numero di pacchetti di individuazione DHCP che gli host terminali possono inviare a un'interfaccia non attendibile al secondo. Questo meccanismo di sicurezza protegge il server DHCP da un numero anormalmente elevato di rilevamenti DHCP in arrivo che possono esaurire il pool in pochissimo tempo.
In questa sezione viene spiegato come configurare lo snooping DHCP in una rete commutata:
Topologia:
Le interfacce Gi1/0/1-4 dello switch di accesso sono connesse ai client DHCP. È possibile consentire a questi client di ricevere gli indirizzi IP dal server DHCP autentico e di proteggerli dal server DHCP dannoso utilizzando la funzionalità di snooping DHCP.
Per ulteriori informazioni su come ottenere questo risultato, fare riferimento alla procedura seguente:
Passaggio 1. Abilitare lo snooping DHCP a livello globale e nelle VLAN, sullo switch di accesso:
ip dhcp snooping
ip dhcp snooping vlan 10,20,30
Passaggio 2. Configurare il trust dello snooping DHCP su tutte le interfacce dello switch di accesso che ricevono offerte DHCP da uno o più server DHCP autentici. Il numero di interfacce dipende dalla progettazione della rete e dal posizionamento dei server DHCP. Queste sono le interfacce che vanno verso il server DHCP autentico.
Switch di accesso:
interface TenGigabitEthernet1/0/2
switchport mode trunk
ip dhcp snooping trust
Passaggio 3. Dopo aver configurato lo snooping DHCP a livello globale, tutte le porte dello switch vengono considerate automaticamente non attendibili (ad eccezione di quelle considerate manualmente attendibili, come mostrato in precedenza). È tuttavia possibile configurare il numero di pacchetti di individuazione DHCP che gli host terminali possono inviare a interfacce non attendibili al secondo.
Questo meccanismo di sicurezza protegge il server DHCP da un numero anormalmente elevato di rilevamenti DHCP in arrivo che possono esaurire il pool in pochissimo tempo.
interface range Gi1/0/1-5
ip dhcp snooping limit rate 10
Verifica:
Access_SW#show ip dhcp snooping
Switch DHCP snooping is enabled
Switch DHCP gleaning is disabled
DHCP snooping is configured on following VLANs:
10,20,30
DHCP snooping is operational on following VLANs:
10,20,30
DHCP snooping is configured on the following L3 Interfaces:
Insertion of option 82 is disabled
circuit-id default format: vlan-mod-port
remote-id: 00fc.ba9e.3980 (MAC)
Option 82 on untrusted port is not allowed
Verification of hwaddr field is enabled
Verification of giaddr field is enabled
DHCP snooping trust/rate is configured on the following Interfaces:
Interface Trusted Allow option Rate limit (pps)
----------------------- ------- ------------ ----------------
GigabitEthernet1/0/1 no no 10
Custom circuit-ids:
GigabitEthernet1/0/2 no no 10
Custom circuit-ids:
GigabitEthernet1/0/3 no no 10
Custom circuit-ids:
GigabitEthernet1/0/4 no no 10
Custom circuit-ids:
GigabitEthernet1/0/5 no no 10
Custom circuit-ids:
TenGigabitEthernet1/0/2 yes yes unlimited
Custom circuit-ids:
Nota: Se si controlla questo output, si osserverà che Gi1/0/5, connesso al server DHCP dannoso, è indicato nell'show ip dhcp snooping
output come non attendibile.
Quindi, lo snooping DHCP eseguirà tutti i controlli su queste porte.
Ad esempio, in questo modo, tutte le offerte DHCP in arrivo su questa porta (Gi1/0/5) verranno eliminate.
Di seguito è riportata la tabella di binding Snooping DHCP, che mostra l'indirizzo IP, l'indirizzo MAC e l'interfaccia per 3 client su Gi1/0/1, Gi1/0/2, Gi1/0/3:
Access_SW#show ip dhcp snooping binding
MacAddress IpAddress Lease(sec) Type VLAN Interface
------------------ --------------- ---------- ------------- ---- --------------------
00:FC:BA:9E:39:82 10.10.10.2 62488 dhcp-snooping 10 GigabitEthernet1/0/1
00:FC:BA:9E:39:A6 10.10.20.2 62492 dhcp-snooping 20 GigabitEthernet1/0/2
00:FC:BA:9E:39:89 10.10.30.3 62492 dhcp-snooping 30 GigabitEthernet1/0/3
Total number of bindings: 3
A scopo dimostrativo,ip dhcp snooping trust
la configurazione viene rimossa da in Te1/0/2 nello switch di accesso. Esaminare i registri generati nello switch:
Access_SW#sh cdp neigh
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone,
D - Remote, C - CVTA, M - Two-port Mac Relay
Device ID Local Intrfce Holdtme Capability Platform Port ID
Dist_SW Ten 1/0/2 175 R S I C9300-48U Ten 1/1/3
Total cdp entries displayed : 1
Access_SW#show run int Te1/0/2
Building configuration...
Current configuration : 64 bytes
!
interface TenGigabitEthernet1/0/2
switchport mode trunk
*Apr 4 01:12:47.149: %DHCP_SNOOPING-5-DHCP_SNOOPING_UNTRUSTED_PORT: DHCP_SNOOPING drop message on untrusted port, message type: DHCPOFFER, MAC sa: f87a.41a8.ca65
*Apr 4 01:14:07.161: %DHCP_SNOOPING-5-DHCP_SNOOPING_UNTRUSTED_PORT: DHCP_SNOOPING drop message on untrusted port, message type: DHCPOFFER, MAC sa: f87a.41a8.ca65
*Apr 4 01:29:30.634: %DHCP_SNOOPING-5-DHCP_SNOOPING_UNTRUSTED_PORT: DHCP_SNOOPING drop message on untrusted port, message type: DHCPOFFER, MAC sa: f87a.41a8.ca56
*Apr 4 01:30:03.286: %DHCP_SNOOPING-5-DHCP_SNOOPING_UNTRUSTED_PORT: DHCP_SNOOPING drop message on untrusted port, message type: DHCPOFFER, MAC sa: f87a.41a8.ca46
ARP fornisce la comunicazione IP all'interno di un dominio di broadcast di layer 2 mappando un indirizzo IP su un indirizzo MAC. È un protocollo semplice ma vulnerabile ad un attacco chiamato avvelenamento ARP.
L'avvelenamento ARP è un attacco in cui un utente malintenzionato invia un falso pacchetto di risposta ARP sulla rete.
Un utente malintenzionato può attaccare gli host, gli switch e i router connessi alla rete di layer 2 avvelenando le cache ARP dei sistemi connessi alla subnet e intercettando il traffico destinato ad altri host nella subnet
Questo è il classico attacco Man-in-the-middle.
L'ispezione ARP dinamica è una funzione di sicurezza che convalida i pacchetti ARP in una rete. Intercetta, registra ed elimina i pacchetti ARP con binding IP-MAC non validi. Questa funzionalità protegge la rete da alcuni attacchi man-in-the-middle.
L'ispezione ARP dinamica garantisce che vengano inoltrate solo le richieste e le risposte ARP valide. Lo switch esegue le seguenti attività:
L'ispezione ARP dinamica determina la validità di un pacchetto ARP in base alle associazioni di indirizzi IP-MAC valide archiviate in un database attendibile, il database di associazione dello snooping DHCP.
Questo database è creato dallo snooping DHCP se lo snooping DHCP è abilitato sulle VLAN e sullo switch. Se il pacchetto ARP viene ricevuto su un'interfaccia attendibile, lo switch inoltra il pacchetto senza alcun controllo.
Sulle interfacce non attendibili, lo switch inoltra il pacchetto solo se è valido.
In questa immagine viene mostrato come lo switch Cat9500 sia collegato a quattro host, di cui 3 host sono client DHCP e 1 host ha un indirizzo IP statico (10.20.30.5). Il server DHCP è un router serie Cat8300 configurato con un pool DHCP.
Questa topologia viene utilizzata per dimostrare come DAI rileva le richieste ARP non valide su un'interfaccia e protegge la rete da attacchi dannosi.
Configurazione:
Passaggio 1. Configurare lo snooping DHCP e la DAI a livello globale nello switch.
F241.24.02-9500-1#sh run | i dhcp
ip dhcp snooping vlan 10
no ip dhcp snooping information option
ip dhcp snooping
F241.24.02-9500-1#sh run | i ip arp
ip arp inspection vlan 10
Passaggio 2. Configurare l'interfaccia Hu1/0/7 connessa al server DHCP come porta attendibile. In questo modo, le offerte DHCP potranno entrare nell'interfaccia e successivamente raggiungere i client DHCP.
F241.24.02-9500-1#sh run int Hu1/0/7
Building configuration...
Current configuration : 85 bytes
!
interface HundredGigE1/0/7
switchport access vlan 10
ip dhcp snooping trust
end
Passaggio 3. Configurare le porte connesse ai client DHCP come porte di accesso che consentono la VLAN 10.
F241.24.02-9500-1#sh run int Hu1/0/3
Building configuration...
Current configuration : 61 bytes
!
interface HundredGigE1/0/3
switchport access vlan 10
end
F241.24.02-9500-1#sh run int Hu1/0/4
Building configuration...
Current configuration : 61 bytes
!
interface HundredGigE1/0/4
switchport access vlan 10
end
F241.24.02-9500-1#sh run int Hu1/0/1
Building configuration...
Current configuration : 61 bytes
!
interface HundredGigE1/0/1
switchport access vlan 10
end
F241.24.02-9500-1#sh run int Hu1/0/6
Building configuration...
Current configuration : 85 bytes
!
interface HundredGigE1/0/6
switchport access vlan 10
end
Passaggio 4. Verificare che i client DHCP abbiano ricevuto l'indirizzo IP dal server DHCP, dalla tabella di binding Snooping DHCP nello switch Cat9500.
F241.24.02-9500-1#sh ip dhcp snooping binding
MacAddress IpAddress Lease(sec) Type VLAN Interface
------------------ --------------- ---------- ------------- ---- --------------------
78:72:5D:1B:7F:3F 10.20.30.2 85046 dhcp-snooping 10 HundredGigE1/0/1
5C:71:0D:CD:EE:0C 10.20.30.3 85065 dhcp-snooping 10 HundredGigE1/0/4
2C:4F:52:01:AA:CC 10.20.30.4 85085 dhcp-snooping 10 HundredGigE1/0/3
Total number of bindings: 3
È inoltre possibile controllare i binding nel server DHCP.
DHCP_Server#show ip dhcp binding
Bindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type State Interface
Hardware address/
User name
10.20.30.2 0063.6973.636f.2d37. Apr 08 2024 07:04 AM Automatic Active TenGigabitEthernet0/0/4
3837.322e.3564.3162.
2e37.6633.662d.4875.
312f.302f.31
10.20.30.3 0063.6973.636f.2d35. Apr 08 2024 07:04 AM Automatic Active TenGigabitEthernet0/0/4
6337.312e.3064.6364.
2e65.6530.632d.5465.
312f.302f.35
10.20.30.4 0063.6973.636f.2d32. Apr 08 2024 07:05 AM Automatic Active TenGigabitEthernet0/0/4
6334.662e.3532.3031.
2e61.6163.632d.5465.
312f.302f.35
Passaggio 5: Modificare l'indirizzo IP dell'host connesso a Hu1/0/6 da 10.20.30.5 a 10.20.30.2 e provare a eseguire il ping degli altri client DHCP da tale host.
Static_Host#ping 10.20.30.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.30.3, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
Static_Host#ping 10.20.30.4
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.30.4, timeout is 2 seconds:
.....
Sullo switch Cat9500, è possibile visualizzare i seguenti log ARP non validi:
F241.24.02-9500-1#
*Apr 7 09:29:24.520: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Hu1/0/6, vlan 10.([7035.0956.7ee4/10.20.30.2/0000.0000.0000/10.20.30.3/09:29:23 UTC Sun Apr 7 2024])
*Apr 7 09:29:26.520: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Hu1/0/6, vlan 10.([7035.0956.7ee4/10.20.30.2/0000.0000.0000/10.20.30.3/09:29:25 UTC Sun Apr 7 2024])
*Apr 7 09:29:28.521: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Hu1/0/6, vlan 10.([7035.0956.7ee4/10.20.30.2/0000.0000.0000/10.20.30.3/09:29:27 UTC Sun Apr 7 2024])
*Apr 7 09:29:30.521: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Hu1/0/6, vlan 10.([7035.0956.7ee4/10.20.30.2/0000.0000.0000/10.20.30.3/09:29:29 UTC Sun Apr 7 2024])
*Apr 7 09:29:32.521: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Hu1/0/6, vlan 10.([7035.0956.7ee4/10.20.30.2/0000.0000.0000/10.20.30.3/09:29:31 UTC Sun Apr 7 2024])
F241.24.02-9500-1#
*Apr 7 09:29:47.521: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Hu1/0/6, vlan 10.([7035.0956.7ee4/10.20.30.2/0000.0000.0000/10.20.30.4/09:29:46 UTC Sun Apr 7 2024])
*Apr 7 09:29:49.521: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Hu1/0/6, vlan 10.([7035.0956.7ee4/10.20.30.2/0000.0000.0000/10.20.30.4/09:29:48 UTC Sun Apr 7 2024])
*Apr 7 09:29:51.521: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Hu1/0/6, vlan 10.([7035.0956.7ee4/10.20.30.2/0000.0000.0000/10.20.30.4/09:29:50 UTC Sun Apr 7 2024])
*Apr 7 09:29:53.522: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Hu1/0/6, vlan 10.([7035.0956.7ee4/10.20.30.2/0000.0000.0000/10.20.30.4/09:29:52 UTC Sun Apr 7 2024])
*Apr 7 09:29:55.523: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Hu1/0/6, vlan 10.([7035.0956.7ee4/10.20.30.2/0000.0000.0000/10.20.30.4/09:29:54 UTC Sun Apr 7 2024])
Passaggio 6. Verifica:
F241.24.02-9500-1#show ip arp inspection
Source Mac Validation : Disabled
Destination Mac Validation : Disabled
IP Address Validation : Disabled
Vlan Configuration Operation ACL Match Static ACL
---- ------------- --------- --------- ----------
10 Enabled Active DAI No
Vlan ACL Logging DHCP Logging Probe Logging
---- ----------- ------------ -------------
10 Deny Deny Off
Vlan Forwarded Dropped DHCP Drops ACL Drops
---- --------- ------- ---------- ---------
10 9 39 39 0
Vlan DHCP Permits ACL Permits Probe Permits Source MAC Failures
---- ------------ ----------- ------------- -------------------
10 6 3 0 0
Vlan Dest MAC Failures IP Validation Failures Invalid Protocol Data
---- ----------------- ---------------------- ---------------------
10 0 0 0
In questo output, è possibile vedere il numero di pacchetti scartati e autorizzati dalla DAI nella VLAN 10 nello switch Cat9500.
Nota: Uno scenario molto importante potrebbe essere quello di un host legittimo nella rete a cui sia assegnato un indirizzo IP statico (ad esempio, 10.20.30.5).
Sebbene l'host non stia tentando di eseguire lo spoofing di alcun elemento, verrà comunque isolato dalla rete perché i dati di binding MAC-IP non sono presenti nel database di binding dello snooping DHCP.
Infatti, poiché l'host statico non ha mai utilizzato DHCP per ricevere l'indirizzo IP, a causa della sua assegnazione statica.
Sono disponibili alcune soluzioni alternative che possono essere implementate per fornire connettività agli host legacy che dispongono di indirizzi IP statici.
Opzione 1.
Configurare l'interfaccia connessa all'host con ip arp Inspection trust.
F241.24.02-9500-1#sh run int HundredGigE 1/0/6
Building configuration...
Current configuration : 110 bytes
!
interface HundredGigE1/0/6
switchport access vlan 10
switchport mode access
ip arp inspection trust
end
Static_Host#ping 10.20.30.4
*Apr 7 18:44:45.299 JST: %SYS-5-CONFIG_I: Configured from console by admin on vty0 (192.168.1.5)
F241.24.02-9300-STACK#ping 10.20.30.4
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.30.4, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms
Static_Host#ping 10.20.30.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.30.3, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms
Static_Host#ping 10.20.30.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.30.2, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms
Opzione 2.
Consentire l'host statico utilizzando un elenco degli accessi ARP:
F241.24.02-9500-1#sh run | s arp access-list
arp access-list DAI
permit ip host 10.20.30.5 mac host 7035.0956.7ee4
F241.24.02-9500-1#sh run | i ip arp ins
ip arp inspection filter DAI vlan 10
Static_Host#ping 10.20.30.4
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.30.4, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms
Static_Host#ping 10.20.30.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.30.3, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms
Static_Host#ping 10.20.30.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.30.2, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms
Opzione 3.
Configurare una voce della tabella di binding per l'host statico.
F241.24.02-9500-1#sh run | i binding
ip source binding 7035.0956.7EE4 vlan 10 10.20.30.5 interface Hu1/0/6
F241.24.02-9500-1#show ip source binding
MacAddress IpAddress Lease(sec) Type VLAN Interface
------------------ --------------- ---------- ------------- ---- --------------------
78:72:5D:1B:7F:3F 10.20.30.2 80640 dhcp-snooping 10 HundredGigE1/0/1
5C:71:0D:CD:EE:0C 10.20.30.3 80659 dhcp-snooping 10 HundredGigE1/0/4
70:35:09:56:7E:E4 10.20.30.5 infinite static 10 HundredGigE1/0/6
2C:4F:52:01:AA:CC 10.20.30.4 80679 dhcp-snooping 10 HundredGigE1/0/3
Total number of bindings: 4
Static_Host#ping 10.20.30.4
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.30.4, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms
Static_Host#ping 10.20.30.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.30.3, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms
Static_Host#ping 10.20.30.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.30.2, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms
Opzioni aggiuntive disponibili con DAI:
F241.24.02-9500-1(config)#ip arp inspection validate ?
dst-mac Validate destination MAC address
ip Validate IP addresses
src-mac Validate source MAC address
Per src-mac, controllare l'indirizzo MAC di origine nell'intestazione Ethernet confrontandolo con l'indirizzo MAC del mittente nel corpo ARP. Questo controllo viene eseguito sia sulle richieste che sulle risposte ARP. Quando questa opzione è abilitata, i pacchetti con indirizzi MAC diversi vengono classificati come non validi e quindi eliminati
Per dst-mac, controllare l'indirizzo MAC di destinazione nell'intestazione Ethernet confrontandolo con l'indirizzo MAC di destinazione nel corpo ARP. Questo controllo viene eseguito per le risposte ARP. Quando questa opzione è abilitata, i pacchetti con indirizzi MAC diversi vengono classificati come non validi e quindi eliminati.
Per gli indirizzi IP, controllare il corpo ARP per individuare gli indirizzi IP non validi e imprevisti. Gli indirizzi includono 0.0.0.0, 255.255.255.255 e tutti gli indirizzi multicast IP. Gli indirizzi IP dei mittenti vengono controllati in tutte le richieste e le risposte ARP, mentre gli indirizzi IP delle destinazioni vengono controllati solo nelle risposte ARP.
È inoltre possibile configurare la limitazione della velocità ARP. Per impostazione predefinita, il traffico ARP su interfacce non attendibili ha un limite di 15 app:
Switch(config)#interface Gigabitethernet<>
Switch(config-if)#ip arp inspection limit rate 10
Riferimento:
Lo switch Cat9500 è connesso a quattro host, di cui tre sono client DHCP e uno ha un indirizzo IP statico. Il server DHCP è un router serie Cat8300 configurato con un pool DHCP.
È possibile utilizzare questa topologia per dimostrare come IPSG rileva e blocca il traffico proveniente da host le cui associazioni MAC-IP non sono presenti nel database di binding dello snooping DHCP.
Configurazione:
Passaggio 1. Configurare lo snooping DHCP a livello globale nello switch Cat9500.
F241.24.02-9500-1#sh run | i dhcp
ip dhcp snooping vlan 10
no ip dhcp snooping information option
ip dhcp snooping
Passaggio 2. Configurare l'interfaccia Te1/0/7 connessa al server DHCP come porta attendibile. In questo modo, le offerte DHCP possono entrare nell'interfaccia e successivamente raggiungere i client DHCP.
F241.24.02-9500-1#sh run int Hu1/0/7
Building configuration...
Current configuration : 85 bytes
!
interface HundredGigE1/0/7
switchport access vlan 10
ip dhcp snooping trust
end
Passaggio 3. Configurare le porte connesse ai client DHCP come porte di accesso che consentono la VLAN 10.
F241.24.02-9500-1#sh run int Hu1/0/3
Building configuration...
Current configuration : 61 bytes
!
interface HundredGigE1/0/3
switchport access vlan 10
end
F241.24.02-9500-1#sh run int Hu1/0/4
Building configuration...
Current configuration : 61 bytes
!
interface HundredGigE1/0/4
switchport access vlan 10
end
F241.24.02-9500-1#sh run int Hu1/0/1
Building configuration...
Current configuration : 61 bytes
!
interface HundredGigE1/0/1
switchport access vlan 10
end
F241.24.02-9500-1#sh run int Hu1/0/6
Building configuration...
Current configuration : 85 bytes
!
interface HundredGigE1/0/6
switchport access vlan 10
end
Passaggio 4. Verificare se i client DHCP hanno ricevuto l'indirizzo IP dal server DHCP.
F241.24.02-9500-1#sh ip dhcp snooping binding
MacAddress IpAddress Lease(sec) Type VLAN Interface
------------------ --------------- ---------- ------------- ---- --------------------
78:72:5D:1B:7F:3F 10.20.30.2 85046 dhcp-snooping 10 HundredGigE1/0/1
5C:71:0D:CD:EE:0C 10.20.30.3 85065 dhcp-snooping 10 HundredGigE1/0/4
2C:4F:52:01:AA:CC 10.20.30.4 85085 dhcp-snooping 10 HundredGigE1/0/3
Total number of bindings: 3
F241.24.02-9500-1#show ip source binding
MacAddress IpAddress Lease(sec) Type VLAN Interface
------------------ --------------- ---------- ------------- ---- --------------------
78:72:5D:1B:7F:3F 10.20.30.2 64764 dhcp-snooping 10 HundredGigE1/0/1
5C:71:0D:CD:EE:0C 10.20.30.3 64783 dhcp-snooping 10 HundredGigE1/0/4
2C:4F:52:01:AA:CC 10.20.30.4 64803 dhcp-snooping 10 HundredGigE1/0/3
Total number of bindings: 3
DHCP_Server#show ip dhcp binding
Bindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type State Interface
Hardware address/
User name
10.20.30.2 0063.6973.636f.2d37. Apr 08 2024 07:04 AM Automatic Active TenGigabitEthernet0/0/4
3837.322e.3564.3162.
2e37.6633.662d.4875.
312f.302f.31
10.20.30.3 0063.6973.636f.2d35. Apr 08 2024 07:04 AM Automatic Active TenGigabitEthernet0/0/4
6337.312e.3064.6364.
2e65.6530.632d.5465.
312f.302f.35
10.20.30.4 0063.6973.636f.2d32. Apr 08 2024 07:05 AM Automatic Active TenGigabitEthernet0/0/4
6334.662e.3532.3031.
2e61.6163.632d.5465.
312f.302f.35
Passaggio 5. Configurare IPSG nelle interfacce connesse a tutti gli host terminali (3 client DHCP e 1 host con indirizzo IP statico).
F241.24.02-9500-1#sh run int Hu1/0/3
Building configuration...
Current configuration : 79 bytes
!
interface HundredGigE1/0/3
switchport access vlan 10
ip verify source
end
F241.24.02-9500-1#sh run int Hu1/0/4
Building configuration...
Current configuration : 79 bytes
!
interface HundredGigE1/0/4
switchport access vlan 10
ip verify source
end
F241.24.02-9500-1#sh run int Hu1/0/1
Building configuration...
Current configuration : 79 bytes
!
interface HundredGigE1/0/1
switchport access vlan 10
ip verify source
end
F241.24.02-9500-1#sh run int Hu1/0/6
Building configuration...
Current configuration : 103 bytes
!
interface HundredGigE1/0/6
switchport access vlan 10
ip verify source
end
Verifica:
F241.24.02-9500-1#show ip verify source
Interface Filter-type Filter-mode IP-address Mac-address Vlan
--------- ----------- ----------- --------------- ----------------- ----
Hu1/0/1 ip active 10.20.30.2 10
Hu1/0/3 ip active 10.20.30.4 10
Hu1/0/4 ip active 10.20.30.3 10
Hu1/0/6 ip active deny-all 10
Da questo output, è possibile vedere che il campo Indirizzo IP è impostato su deny-all per Hu1/0/6 perché non esiste alcun binding MAC-IP corrispondente a questa interfaccia nella tabella di binding dello snooping DHCP.
Passaggio 6. Provare a eseguire il ping dei client DHCP con gli indirizzi IP 10.20.30.2, 10.20.30.3 e 10.20.30.4 da Static_Host.
Static_Host#ping 10.20.30.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.30.2, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
Static_Host#ping 10.20.30.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.30.3, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
Static_Host#ping 10.20.30.4
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.30.4, timeout is 2 seconds:
.....
F241.24.02-9500-1(config)# ip source binding <mac-address-of-static-host> vlan 10 10.20.30.5 interface Hu1/0/6
F241.24.02-9500-1#show run int Hu1/0/6
*Apr 7 15:13:48.449: %SYS-5-CONFIG_I: Configured from console by console
F241.24.02-9500-1#show ip verify source
Interface Filter-type Filter-mode IP-address Mac-address Vlan
--------- ----------- ----------- --------------- ----------------- ----
Hu1/0/1 ip active 10.20.30.2 10
Hu1/0/3 ip active 10.20.30.4 10
Hu1/0/4 ip active 10.20.30.3 10
Hu1/0/6 ip active 10.20.30.5 10
F241.24.02-9500-1#show ip source binding
MacAddress IpAddress Lease(sec) Type VLAN Interface
------------------ --------------- ---------- ------------- ---- --------------------
78:72:5D:1B:7F:3F 10.20.30.2 62482 dhcp-snooping 10 HundredGigE1/0/1
5C:71:0D:CD:EE:0C 10.20.30.3 62501 dhcp-snooping 10 HundredGigE1/0/4
70:35:09:56:7E:E4 10.20.30.5 infinite static 10 HundredGigE1/0/6
2C:4F:52:01:AA:CC 10.20.30.4 62521 dhcp-snooping 10 HundredGigE1/0/3
Total number of bindings: 4
Verification:
Static_Host#ping 10.20.30.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.30.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
Static_Host#ping 10.20.30.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.30.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
Static_Host#ping 10.20.30.4
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.30.4, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
Opzioni aggiuntive disponibili con IPSG:
Per impostazione predefinita, IPSG filtra il traffico in ingresso su porte non attendibili in base ai soli indirizzi IP.
Se si desidera eseguire il filtro in base all'indirizzo IP e MAC, attenersi alla seguente procedura.
F241.24.02-9500-1#sh run int Hu1/0/1
Building configuration...
Current configuration : 89 bytes
!
interface HundredGigE1/0/1
switchport access vlan 10
ip verify source mac-check
end
F241.24.02-9500-1#sh run int Hu1/0/3
Building configuration...
Current configuration : 89 bytes
!
interface HundredGigE1/0/3
switchport access vlan 10
ip verify source mac-check
end
F241.24.02-9500-1#sh run int Hu1/0/4
Building configuration...
Current configuration : 89 bytes
!
interface HundredGigE1/0/4
switchport access vlan 10
ip verify source mac-check
end
F241.24.02-9500-1#sh run int Hu1/0/6
Building configuration...
Current configuration : 113 bytes
!
interface HundredGigE1/0/6
switchport access vlan 10
switchport mode access
ip verify source mac-check
end
F241.24.02-9500-1#show ip verify source
Interface Filter-type Filter-mode IP-address Mac-address Vlan
--------- ----------- ----------- --------------- ----------------- ----
Hu1/0/1 ip-mac active 10.20.30.2 78:72:5D:1B:7F:3F 10
Hu1/0/3 ip-mac active 10.20.30.4 2C:4F:52:01:AA:CC 10
Hu1/0/4 ip-mac active 10.20.30.3 5C:71:0D:CD:EE:0C 10
Hu1/0/6 ip-mac active deny-all deny-all 10
In questo output, è possibile vedere che il tipo Filter è ip-mac. A questo punto, lo switch filtra i pacchetti in arrivo su queste interfacce in base all'indirizzo IP e all'indirizzo MAC di origine.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
05-Aug-2024
|
Versione iniziale |