지난 시간에 이어 오늘은 DHCP Proxy Agent에 대해서 살펴 보도록 하겠습니다.
DHCP Relay Agent는 동일 서브넷 상에서 단말이 송신하는 DHCP 브로드캐스트 패킷(DHCP Discover/ Request)을 수신하여 이 메시지를 다른 서브넷에 위치하는 DHCP 서버로 전달하는 기능을 수행합니다. 반면 DHCP Proxy Agent는 단순히 DHCP 메시지를 단말과 서버간에 전달해 주는 기능 외에 단말과 DHCP 서버 사이에서 DHCP 서버와 DHCP 클라이언트 기능을 모두 지원하는 녀석입니다.
즉, 단말에게는 DHCP Proxy Agent가 DHCP 서버로 보이도록 하고, DHCP 서버에게는 DHCP Proxy Agent가 단말로 보이도록 합니다.
아래 그림은 DHCP Relay Agent와 DHCP Proxy Agent의 차이를 나타내고 있습니다.
DHCP Relay Agent는 IP 주소 할당(임대) 절차에서 사용되는 브로드캐스트 패킷들에 대해서만 중간에서 릴레이(relay) 기능을 수행하는 반면, DHCP Proxy Agent는 IP 주소 할당(IP address Allocation), IP 주소 임대기간 연장(IP address Renewal), IP 주소 반납(IP address Release) 절차에서 사용되는 모든 DHCP 메시지(브로드캐스트 및 유니캐스트)에 대해서 중간에서 DHCP 서버 및 DHCP 클라이언트 기능을 수행합니다.
그러면 이와 같은 DHCP Proxy Agent는 DHCP Relay Agent와 비교하였을 때 뭐가 좋은 걸까요?
- DHCP 서버의 IP 주소가 사용자(단말)에게 공개되지 않기 때문에 DHCP 서버를 대상으로 하는 DoS(Denial of Service)와 같은 공격에 대해 보호가 가능합니다(사용자는 오직 DHCP Proxy Agent의 주소만 보임).
- DHCP Proxy Agent는 DHCP 메시지를 통해 할당된 가입자의 IP 주소 목록을 유지하므로 이 정보를 기반으로 IP-to-MAC 바인딩 테이블을 생성하고, DHCP 절차를 통해 IP 주소를 할당 받지 않은 사용자(예를 들어 고정 IP 설정 사용자)의 트래픽을 차단 할 수 있습니다. 실제 넷매니아즈에서 SI(System Integration)를 수행한 네덜란드 V사의 경우 Juniper BRAS에 DHCP Proxy Agent를 설정하여 이와 같은 보안 기능을 적용하였었습니다.
그렇다면 가입자는 DHCP 서버의 주소를 DHCP Proxy Agent로 알도록 하는 방법은 뭘까요?
- 그건 바로 DHCP 메시지에 포함된 "DHCP Server Identifier(Option 54)" 필드의 주소를 실제 DHCP 서버의 주소가 아닌 DHCP Proxy Agent의 주소로 하여 단말에 전달해 주기 때문입니다.
네트워크 공부하는 초심자인데 정리가 잘 되있네요. 좋은 자료 잘 보고 갑니다.