المقدمة
يصف هذا المستند ترحيل DHCP على Cisco ASA بمساعدة عمليات التقاط الحزم وتصحيح أخطائها، ويقدم مثالا للتكوين.
المتطلبات الأساسية
يسمح وكيل ترحيل بروتوكول التكوين الديناميكي للمضيف (DHCP) لجهاز الأمان بإعادة توجيه طلبات DHCP من العملاء إلى موجه أو خادم DHCP آخر متصل بواجهة مختلفة.
تنطبق هذه القيود فقط على إستخدام وكيل ترحيل DHCP:
- لا يمكن تمكين وكيل الترحيل إذا تم تمكين ميزة خادم DHCP أيضا.
- يجب أن تكون متصلا مباشرة بجهاز الأمان ولا يمكنك إرسال الطلبات من خلال وكيل ترحيل آخر أو موجه.
- بالنسبة لوضع السياق المتعدد، لا يمكنك تمكين ترحيل DHCP، أو تكوين خادم ترحيل DHCP، على واجهة يتم إستخدامها من قبل أكثر من سياق.
لا تتوفر خدمات ترحيل DHCP في وضع جدار الحماية الشفاف. يسمح جهاز الأمان في وضع جدار الحماية الشفاف فقط لحركة مرور بروتوكول تحليل العنوان (ARP) من خلال. تتطلب جميع حركات المرور الأخرى قائمة تحكم في الوصول (ACL). للسماح بطلبات DHCP وردودها من خلال جهاز الأمان في الوضع الشفاف، يجب تكوين قائمتي تحكم في الوصول (ACL):
- قائمة تحكم في الوصول (ACL) واحدة تتيح طلبات DHCP من الواجهة الداخلية إلى الخارج.
- قائمة تحكم في الوصول (ACL) واحدة تسمح بالردود من الخادم في الإتجاه الآخر.
المتطلبات
cisco يوصي أن يتلقى أنت معرفة أساسية من ASA CLI و cisco IOS® CLI.
المكونات المستخدمة
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:
- جهاز الأمان ASA 5500-X Series Security Appliance، الإصدار 9.x أو إصدار أحدث
- الموجّهات من السلسلة 1800 من Cisco
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
معلومات أساسية
يوفر بروتوكول DHCP معلمات التكوين التلقائي، مثل عنوان IP بقناع شبكة فرعية، والبوابة الافتراضية، وعنوان خادم DNS، وعنوان خدمة اسم الإنترنت ل Windows (WINS) للمضيفين. في البداية، ليس لعملاء DHCP أي من معلمات التكوين هذه. للحصول على هذه المعلومات، يرسلون طلب بث لها. عندما يرى خادم DHCP هذا الطلب، يوفر خادم DHCP المعلومات الضرورية. نظرا لطبيعة طلبات البث هذه، يجب أن يكون عميل DHCP والخادم على الشبكة الفرعية نفسها. لا تقوم أجهزة الطبقة 3 مثل الموجهات وجدران الحماية عادة بإعادة توجيه طلبات البث هذه بشكل افتراضي.
لا تكون محاولة تحديد موقع عملاء DHCP وخادم DHCP على الشبكة الفرعية نفسها مناسبة دائما. في مثل هذه الحالة، يمكنك إستخدام ترحيل DHCP. عندما يستلم وكيل ترحيل DHCP على جهاز الأمان طلب DHCP من مضيف على واجهة داخلية، فإنه يعيد توجيه الطلب إلى أحد خوادم DHCP المحددة على واجهة خارجية. عندما يرد خادم DHCP على العميل، يرسل جهاز الأمان ذلك الرد. وبالتالي، يعمل وكيل ترحيل DHCP كوكيل لعميل DHCP في محادثته مع خادم DHCP.
تدفق الحزمة
يوضح هذا الصورة تدفق حزمة DHCP عندما لا يتم إستخدام وكيل ترحيل DHCP:
يعترض ال ASA هذا ربط ويثني هم في DHCP ترحيل تنسيق:
ترحيل DHCP باستخدام التقاط الحزم على واجهة ASA الداخلية والخارجية
دون ملاحظة للمحتوى المرفع بالأحمر، لأن ذلك هو الطريقة التي يعدل بها ASA مختلف الحقول.
- in order to بدأت ال DHCP عملية، مهدت النظام وأرسلت بث رسالة (DHCPDISCOVER) إلى الغاية عنوان 255.255.255.255 - UDP ميناء 67.
ملاحظة: إذا طلب عميل شبكة VPN عنوان IP، فإن عنوان IP لوكيل الترحيل هو أول عنوان IP قابل للاستخدام يتم تعريفه بواسطة الأمر DHCP-network-scope، ضمن نهج المجموعة.
- عادة، يقوم ASA بإسقاط البث، ولكن نظرا لأنه تم تكوينه للعمل كترحيل DHCP، فإنه يعيد توجيه رسالة DHCPdiscover كحزمة بث أحادي إلى مصدر IP لخادم DHCP من الواجهة IP التي تواجه الخادم. في هذه الحالة، هو الواجهة الخارجية عنوان. لاحظ التغيير في حقل رأس IP ووكيل الترحيل:
ملاحظة: بسبب الإصلاح المدمج في معرف تصحيح الأخطاء من Cisco CSCuo89924، ASA في الإصدارات 9.1(5.7) و 9.3(1)، وفيما بعد يمكن إعادة توجيه حزم البث الأحادي إلى مصدر IP لخادم DHCP من عنوان IP للواجهة الذي يواجه العميل (giaddr) حيث يتم تمكين dhcpPrelay. في هذه الحالة، هو يستطيع كنت القارن داخلي عنوان.
- يرسل الخادم رسالة DHCPpoffer كحزمة unicast إلى ASA، موجهة إلى وكيل الترحيل IP الذي تم إعداده في DHCPDISCOVER- UDP ميناء 67. في هذه الحالة، هو عنوان IP من القارن داخلي (giaddr)، حيث dhcprelay مكنت. لاحظت الغاية IP في الطبقة 3 رأس:
- يرسل ASA هذا ربط من القارن داخلي - UDP ميناء 68. لاحظ التغيير في رأس IP بينما تترك الحزمة الواجهة الداخلية:
- ما إن يستلم أنت ال DHCPoffer رسالة، أرسلت DHCPprequest رسالة in order to دلت أن أنت تقبل العرض.
- يمرر ASA ال DHCPprequest إلى خادم DHCP.
- بمجرد أن يحصل الخادم على DHCPprequest، فإنه يرسل DHCPACK مرة أخرى لتأكيد IP المعروض.
- يمرر ASA ال DHCPack من ال DHCP نادل إلى أنت، وأن يتم الحركة.
تصحيح الأخطاء و syslogs لحركات ترحيل DHCP
هذا طلب DHCP يرسل إلى واجهة خادم 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
بعد تلقي الرد من خادم DHCP، يقوم جهاز الأمان بإعادة توجيهه إلى عميل DHCP باستخدام عنوان MAC 0050.5684.396a، ويغير عنوان البوابة إلى الواجهة الداخلية الخاصة به.
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.
تظهر نفس المعاملة في syslogs أيضا:
%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
التكوين
في هذا القسم، تقدم لك المعلومات المستخدمة لتكوين الميزات الموضحة في هذا المستند.
الرسم التخطيطي للشبكة
يستخدم هذا المستند إعداد الشبكة التالي:
التكوينات
يستخدم هذا المستند التكوينات التالية:
- تكوين ترحيل DHCP باستخدام CLI
- التكوين النهائي لترحيل DHCP
- تكوين خادم DHCP
تكوين ترحيل DHCP باستخدام CLI
dhcprelay server 198.51.100.2 outside
dhcprelay enable inside
dhcprelay setroute inside
dhcprelay timeout 60
التكوين النهائي لترحيل DHCP
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
تكوين خادم 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
ترحيل DHCP باستخدام خوادم DHCP المتعددة
يمكنك تعريف ما يصل إلى عشرة خوادم DHCP. عندما يرسل العميل حزمة اكتشاف DHCP، تتم إعادة توجيهها إلى جميع خوادم DHCP.
فيما يلي مثال:
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
تصحيح الأخطاء مع خوادم DHCP متعددة
فيما يلي بعض الأمثلة على تصحيح الأخطاء عند إستخدام خوادم 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.
التقاط مع خوادم DHCP المتعددة
فيما يلي مثال على التقاط الحزم عند إستخدام خوادم 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
التحقق من الصحة
استخدم هذا القسم لتأكيد عمل التكوين بشكل صحيح.
لعرض المعلومات الإحصائية حول خدمات ترحيل DHCP، أدخل الأمر show dhcpPrelay statistics على واجهة سطر الأوامر (CLI) الخاصة ب 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
يزود هذا إنتاج معلومة على عدة DHCP رسالة نوع، مثل DHCPdiscover، DHCP طلب، DHCP نادل، DHCP إطلاق، و DHCP ACK.
- show dhcprelay دولة على ASA CLI
- عرض إحصائيات خادم ip dhcp على واجهة سطر الأوامر (CLI) للموجه
استكشاف الأخطاء وإصلاحها
يوفر هذا القسم معلومات يمكنك إستخدامها لاستكشاف أخطاء التكوين وإصلاحها.
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
يمكنك أيضا إستخدام أوامر تصحيح الأخطاء التالية:
- debug dhcprelay packet
- debug dhcprelay event
- التقاط
- Syslogs
ملاحظة: ارجع إلى معلومات مهمة حول أوامر التصحيح قبل إستخدام أوامر debug.
معلومات ذات صلة