Sécurité : Logiciel Cisco Adaptive Security Appliance (ASA)

Exemple de configuration de relais DHCP ASA

16 décembre 2015 - Traduction automatique
Autres versions: PDFpdf | Anglais (22 août 2015) | Commentaires

Introduction

Ce document décrit le relais DHCP sur l'appliance de sécurité adaptable Cisco (ASA) à l'aide des captures de paquet et met au point, et fournit un exemple de configuration.

Contribué par Sourav Kakkar et Dinkar Sharma, ingénieurs TAC Cisco.

Conditions préalables

Un agent de relais DHCP permet aux dispositifs de sécurité pour expédier des requêtes DHCP des clients à un routeur ou à tout autre serveur DHCP connecté à une interface différente.

Ces restrictions s'appliquent seulement à l'utilisation de l'agent de relais DHCP :

  • L'agent de relais ne peut pas être activé si la caractéristique de serveur DHCP est également activée.
  • Vous devez être directement connecté aux dispositifs de sécurité et ne pouvez pas envoyer des demandes par un autre agent de relais ou un routeur.
  • Pour le mode de contexte multiple, vous ne pouvez pas activer le relais DHCP, ou configurez un serveur de relais DHCP sur une interface qui est utilisée par plus d'un contexte.

Les services de relais DHCP ne sont pas disponibles dans le mode transparent de Pare-feu. Des dispositifs de sécurité en mode transparent de Pare-feu permettent seulement le trafic de Protocole ARP (Address Resolution Protocol). Tout autre trafic exige une liste de contrôle d'accès (ACL). Afin de permettre des requêtes DHCP et des réponses par les dispositifs de sécurité en mode transparent, vous devez configurer deux ACLs :

  • Un ACL qui permet des requêtes DHCP de l'interface interne à l'extérieur
  • Un ACL qui permet les réponses du serveur dans l'autre direction

Conditions requises

Cisco recommande que vous ayez une compréhension de base d'ASA CLI et Cisco IOS® CLI.

Composants utilisés

Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :

Les informations contenues dans ce document ont été créées à partir des périphériques d'un environnement de laboratoire spécifique. Tous les périphériques utilisés dans ce document ont démarré avec une configuration effacée (par défaut). Si votre réseau est opérationnel, assurez-vous que vous comprenez l'effet potentiel de toute commande.

Informations générales

Le protocole DHCP fournit des paramètres de configuration automatique, tels qu'une adresse IP avec un masque de sous-réseau, une passerelle par défaut, une adresse de serveur de DNS, et une adresse Sans fil de capteur de réseau intégré (WINS) aux hôtes. Au commencement, les clients DHCP n'en ont aucun de ces paramètres de configuration. Afin d'obtenir ces informations, ils envoient une demande de diffusion pour elle. Quand un serveur DHCP voit cette demande, le serveur DHCP fournit les informations nécessaires. En raison de la nature de ces demandes de diffusion, du DHCP Client et du serveur doit être sur le même sous-réseau. Les périphériques de la couche 3 tels que des Routeurs et des Pare-feu n'expédient pas typiquement ces demandes de diffusion par défaut.

Une tentative de localiser des clients DHCP et un serveur DHCP sur le même sous-réseau ne pourrait pas toujours être commode. Dans une telle situation, vous pouvez utiliser le relais DHCP. Quand l'agent de relais DHCP sur les dispositifs de sécurité reçoit une requête DHCP d'un hôte sur une interface interne, il en avant la demande à un des serveurs DHCP spécifiés sur une interface extérieure. Quand le serveur DHCP répond au client, les dispositifs de sécurité en avant qui répondent de retour. Ainsi, l'agent de relais DHCP agit en tant que proxy pour le DHCP Client dans sa conversation avec le serveur DHCP. 

Flux des paquets

Cette image illustre l'écoulement de paquet DHCP quand un agent de relais DHCP n'est pas utilisé :

L'ASA intercepte ces paquets et les enveloppe dans le format de relais DHCP : 

Relais DHCP avec des captures de paquet sur l'interface interne et externe ASA

