DHCP
DHCP(Dynamic Host Configuration Protocol)
- 호스트에게 자동으로 IP 주소를 부여하는 프로토콜이다.
DHCP 동작 방식
-
DHCP클라이언트가 DHCP서버를 찾는 메세지를 보낸다. (Discover)
-
Broadcast(0.0.0.0 ~255.255.255.255) UDP 출발지 포트번호68 / 목적지 포트번호67
-
Client의 MAC주소도 포함되어 있음.
-
-
DHCP 서버가 제안 메세지를 보낸다. (Offer)
-
Broadcast(0.0.0.0 ~255.255.255.255)
-
client와 server의 운영체제에 따라 unicast 방식으로도 전송 가능
-
DHCP offer masage에 포함되는 주요정보
-
클라이언트가 사용할 IP 주소
-
서브넷 마스크
-
게이트웨이 주소
-
DNS 서버 주소
-
IP 주소를 사용할 수 있는 기간 (lease time)
-
클라이언트의 MAC 주소
-
DHCP 서버의 주소
-
-
DHCP 클라이언트가 요청 메세지를 보낸다. (Reqeust)
- Broadcast(0.0.0.0 ~255.255.255.255)
-
DHCP 서버가 요청확인 메세지를 보낸다. (ACK)
-
Broadcast(0.0.0.0 ~255.255.255.255)
-
client와 server의 운영체제에 따라 unicast 방식으로도 전송 가능
-
DHCP의 장점
-
DHCP는 pc가 off되면 dora를 통해 할당받은 ip를 반납한다.
-
DHCP로 유동 ip를 고객관리와 pc관리가 용이하고 많은 고객을 유치할 수 있다.
-
유동 사설->유동 고정->공인 유동->공인 고정 순으로 가격이 올라감
DHCP Relay_Agent
- PC 등 단말이 송신 하는 DHCP discover broadcst packet을 unicast로 변환하여 DHCP 서버에 전달하는 것 이다.
## DHCP Relay_Agent의 배경
-
DHCP Discover는 Broadcast이기 때문에 PC 등 단말과 DHCP 서버는 반드시 동일 네트워크 상에 위치 해야하는데 그 이유는 라우터가 Broadcast Packet를 다른 인터페이스로 포워딩 하지 않기 때문이다. 그렇기 때문에 단말이 송신한 Discover가 라우터를 통해 다른 서브넷에 위치한 DHCP 서버로 전달 될 수 없다.
-
이러한 제약적 상황으로 DHCP 서버가 각 네트워크 마다 위치해야 하는데 이는 실제 통신망 (기업 및 사업자 망)에서 실용적이지 못하다.
-
그래서 이와 같은 문제를 해결하기 위해 생겨난 것이 DHCP Relay_Agent 이다. Discover의 broadcast =>unicast로 변환
실습
# 공통설정
conf t
no ip domain lookup
line c 0
logg syn
exec-timeout 0
exit
# IP address
R1]
conf t
int f0/0
no shut
ip add 192.168.10.254 255.255.255.0
exit
int s1/0
no shut => default encapsulation HDLC protocol
ip add 25.25.12.1 255.255.255.252
exit
R2]
conf t
int f0/0
no shut
ip add 10.1.1.254 255.255.255.0
exit
int s1/0
no shut =>
ip add 25.25.12.2 255.255.255.252
exit
Ping 25.25.12.1 success
# Static routing
R1]
conf t
ip route 10.1.1.0 255.255.255.0 s1/0 25.25.12.2
R2]
conf t
ip route 192.168.10.0 255.255.255.0 s1/0 25.25.12.1
Ping 192.168.10.254 success
# DHCP & DHCP Relay_Agent
R1]
conf t
ip dhcp pool NET10
network 192.168.10.0 /24
default-router 192.168.10.254
dns-sever 168.126.63.1 8.8.8.8 =>ISP가 KT일때 가정.
lease 8
class NETCLASS10
address range 192.168.10.1 192.168.10.253
exit
int f0/0
ip dhcp client class-id NETCLASS10
exit
!
ip dhcp pool NET1
network 10.1.1.0 /24
default-router 10.1.1.254
dns-sever 168.126.63.1 8.8.8.8
lease 8
class NETCLASS1
address range 10.1.1.1 10.1.1.253
exit
int s1/0
ip dhcp client class-id NETCLASS1
R2]
conf t
int f0/0
ip helper-address 25.25.12.1 =>discover의 broadcast를 unicast로 지정.
Secured DHCP
-
Secured DHCP는 네트워크 보안을 강화하기 위한 기술 중 하나이다.
-
보통 DHCP 서버는 클라이언트가 요청하면 IP 주소를 동적으로 할당해주는 역할을 한다. 하지만, DHCP는 보안에 취약한 프로토콜로, 악의적인 사용자가 DHCP 서버로부터 유효하지 않은 IP 주소를 할당받거나, IP 주소 충돌을 일으킬 수 있다.
-
일반적으로는 DHCP Snooping, ARP Inspection, IP Source Guard와 같은 방법을 사용하여 DHCP 서버에서 유효하지 않은 DHCP 패킷을 거부하고, 잘못된 IP 주소 할당을 방지한다.
DHCP Snooping : DHCP Snooping은 DHCP 프로토콜을 사용하는 호스트와 DHCP 서버 사이의 통신을 감시하고, 유효하지 않은 패킷을 거부하는 보안 기능이다. DHCP Snooping은 브리지나 스위치에 구현되며, 호스트에서 전송되는 DHCP 패킷을 감시하여 각 포트별로 유효한 DHCP 서버로부터 수신된 패킷만을 허용한다. 이를 통해 DHCP 스푸핑 공격을 막을 수 있다.
ARP Inspection : ARP Inspection은 DHCP Snooping과 비슷한 기능을 가지고 있으며, DHCP 서버에서 DHCP 패킷을 전송하기 전에 ARP 테이블에 등록된 호스트인지 검증한다. 이를 통해 ARP Spoofing 공격을 방지할 수 있다.
IP Source Guard : IP Source Guard는 DHCP 서버로부터 할당받은 IP 주소와 일치하지 않는 IP 주소를 사용하는 패킷을 차단한다. IP Source Guard는 DHCP Snooping과 ARP Inspection과 함께 사용되어, DHCP 스푸핑 공격, ARP Spoofing 공격, IP Spoofing 공격 등 다양한 공격을 막을 수 있다.
R1]
ip dhcp pool NET30
update arp
exit
int f0/1
arp authorized
end
show ip dhcp binding => DHCP로 뿌린 IP와 MAC주소를 같이 기록함을 확인할 수 있다.
# 요약
-
DHCP는 호스트에게 자동으로 IP를 부여하는 프로토콜.
-
DHCP Relay_agent는 호스트의 discover broadcast를 unicast로 바꿔서 다른 서브넷상의 dhcp 서버를 통해 ip를 받아올 수 있다.
-
Secured DHCP로 유동IP의 악의적인 고정을 막을 수 있다.
댓글남기기