소개
이 문서에서는 Catalyst 9000 스위치의 DHCP 문제를 해결하는 방법을 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- Catalyst 9000 Series 스위치 아키텍처.
- DHCP(Dynamic Host Configuration Protocol)
사용된 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- C9200
- C9300
- C9500
- C9400
- C9600
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
관련 제품
이 문서는 다음과 같은 하드웨어 및 소프트웨어 버전에서도 사용할 수 있습니다.
- Cisco IOS® XE 16.x를 사용하는 Catalyst 3650/3850 Series 스위치
문제 해결
DHCP 문제를 해결할 때 문제의 원인을 격리하기 위해 반드시 확인해야 할 중요한 정보가 있습니다. 소스에서 대상까지 네트워크의 토폴로지를 파악하고 그 사이에 있는 디바이스와 해당 역할을 식별하는 것은 매우 중요합니다.
이러한 역할에 따라 트러블슈팅을 시작하기 위해 수행할 수 있는 작업이 있습니다.
레이어 2 브리지로 구성된 스위치
이 시나리오에서 스위치는 수정 없이 DHCP 패킷을 수신하고 전달해야 합니다.
1단계. 패킷의 경로를 확인합니다.
- DHCP 서버를 향한 클라이언트 및 다음 홉 디바이스가 연결되는 인터페이스를 식별합니다.
- 영향을 받는 VLAN을 식별합니다.
예: C9300 스위치의 VLAN 10에서 인터페이스 Gigabitethernet1/0/12에 연결된 클라이언트가 DHCP를 통해 IP 주소를 가져올 수 없는 경우 아래 토폴로지를 고려하십시오. DHCP 서버는 인터페이스 Gigabitethernet1/0/1에서도 VLAN 10에 연결됩니다.
클라이언트가 레이어 2 스위치에 연결되었습니다.
팁: 문제가 여러 디바이스 및 VLAN에 영향을 미치는 경우, 트러블슈팅을 수행할 하나의 클라이언트를 선택합니다.
2단계. 레이어 2 경로 확인
- 스위치에서 VLAN을 생성하고 활성화해야 합니다.
c9300#show vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Gi1/0/2, Gi1/0/3, Gi1/0/4, Gi1/0/5, Gi1/0/6, Gi1/0/7
Gi1/0/8, Gi1/0/9, Gi1/0/10, Gi1/0/11, Gi1/0/13
Gi1/0/14, Gi1/0/15, Gi1/0/16, Gi1/0/17, Gi1/0/18
Gi1/0/19, Gi1/0/20, Gi1/0/21, Gi1/0/22, Gi1/0/23
Gi1/0/24
10 users active Gi1/0/12
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
- VLAN은 인그레스 및 이그레스 인터페이스에서 허용되어야 합니다.
interface GigabitEthernet1/0/12
description Client Port
switchport access vlan 10
switchport mode access
interface GigabitEthernet1/0/1
description DHCP SERVER
switchport mode trunk
c9300#show interfaces trunk
Port Mode Encapsulation Status Native vlan
Gi1/0/1 on 802.1q trunking 1
Port Vlans allowed on trunk
Gi1/0/1 1-4094
Port Vlans allowed and active in management domain
Gi1/0/1 1,10
Port Vlans in spanning tree forwarding state and not pruned
Gi1/0/1 1,10
- 스위치는 올바른 VLAN에서 클라이언트의 mac 주소를 학습해야 합니다.
c9300-01#show mac address interface gi1/0/12
Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
10 7018.a7e8.4f46 DYNAMIC Gi1/0/12
- DHCP 스누핑이 구성된 경우 신뢰 인터페이스가 올바르게 설정되었는지 확인합니다.
3단계. 스위치가 클라이언트 포트에서 DHCP 검색 패킷을 수신하는지 확인합니다.
- EPC(Embedded Packet Capture) 툴을 사용할 수 있습니다.
- DHCP 패킷만 필터링하려면 ACL을 구성합니다.
c9300(config)#ip access-list extended DHCP
c9300(config-ext-nacl)#permit udp any any eq 68
c9300(config-ext-nacl)#permit udp any any eq 67
c9300(config-ext-nacl)#end
c9300#show access-lists DHCP
Extended IP access list DHCP
10 permit udp any any eq bootpc
20 permit udp any any eq bootps
- 클라이언트 포트에서 인바운드 방향의 패킷 캡처를 구성하고 시작합니다.
c9300#monitor capture cap interface GigabitEthernet1/0/12 in access-list DHCP
c9300#monitor capture cap start
Started capture point : cap
c9300#monitor capture cap stop
Capture statistics collected at software:
Capture duration - 66 seconds
Packets received - 5
Packets dropped - 0
Packets oversized - 0
Bytes dropped in asic - 0
Stopped capture point : cap
c9300#show monitor capture cap buffer brief
Starting the packet display ........ Press Ctrl + Shift + 6 to exit
1 0.000000 0.0.0.0 -> 255.255.255.255 DHCP 342 DHCP Discover - Transaction ID 0x9358003
2 3.653608 0.0.0.0 -> 255.255.255.255 DHCP 342 DHCP Discover - Transaction ID 0x935800
참고: 일반적인 상황에서는 클라이언트 포트에서 EPC를 양방향으로 수행하는 경우 DORA 프로세스가 완료된 것을 확인할 수 있습니다.
4단계. 스위치가 DHCP 검색을 전달하는지 확인합니다.
- 아웃바운드 방향의 이그레스 포트에서 캡처를 수행할 수 있습니다.
c9300#monitor capture cap interface GigabitEthernet1/0/1 out access-list DHCP
c9300#show monitor capture cap buffer brief
Starting the packet display ........ Press Ctrl + Shift + 6 to exit
1 0.000000 0.0.0.0 -> 255.255.255.255 DHCP 342 DHCP Discover - Transaction ID 0x4bf2a30e
2 0.020893 0.0.0.0 -> 255.255.255.255 DHCP 342 DHCP Discover - Transaction ID 0xe4331741
팁: 캡처에서 수집된 DHCP 검색이 문제 해결 중인 클라이언트에 속하는지 확인하려면 display-filter 옵션을 사용하여 EPC에 필터 dhcp.hw.mac_addr을 적용할 수 있습니다.
이 시점에서 스위치가 DHCP 패킷을 전달한다는 것을 확인했으며, 트러블슈팅을 DHCP 서버로 이동할 수 있습니다.
릴레이 에이전트로 구성된 스위치
릴레이 에이전트는 클라이언트와 DHCP 서버가 동일한 브로드캐스트 도메인에 속하지 않을 때 사용됩니다.
스위치가 릴레이 에이전트로 구성된 경우 스위치에서 DHCP 패킷이 수정됩니다. 클라이언트에서 보낸 패킷의 경우 스위치가 자체 정보(IP 주소 및 mac 주소)를 패킷에 추가하고 DHCP 서버를 향한 다음 홉으로 전송합니다. DHCP 서버에서 받은 패킷은 릴레이 에이전트를 가리킨 다음 스위치에서 다시 클라이언트로 전달합니다.
이전 시나리오의 예를 계속 진행하면 클라이언트가 VLAN 10의 Gigabitethernet1/0/12 인터페이스에 연결되어 DHCP를 통해 IP 주소를 가져올 수 없습니다. 이제 C9000 스위치가 VLAN 10의 기본 게이트웨이이며 릴레이 에이전트로 구성되었습니다. DHCP 서버가 VLAN 20의 Gigabitethernet1/0/1 인터페이스에 연결됩니다.
릴레이 에이전트로 구성된 레이어 3 스위치에 연결된 클라이언트입니다.
1단계. 스위치가 DHCP 검색을 수신하는지 확인합니다.
- 클라이언트에 대한 인터페이스에서 패킷 캡처를 실행합니다. 이전 시나리오의 3단계를 참조하십시오.
2단계. IP 헬퍼 컨피그레이션을 확인합니다.
show run all | in dhcp
service dhcp
- VLAN 10 SVI 아래의 IP helper 명령입니다.
interface vlan10
ip address 192.168.10.1 255.255.255.0
ip helper-address 192.168.20.1
3단계. DHCP 서버에 대한 연결을 확인합니다.
- 스위치는 클라이언트 VLAN에서 DHCP 서버에 대한 유니캐스트 연결을 가져야 합니다. ping으로 테스트할 수 있습니다.
c9300-01#ping 192.168.20.1 source vlan 10
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.20.1, timeout is 2 seconds:
Packet sent with a source address of 192.168.10.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
4단계. 스위치가 DHCP 패킷을 다음 홉으로 전달하는지 확인합니다.
- 디버그 ip dhcp 서버 패킷 세부사항을 실행할 수 있습니다.
*Feb 2 23:14:20.435: DHCPD: tableid for 192.168.10.1 on Vlan10 is 0
*Feb 2 23:14:20.435: DHCPD: client's VPN is .
*Feb 2 23:14:20.435: DHCPD: No option 125
*Feb 2 23:14:20.435: DHCPD: No option 124
*Feb 2 23:14:20.435: DHCPD: Option 125 not present in the msg.
*Feb 2 23:14:20.435: DHCPD: using received relay info.
*Feb 2 23:14:20.435: DHCPD: Looking up binding using address 192.168.10.1
*Feb 2 23:14:20.435: DHCPD: setting giaddr to 192.168.10.1.
*Feb 2 23:14:20.435: DHCPD: BOOTREQUEST from 0170.18a7.e84f.46 forwarded to 192.168.20.1.
- 패킷 캡처를 가져옵니다. 컨트롤 플레인에서 EPC를 사용할 수 있습니다.
monitor capture cap control-plane both access-list DHCP
monitor capture cap [start | stop]
- 이그레스 포트에서 SPAN을 취할 수도 있습니다.
Monitor session 1 source interface Gi1/0/1 tx
Monitor session 1 destination interface [interface ID] encapsulation replicate
참고: 경로에 릴레이 에이전트를 하나만 구성해야 합니다.
DHCP 서버로 구성된 스위치
이 시나리오에서는 스위치에 로컬로 구성된 DHCP 범위가 있습니다.
1단계. 기본 컨피그레이션을 확인합니다.
- 풀을 생성하고 네트워크, 서브넷 마스크 및 기본 라우터를 구성해야 합니다.
ip dhcp pool VLAN10
network 192.168.10.0 255.255.255.0
default-router 192.168.10.1
show run all | in dhcp
service dhcp
- 스위치는 풀에 구성된 네트워크에 대한 유니캐스트 연결을 가져야 합니다.
ping 192.168.10.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
- 정적으로 구성된 모든 IP 주소는 풀 범위에서 제외해야 합니다.
ip dhcp excluded-address 192.168.10.1
참고: 스위치가 DHCP 서버 또는 릴레이 에이전트로 구성된 경우 서비스 DHCP를 활성화해야 합니다.
2단계. 스위치가 IP 주소를 임대하고 있는지 확인합니다.
- debug ip dhcp server packet detail을 사용할 수 있습니다.
예 1: 클라이언트가 VLAN 10에서 DHCP 서버로 구성된 Catalyst 9000 스위치에 직접 연결합니다.
DHCP 서버로 구성된 레이어 3 스위치에 연결된 클라이언트입니다.
Feb 16 19:03:33.828: DHCPD: DHCPDISCOVER received from client 0063.6973.636f.2d39.6335.342e.3136.6237.2e37.6436.342d.5477.6531.2f30.2f31 on interface Vlan10.DHCPD: Setting only requested parameters
*Feb 16 19:03:33.828: DHCPD: Option 125 not present in the msg.
*Feb 16 19:03:33.828: DHCPD: egress Interfce Vlan10
*Feb 16 19:03:33.828: DHCPD: broadcasting BOOTREPLY to client 9c54.16b7.7d64.
*Feb 16 19:03:33.828: Option 82 not present
*Feb 16 19:03:33.828: DHCPD: tableid for 192.168.10.1 on Vlan10 is 0
*Feb 16 19:03:33.828: DHCPD: client's VPN is .
*Feb 16 19:03:33.828: DHCPD: No option 125
*Feb 16 19:03:33.828: DHCPD: Option 124: Vendor Class Information
*Feb 16 19:03:33.828: DHCPD: Enterprise ID: 9
*Feb 16 19:03:33.829: DHCPD: Vendor-class-data-len: 10
*Feb 16 19:03:33.829: DHCPD: Data: 4339333030582D313259
*Feb 16 19:03:33.829: DHCPD: DHCPREQUEST received from client 0063.6973.636f.2d39.6335.342e.3136.6237.2e37.6436.342d.5477.6531.2f30.2f31 on interface Vlan10
*Feb 16 19:03:33.829: DHCPD: Client is Selecting (DHCP Request with Requested IP = 192.168.10.2, Server ID = 192.168.10.1)
*Feb 16 19:03:33.829: DHCPD: Option 125 not present in the msg.
*Feb 16 19:03:33.829: DHCPD: No default domain to append - abort updateDHCPD: Setting only requested parameters
*Feb 16 19:03:33.829: DHCPD: Option 125 not present in the msg.
*Feb 16 19:03:33.829: DHCPD: egress Interfce Vlan10
*Feb 16 19:03:33.829: DHCPD: broadcasting BOOTREPLY to client 9c54.16b7.7d64
예 2: 클라이언트가 DHCP 서버로 구성된 Catalyst 9000 스위치에 직접 연결되어 있지 않습니다.
이 시나리오에서 클라이언트는 기본 게이트웨이 및 릴레이 에이전트로 설정된 L3 스위치에 연결되며 DHCP 서버는 VLAN 20의 네이버 Catalyst 9000 스위치에 호스팅됩니다.
DHCP 서버로 작동하는 레이어 3 스위치에 클라이언트가 직접 연결되지 않았습니다.
*Feb 16 19:56:35.783: DHCPD: DHCPDISCOVER received from client 0063.6973.636f.2d39.6335.342e.3136.6237.2e37.6436.342d.5477.6531.2f30.2f31 through relay 192.168.10.1.
*Feb 16 19:56:35.783: DHCPD: Option 125 not present in the msg.
*Feb 16 19:56:35.783: Option 82 not present
*Feb 16 19:56:35.783: Option 82 not present
*Feb 16 19:56:35.783: DHCPD: Option 125 not present in the msg.DHCPD: Setting only requested parameters
*Feb 16 19:56:35.783: DHCPD: Option 125 not present in the msg.
*Feb 16 19:56:35.783: DHCPD: egress Interfce Vlan20
*Feb 16 19:56:35.783: DHCPD: unicasting BOOTREPLY for client 9c54.16b7.7d64 to relay 192.168.10.1.
*Feb 16 19:56:35.785: Option 82 not present
*Feb 16 19:56:35.785: DHCPD: tableid for 192.168.20.1 on Vlan20 is 0
*Feb 16 19:56:35.785: DHCPD: client's VPN is .
*Feb 16 19:56:35.785: DHCPD: No option 125
*Feb 16 19:56:35.785: DHCPD: Option 124: Vendor Class Information
*Feb 16 19:56:35.785: DHCPD: Enterprise ID: 9
*Feb 16 19:56:35.785: DHCPD: Vendor-class-data-len: 10
*Feb 16 19:56:35.785: DHCPD: Data: 4339333030582D313259
*Feb 16 19:56:35.785: DHCPD: DHCPREQUEST received from client 0063.6973.636f.2d39.6335.342e.3136.6237.2e37.6436.342d.5477.6531.2f30.2f31 on interface Vlan20
*Feb 16 19:56:35.785: DHCPD: Client is Selecting (DHCP Request with Requested IP = 192.168.10.2, Server ID = 192.168.20.1)
*Feb 16 19:56:35.785: DHCPD: Option 125 not present in the msg.
*Feb 16 19:56:35.785: DHCPD: No default domain to append - abort updateDHCPD: Setting only requested parameters
*Feb 16 19:56:35.785: DHCPD: Option 125 not present in the msg.
*Feb 16 19:56:35.785: DHCPD: egress Interfce Vlan20
*Feb 16 19:56:35.785: DHCPD: unicasting BOOTREPLY for client 9c54.16b7.7d64 to relay 192.168.10.1.
참고: 스위치가 동일한 VLAN에 대해 DHCP 서버 및 릴레이 에이전트로 구성된 경우 DHCP 서버가 우선합니다.
관련 정보