Notez le contenu highligted en ROUGE, parce que c'est comment l'ASA modifie de divers champs.

  1. Afin de commencer le processus DHCP, démarrez le système et envoyez un message de diffusion (DHCPDISCOVER) à l'adresse de destination 255.255.255.255 - le port UDP 67.



    Remarque: Si un client vpn demande une adresse IP, l'adresse IP de relais-agent est la première adresse IP utilisable qui est définie par la commande de DHCP-réseau-portée, dans le cadre de la stratégie de groupe.



  2. Normalement, l'ASA relâcherait l'émission, mais parce qu'elle est configurée pour agir en tant que relais DHCP, lui en avant le message DHCPDISCOVER comme paquet monodiffusion à l'approvisionnement IP du serveur DHCP de l'IP d'interface qui fait face au serveur. Dans ce cas, c'est l'adresse IP extérieure d'interface. Notez le changement de l'en-tête IP et transmettez par relais le champ d'agent :



    Remarque: En raison de la difficulté incorporée dans l'ID de bogue Cisco CSCuo89924, l'ASA dans les versions 9.1(5.7), 9.3(1), et plus tard expédiera les paquets monodiffusions à l'accès IP des sever DHCP de l'IP address d'interface qui se pose au client (giaddr) où le dhcprelay est activé. Dans ce cas, ce sera l'adresse IP d'interface interne.



  3. Le serveur renvoie un message DHCPOFFER comme paquet monodiffusion à l'ASA, destinée à l'IP d'agent de relais installé dans le port UDP 67 DHCPDISCOVER-. Dans ce cas, c'est l'adresse IP de l'interface interne (giaddr), où dhcprelay est activé. Notez l'IP de destination dans l'en-tête de la couche 3 :



  4. L'ASA envoie ce paquet hors de l'interface interne - le port UDP 68. Notez le changement de l'en-tête IP tandis que le paquet part de l'interface interne :



  5. Une fois que vous recevez le message DHCPOFFER, envoyez un message DHCPREQUEST afin d'indiquer que vous recevez l'offre.



  6. L'ASA passe le DHCPREQUEST au serveur DHCP.



  7. Une fois que le serveur obtient le DHCPREQUEST, il renvoie le DHCPACK afin de confirmer l'IP offert.



  8. L'ASA te passe le DHCPACK du serveur DHCP, et cela se termine la transaction.

Debugs et Syslog pour des transactions de relais DHCP

C'est une requête DHCP expédiée à l'interface 198.51.100.2 de serveur DHCP :

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

Après que la réponse soit reçue du serveur DHCP, les dispositifs de sécurité en avant elle au DHCP Client avec l'adresse MAC 0050.5684.396a, et change l'adresse de passerelle à sa propre interface interne.

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 même transaction apparaît dans les Syslog aussi bien :

%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

Configurez

Cette section vous fournit des informations pour configurer les fonctionnalités décrites dans ce document.

Remarque: Utilisez l'Outil de recherche de commande (clients enregistrés seulement) pour obtenir plus d'informations sur les commandes utilisées dans cette section.

Diagramme du réseau

Ce document utilise la configuration réseau suivante :

Configurations

Ce document utilise les configurations suivantes :

Configuration de relais DHCP avec l'utilisation du CLI

dhcprelay server 198.51.100.2 outside
dhcprelay enable inside
dhcprelay setroute inside
dhcprelay timeout 60

Configuration finale de relais DHCP

show run
: Saved
:
ASA Version 9.1(5)
!
hostname ASA
enable password 8Ry2YjIyt7RRXU24 encrypted
passwd 2KFQnbNIdI.2KYOU encrypted
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
!
boot system disk0:/asa825-k8.bin
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

Configuration du serveur DHCP

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

Relais DHCP avec de plusieurs serveurs DHCP

Vous pouvez définir jusqu'à dix serveurs DHCP. Quand un client envoie un DHCP découvrez le paquet, il est expédié à tous les serveurs DHCP.

Voici un exemple :

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

Debugs avec de plusieurs serveurs DHCP

Voici un certain exemple met au point quand de plusieurs serveurs DHCP sont utilisés :

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.

Captures avec de plusieurs serveurs DHCP

Voici une capture de paquet d'exemple quand de plusieurs serveurs DHCP sont utilisés :

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

Vérifiez

Utilisez cette section pour confirmer que votre configuration fonctionne correctement.

Afin de visualiser les informations statistiques au sujet des services de relais DHCP, sélectionnez la commande dhcprelay de statistiques d'exposition sur l'ASA CLI :

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


Cette sortie fournit des informations sur plusieurs types de message DHCP, tels que DHCPDISCOVER, REQUÊTE DHCP, DHCP OFER, RELEASE DHCP, et DHCP ACK.

  • affichez l'état dhcprelay sur ASA CLI
  • show ip dhcp server statistics sur le routeur CLI

Remarque: L'Output Interpreter Tool (clients enregistrés seulement) prend en charge certaines commandes show. Utilisez l'Output Interpreter Tool afin de visualiser une analyse de sortie de commande show.

Dépannez

Cette section fournit des informations que vous pouvez utiliser pour dépanner votre configuration.

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

Remarque: L'Output Interpreter Tool (clients enregistrés seulement) prend en charge certaines commandes show. Utilisez l'Output Interpreter Tool afin de visualiser une analyse de sortie de commande show.

Vous pouvez également utiliser ces commandes de débogage :

  • mettez au point le paquet dhcprelay
  • mettez au point l'événement dhcprelay
  • Captures
  • Syslog

Remarque: Référez-vous aux informations importantes sur les commandes de débogage avant d'utiliser les commandes de débogage.

Informations connexes


Conversations connexes de la communauté de soutien de Cisco

Le site Cisco Support Community est un forum où vous pouvez poser des questions, répondre à des questions, faire part de suggestions et collaborer avec vos pairs.


Document ID: 116265