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 inoltro DHCP su Cisco ASA con l'aiuto di acquisizione e debug dei pacchetti e viene fornito un esempio di configurazione.
L'agente di inoltro DHCP (Dynamic Host Configuration Protocol) consente all'appliance di sicurezza di inoltrare le richieste DHCP dai client a un router o a un altro server DHCP connesso a un'interfaccia diversa.
Le restrizioni seguenti si applicano solo all'utilizzo dell'agente di inoltro DHCP:
I servizi di inoltro DHCP non sono disponibili in modalità firewall trasparente. Un'appliance di sicurezza in modalità firewall trasparente consente solo il passaggio del traffico ARP (Address Resolution Protocol). Per tutto il resto del traffico è necessario un Access Control List (ACL). Per consentire le richieste e le risposte DHCP tramite l'appliance di sicurezza in modalità trasparente, è necessario configurare due ACL:
Cisco consiglia di avere una conoscenza base di ASA CLI e Cisco IOS® CLI.
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Il protocollo DHCP fornisce agli host parametri di configurazione automatica, ad esempio un indirizzo IP con una subnet mask, un gateway predefinito, l'indirizzo del server DNS e l'indirizzo WINS (Windows Internet Name Service). Inizialmente, i client DHCP non hanno nessuno di questi parametri di configurazione. Per ottenere queste informazioni, inviano una richiesta di trasmissione. Quando un server DHCP riceve questa richiesta, fornisce le informazioni necessarie. A causa della natura di queste richieste di trasmissione, il client e il server DHCP devono trovarsi nella stessa subnet. I dispositivi di layer 3, quali router e firewall, in genere non inoltrano queste richieste di trasmissione per impostazione predefinita.
Un tentativo di individuare i client DHCP e un server DHCP nella stessa subnet non è sempre conveniente. In questa situazione, è possibile utilizzare l'inoltro DHCP. Quando l'agente di inoltro DHCP sull'appliance di sicurezza riceve una richiesta DHCP da un host su un'interfaccia interna, inoltra la richiesta a uno dei server DHCP specificati su un'interfaccia esterna. Quando il server DHCP risponde al client, l'appliance di sicurezza inoltra la risposta. Pertanto, l'agente di inoltro DHCP funge da proxy per il client DHCP nella conversazione con il server DHCP.
Nell'immagine viene mostrato il flusso del pacchetto DHCP quando non si usa un agente di inoltro DHCP:
L'ASA intercetta questi pacchetti e li incapsula nel formato di inoltro DHCP:
Prendere nota del contenuto evidenziato in ROSSO, perché è così che l'appliance ASA modifica i vari campi.
Nota: se un client VPN richiede un indirizzo IP, l'indirizzo IP dell'agente di inoltro è il primo indirizzo IP utilizzabile definito dal comando dhcp-network-scope nell'ambito dei criteri di gruppo.
Nota: a causa della correzione incorporata nell'ID bug Cisco CSCuo89924, l'appliance ASA nelle versioni 9.1(5.7), 9.3(1) e successive può inoltrare i pacchetti unicast all'origine IP del server DHCP dall'indirizzo IP dell'interfaccia rivolta al client (giaddr) su cui è abilitato dhcprelay. In questo caso, può essere l'indirizzo IP dell'interfaccia interna.
Questa è una richiesta DHCP inoltrata all'interfaccia del server DHCP 198.51.100.2:
DHCPRA: relay binding created for client 0050.5684.396a.DHCPD:
setting giaddr to 192.0.2.1.
dhcpd_forward_request: request from 0050.5684.396a forwarded to 198.51.100.2.
DHCPD/RA: Punt 198.51.100.2/17152 --> 192.0.2.1/17152 to CP
DHCPRA: Received a BOOTREPLY from interface 2
DHCPRA: relay binding found for client 0050.5684.396a.
DHCPRA: Adding rule to allow client to respond using offered address 192.0.2.4
Dopo aver ricevuto la risposta dal server DHCP, l'appliance di sicurezza la inoltra al client DHCP con indirizzo MAC 0050.5684.396a e modifica l'indirizzo del gateway nella relativa interfaccia interna.
DHCPRA: forwarding reply to client 0050.5684.396a.
DHCPRA: relay binding found for client 0050.5684.396a.
DHCPD: setting giaddr to 192.0.2.1.
dhcpd_forward_request: request from 0050.5684.396a forwarded to 198.51.100.2.
DHCPD/RA: Punt 198.51.100.2/17152 --> 192.0.2.1/17152 to CP
DHCPRA: Received a BOOTREPLY from interface 2
DHCPRA: relay binding found for client 0050.5684.396a.
DHCPRA: exchange complete - relay binding deleted for client 0050.5684.396a.
DHCPD: returned relay binding 192.0.2.1/0050.5684.396a to address pool.
dhcpd_destroy_binding() removing NP rule for client 192.0.2.1
DHCPRA: forwarding reply to client 0050.5684.396a.
La stessa transazione viene visualizzata anche nei syslog:
%ASA-7-609001: Built local-host inside:0.0.0.0
%ASA-7-609001: Built local-host identity:255.255.255.255
%ASA-6-302015: Built inbound UDP connection 13 for inside:
0.0.0.0/68 (0.0.0.0/68) to identity:255.255.255.255/67 (255.255.255.255/67)
%ASA-7-609001: Built local-host identity:198.51.100.1
%ASA-7-609001: Built local-host outside:198.51.100.2
%ASA-6-302015: Built outbound UDP connection 14 for outside:
198.51.100.2/67 (198.51.100.2/67) to identity:198.51.100.1/67 (198.51.100.1/67)
%ASA-7-609001: Built local-host inside:192.0.2.4
%ASA-6-302020: Built outbound ICMP connection for
faddr 192.0.2.4/0 gaddr 198.51.100.2/1 laddr 198.51.100.2/1
%ASA-7-609001: Built local-host identity:192.0.2.1
%ASA-6-302015: Built inbound UDP connection 16 for outside:
198.51.100.2/67 (198.51.100.2/67) to identity:192.0.2.1/67 (192.0.2.1/67)
%ASA-6-302015: Built outbound UDP connection 17 for inside:
192.0.2.4/68 (192.0.2.4/68) to identity:192.0.2.1/67 (192.0.2.1/67)
%ASA-6-302021: Teardown ICMP connection for
faddr 192.0.2.4/0 gaddr 198.51.100.2/1 laddr 198.51.100.2/1
In questa sezione vengono presentate le informazioni utilizzate per configurare le funzionalità descritte più avanti nel documento.
Il documento usa la seguente configurazione di rete:
In questo documento vengono usate le seguenti configurazioni:
dhcprelay server 198.51.100.2 outside
dhcprelay enable inside
dhcprelay setroute inside
dhcprelay timeout 60
show run
!
hostname ASA
names
!
interface Ethernet0/0
nameif inside
security-level 0
ip address 192.0.2.1 255.255.255.0
!
interface Ethernet0/1
nameif outside
security-level 100
ip address 198.51.100.1 255.255.255.0
!
interface Ethernet0/2
no nameif
no security-level
no ip address
!
interface Ethernet0/3
no nameif
no security-level
no ip address
!
interface Management0/0
shutdown
no nameif
no security-level
no ip address
!
ftp mode passive
no pager
logging enable
logging buffer-size 40960
logging buffered debugging
mtu inside 1500
mtu outside 1500
no failover
icmp unreachable rate-limit 1 burst-size 1
no asdm history enable
arp timeout 14400
timeout xlate 0:30:00
timeout pat-xlate 0:00:30
timeout conn 3:00:00 half-closed 0:30:00 udp 0:15:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 0:30:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute
timeout tcp-proxy-reassembly 0:01:00
timeout floating-conn 0:00:00
dynamic-access-policy-record DfltAccessPolicy
http server enable
http 0.0.0.0 0.0.0.0 inside
no snmp-server location
no snmp-server contact
crypto ipsec security-association lifetime seconds 28800
crypto ipsec security-association lifetime kilobytes 4608000
telnet timeout 5
ssh timeout 5
console timeout 0
dhcprelay server 198.51.100.2 Outside
dhcprelay enable inside
dhcprelay setroute inside
//Defining DHCP server IP and interface//
//Enables DHCP relay on inside/client facing interface//
//Sets ASA inside as DG for clients in DHCP reply packets//
dhcprelay timeout 60
threat-detection basic-threat
threat-detection statistics access-list
no threat-detection statistics tcp-intercept
webvpn
!
!
prompt hostname context
no call-home reporting anonymous
call-home
profile CiscoTAC-1
no active
destination address http https://tools.cisco.com/its/service/oddce/services/DDCEService
destination address email callhome@cisco.com
destination transport-method http
subscribe-to-alert-group diagnostic
subscribe-to-alert-group environment
subscribe-to-alert-group inventory periodic monthly
subscribe-to-alert-group configuration periodic monthly
subscribe-to-alert-group telemetry periodic daily
Cryptochecksum:7ae5f655ffe399c8a88b61cb13425972
: end
show run
Building configuration...
Current configuration : 1911 bytes
!
! Last configuration change at 18:36:05 UTC Tue May 28 2013
version 15.1
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname Router
!
boot-start-marker
boot-end-marker
!
!
logging buffered 4096
!
no aaa new-model
!
crypto pki token default removal timeout 0
!
!
dot11 syslog
ip source-route
!
ip dhcp excluded-address 192.0.2.1 192.0.2.2
ip dhcp excluded-address 192.0.2.10 192.0.2.254
//IP addresses exluded from DHCP scope//
!
ip dhcp pool pool1
import all network 192.0.2.0 255.255.255.0
dns-server 192.0.2.10 192.0.2.11 domain-name cisco.com
//DHCP pool configuration and various parameters//
!
!
!
ip cef
no ipv6 cef
!
multilink bundle-name authenticated
!
!
!
license udi pid CISCO1811W-AG-A/K9 sn FCTxxxx
!
!
!
interface Dot11Radio0
no ip address
shutdown
speed basic-1.0 basic-2.0 basic-5.5 6.0 9.0 basic-11.0 12.0 18.0 24.0 36.0 48.0 54.0
station-role root
!
interface Dot11Radio1
no ip address
shutdown
speed basic-6.0 9.0 basic-12.0 18.0 basic-24.0 36.0 48.0 54.0
station-role root
!
interface FastEthernet0
ip address 198.51.100.2 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet1
no ip address
duplex auto
speed auto
!
interface FastEthernet2
no ip address
!
interface FastEthernet3
no ip address
!
interface FastEthernet4
no ip address
!
interface FastEthernet5
no ip address
!
interface FastEthernet6
no ip address
!
interface FastEthernet7
no ip address
!
interface FastEthernet8
no ip address
!
interface FastEthernet9
no ip address
!
interface Vlan1
no ip address
!
interface Async1
no ip address
encapsulation slip
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
!
ip route 192.0.2.0 255.255.255.0 198.51.100.1
//Static route to ensure replies are routed to relay agent IP//
!
!
!
control-plane
!
!
line con 0
line 1
modem InOut
stopbits 1
speed 115200
flowcontrol hardware
line aux 0
line vty 0 4
login
transport input all
!
end
È possibile definire fino a dieci server DHCP. Quando un client invia un pacchetto DHCP Discover, lo inoltra a tutti i server DHCP.
Di seguito è riportato un esempio:
dhcprelay server 198.51.100.2 outside dhcprelay server 198.51.100.3 outside dhcprelay server 198.51.100.4 outside dhcprelay enable inside dhcprelay setroute inside
Di seguito sono riportati alcuni esempi di debug quando si utilizzano più server DHCP:
DHCP: Received a BOOTREQUEST from interface 2 (size = 300) DHCPRA: relay binding found for client 000c.291c.34b5. DHCPRA: setting giaddr to 192.0.2.1. dhcpd_forward_request: request from 000c.291c.34b5 forwarded to 198.51.100.2. dhcpd_forward_request: request from 000c.291c.34b5 forwarded to 198.51.100.3. dhcpd_forward_request: request from 000c.291c.34b5 forwarded to 198.51.100.4.
Di seguito è riportato un esempio di acquisizione di pacchetti quando si utilizzano più server DHCP:
ASA# show cap out 3 packets captured 1: 18:48:41.211628 192.0.2.1.67 > 198.51.100.2.67: udp 300
2: 18:48:41.211689 192.0.2.1.67 > 198.51.100.3.67: udp 300
3: 18:48:41.211704 192.0.2.1.67 > 198.51.100.4.67: udp 300
Fare riferimento a questa sezione per verificare che la configurazione funzioni correttamente.
Per visualizzare le informazioni statistiche sui servizi di inoltro DHCP, immettere il comando show dhcprelay statistics sulla CLI di ASA:
ASA# show dhcprelay statistics
DHCP UDP Unreachable Errors: 1
DHCP Other UDP Errors: 0
Packets Relayed
BOOTREQUEST 0
DHCPDISCOVER 1
DHCPREQUEST 1
DHCPDECLINE 0
DHCPRELEASE 0
DHCPINFORM 0
BOOTREPLY 0
DHCPOFFER 1
DHCPACK 1
DHCPNAK 0
Questo output fornisce informazioni su diversi tipi di messaggi DHCP, ad esempio DHCP DISCOVER, DHCP REQUEST, DHCP OFER, DHCP RELEASE e DHCP ACK.
Le informazioni contenute in questa sezione permettono di risolvere i problemi relativi alla configurazione.
Router#show ip dhcp server statistics
Memory usage 56637
Address pools 1
Database agents 0
Automatic bindings 1
Manual bindings 0
Expired bindings 0
Malformed messages 0
Secure arp entries 0
Message Received
BOOTREQUEST 0
DHCPDISCOVER 1
DHCPREQUEST 1
DHCPDECLINE 0
DHCPRELEASE 0
DHCPINFORM 0
Message Sent
BOOTREPLY 0
DHCPOFFER 1
DHCPACK 1
DHCPNAK 0
ASA# show dhcprelay state
Context Configured as DHCP Relay
Interface inside, Configured for DHCP RELAY SERVER
Interface outside, Configured for DHCP RELAY
È inoltre possibile utilizzare i seguenti comandi di debug:
Nota: consultare le informazioni importanti sui comandi di debug prima di usare i comandi di debug.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
2.0 |
17-May-2023 |
Testo alternativo e nuove immagini aggiunti.
Introduzione aggiornata, traduzione automatica, requisiti di stile, limiti e formattazione. |
1.0 |
30-May-2013 |
Versione iniziale |