1. Introduction to DHCP Proxy Agent
1) Introduction to DHCP Proxy Agent
- 단순히 DHCP 메시지를 클라이언트와 서버 간에 전달해 주는 기능 외에 DHCP 서버와 클라이언트 기능을 모두 지원
- 클라이언트에게는 Proxy Agent가 DHCP 서버로, DHCP 서버에게는 Proxy Agent가 클라이언트처럼 동작
2) DHCP Relay Agent vs Proxy Agent
- Relay Agent는 DHCP 메시지 중에 클라이언트가 전송한 Broadcast 메시지만 Unicast로 Relay 기능을 수행
- Proxy Agent는 모든 DHCP 메시지(Broadcast and Unicast)에 대해서 DHCP 서버 및 클라이언트 기능을 수행
- Relay Agnet 사용 시, 클라이언트는 실제 DHCP 서버 IP 정보 확인 가능
- Proxy Agent 사용 시, 클라이언트는 Proxy Agent Uplink IP 정보를 DHCP 서버로 인지
3) DHCP Proxy Agent 보안 기능
(1) DHCP Proxy Agent 보안 기능
- 클라이언트는 DHCP 서버의 IP Address를 알지 못하므로 DHCP 서버를 대상으로 Dos와 같은 공격에 대해 보호 가능
- Proxy Agent(Gateway)는 DHCP 절차를 통해 할당받은 IP Address를 사용하는 클라이언트가 전송한 ARP Request 패킷에 대해서만 ARP Reply를 전송하여 Static으로 IP Address를 사용하는 클라이언트는 외부 네트워크와 통신 불가
- 단, DHCP Proxy Agent를 Gateway 장비로 사용해야 적용 가능
- 단말이 Gateway에 대한 MAC Address만 알 수 있으면 해당 보안 기능은 쉽게 무력화
- Proxy Agent 장비는 "IP-to-MAC Binding Table"을 기준으로 유효한 클라이언트에게만 ARP Reply를 전송
(2) IP-to-MAC Binding Table Create and Delete
- DHCP Ack 메시지의 필드 정보로 "IP-to-MAC Binding Table"에 Client MAC Address, Client IP Address, Proxy Agent Interface, Lease Time, Expired Time 정보를 기록하여 생성
- Expired Time은 Lease Time과 동일하게 구성되고 1s마다 1씩 감소
- Expired Time이 0이 되거나 Release 메시지를 수신하면 "IP-to-MAC Binding Table"에서 정보를 삭제
- IP Address Allocation 및 IP Address Renewal 진행 시, Expired Time을 Ack 메시지에 포함된 Lease Time으로 Reset
(3) ARP Reply based on IP-to-MAC Binding Table
- 일반적으로 클라이언트의 Gateway에 해당하는 장비에 DHCP Proxy Agent를 사용하는데, DHCP Proxy Agent는 클라이언트의 ARP Requset 패킷에 대해 "IP-to-MAC Binding Table"을 검사하여 클라이언트의 유효성을 검사
- 단말이 Gateway(Proxy Agent)로 ARP Request를 전송하면 Sender MAC과 Sender IP 정보가 "IP-to-MAC Binding Table"에 존재하면 유효하다고 판단하여 ARP Reply를 전송하고 없으면 ARP Reply 미전송
- 정상적인 DHCP 절차를 통해 IP Address를 할당받은 클라이언트는 Gateway로부터 ARP Reply 수신 가능
- Static IP Address를 사용하는 장치는 Gateway로부터 ARP Reply를 수신하지 못하여 외부 네트워크로 전송 불가능
2. IP Address Allocation Procedure
1) Discover Message
- Proxy Agent는 Discover 메시지의 필드를 위 캡처 자료와 같이 변경하여 서버에게 Unicast로 전송
- Proxy Agent는 DHCP 메시지를 서버로 전송할 때, "Gateway IP Address"에 DHCP 메시지를 수신한 인터페이스의 IP Address를 기재
- 서버가 "Gateway IP Address" 필드의 IP Address를 참조하여 IP Pool을 선택하므로 클라이언트와 동일 네트워크에 위치하는 IP Address를 사용
- 서버는 "DHCP Server Identifier" 필드가 본인이 아닌 경우, 해당 DHCP 메시지를 Discard 하므로 Proxy Agent가 "DHCP Server Identifier" 필드를 변경
2) Offer Message
- 서버는 Destination IP를 Discover 메시지의 "Gateway IP Address"로 구성하여 Offer 메시지를 전송
- 서버는 "Gateway IP Address"가 0.0.0.0이 아니면 Broadcast Flag에 상관없이 Proxy Agent에게 Unicast로 전송
- Proxy Agent는 Offer 메시지의 필드를 위 캡처 자료와 같이 변경하여 클라이언트에게 Unicast 또는 Broadcast로 전송
- 서버가 전송한 Offer 메시지의 Broadcast Flag=0인 경우 Unicast로 전송
- 서버가 전송한 Offer 메시지의 Broadcast Flag=1인 경우 Broadcast로 전송
- Proxy Agent는 Broadcast Flag=0일 경우, Destination MAC을 "Client Hardware Address" 필드로 변경하여 클라이언트에게 Unicast로 전송
- Proxy Agent는 Broadcast Flag=0일 경우, Destination IP를 "Your IP Address" 필드로 변경하여 클라이언트에게 Unicast로 전송
- Proxy Agent와 Relay Agent와의 차이점은 Offer 및 Ack 메시지에 포함된 "DHCP Server Identifier(Option 54)" 필드를 DHCP Proxy Agent Uplink IP Address로 변경하여 클라이언트는 Proxy Agent를 서버로 인식
3) Request Message
- Proxy Agent는 Request 메시지의 필드를 위 캡처 자료와 같이 변경하여 서버에게 Unicast로 전송
- Proxy Agent는 DHCP 메시지를 서버로 전송할 때, "Gateway IP Address"에 DHCP 메시지를 수신한 인터페이스의 IP Address를 기재
- 서버가 "Gateway IP Address" 필드의 IP Address를 참조하여 IP Pool을 선택하므로 클라이언트와 동일 네트워크에 위치하는 IP Address를 사용
- 서버는 "DHCP Server Identifier" 필드가 본인이 아닌 경우, 해당 DHCP 메시지를 Discard 하므로 Proxy Agent가 "DHCP Server Identifier" 필드를 변경
4) Ack Message
- 서버는 Destination IP를 Request 메시지의 "Gateway IP Address"로 구성하여 Ack 메시지 전송
- 서버는 "Gateway IP Address"가 0.0.0.0이 아니면 Broadcast Flag에 상관없이 Proxy Agent에게 Unicast로 전송
- Proxy Agent는 Ack 메시지의 필드를 위 캡처 자료와 같이 변경하여 클라이언트에게 Unicast 또는 Broadcast로 전송
- 서버가 전송한 Ack 메시지의 Broadcast Flag=0인 경우 Unicast로 전송
- 서버가 전송한 Ack 메시지의 Broadcast Flag=1인 경우 Broadcast로 전송
- Proxy Agent는 Broadcast Flag=0일 경우, Destination MAC을 "Client Hardware Address" 필드로 변경하여 클라이언트에게 Unicast로 전송
- Proxy Agent는 Broadcast Flag=0일 경우, Destination IP를 "Your IP Address" 필드로 변경하여 클라이언트에게 Unicast로 전송
- Proxy Agent와 Relay Agent와의 차이점은 Offer 및 Ack 메시지에 포함된 "DHCP Server Identifier(Option 54)" 필드를 DHCP Proxy Agent Uplink IP Address로 변경하여 클라이언트는 Proxy Agent를 서버로 인식
3. IP Address Renewal Procedure
1) Request Message
- Proxy Agent는 Request 메시지의 필드를 위 캡처 자료와 같이 변경하여 서버에게 Unicast로 전송
- "Requested IP Address(Option 50)" 및 "Server Identifier(Option 54)"는 해당 메시지에 포함 불가
- "IP Address Allocation Procedure"에서 사용되는 Request 메시지와 가장 큰 차이점은 "Client IP Address"가 기재되어 전송되는 것
- 클라이언트가 알고 있는 서버는 Proxy Agent Uplink IP이므로 Proxy Agent로 Request 메시지 전송
- Proxy Agent는 "Gateway IP Address"에 DHCP 메시지를 수신한 인터페이스의 IP Address를 기재
2) Ack Message
- Proxy Agent는 Ack 메시지의 필드를 위 캡처 자료와 같이 변경하여 서버에게 Unicast로 전송
- 서버는 Destination IP를 Request 메시지의 "Gateway IP Address"로 구성하여 Ack 메시지 전송
4. IP Address Release Procedure
1) Release Message
- Proxy Agent는 Release 메시지의 필드를 위 캡처 자료와 같이 변경하여 서버에게 Unicast로 전송
- 클라이언트가 알고 있는 서버는 Proxy Agent Uplink IP이므로 Proxy Agent로 Release 메시지 전송
- Proxy Agent는 "Gateway IP Address"에 DHCP 메시지를 수신한 인터페이스의 IP Address를 기재
'Network > DHCP' 카테고리의 다른 글
DHCP Smart-Relay Configuration(Cisco IOL) (0) | 2025.06.04 |
---|---|
DHCP Relay Agent Configuration(Cisco IOL) (0) | 2025.06.02 |
DHCP Pool Static Client Configuration(Cisco IOL) (0) | 2025.05.31 |
DHCP Basic Configuration(Cisco IOL) (0) | 2025.05.29 |
DHCP Relay Agent 동작 과정 (0) | 2025.05.25 |
DHCP 동작 과정 (0) | 2025.05.23 |
DHCP Message Format (0) | 2025.05.21 |
Introduction to DHCP (1) | 2025.05.19 |