DHCP
DHCP(Dynamic Host Configuration Protocol)
- 자동으로 host에게 IP 주소를 할당
- 동작 순서(사용되는 패킷 종류)
* client에 IP가 없는 상태에서 진행
Discover : client -> broadcast, 네트워크의 DHCP 서버를 찾는 패킷
Offer : server -> broadcast, discover 패킷을 받은 server는 '내가 어떤 IP를 줄 수 있다' 라는
패킷을 전송, 해당 IP 주소를 임시할당 상태로 분류(DHCP database 내부에서 할당 대기 상태로 전환)
Request : client -> broadcast(or unicast), 제일 먼저 받은 offer를 '사용하겠다'라고 알려주는 패킷을 전송
Ack : server -> broadcast(or unicast), offer가 채용된 server는 IP 정보 및 옵션들이 들어있는 패킷을 전송
(offer가 채용되지 못한 server는 할당 대기 상태인 IP를 다시 미할당으로 분류)
이 후에 ack, 패킷을 받은 client는 IP 정보와 각종 옵션을 IP 설정에 적용
Relay agent
- DHCP 클라이언트와 서버가 서로 다른 네트워크에 있는 경우 DHCP 패킷을 중계 해주는 역할
- 형식
(config-if)# ip helper-address <dhcp server ip address>
서버는 네트워크의 첫번째 ip 주소부터 사용, 게이트웨이는 네트워크의 마지막 ip 주소를 사용할 때
각 네트워크의 PC에 DHCP로 ip주소를 할당 해보려 한다
routing 설정까지 마친 후 dhcp 서버에서 각 네트워크에 할당할 pool을 생성 해준다
하지만 DHCP server와 동일 네트워크에 있는 PC 0번만 성공적으로 ip 주소를 받아오고
다른 네트워크에 있는 PC 1번은 ip 주소를 받지 못한 것을 확인할 수 있다
이는 브로드캐스팅을 외부 네트워크로 발송하지 않는 Router의 특성으로 인해
브로드캐스팅 기반으로 작동하는 DHCP가 외부 네트워크로 발송되지 못하기 때문이다
이를 해결하기 위해서는 router에 relay agent 기능을 설정해야 한다
이때 내부 네트워크 쪽 인터페스에 설정 해줘야 함을 주의한다
relay agent를 설정 해주니 다른 네트워크에 있는 PC에도 생성한 pool대로 잘 할당되는 것을 확인할 수 있다
DHCP server를 사용하는 것이 아니라 router에 직접 DHCP를 설정 할 수도 있다
ip dhcp pool <범위이름>
network <대표주소> <서브넷마스크>
default-router <지정할 GW 주소>
dns-server <지정할 dns 주소>
ip dhcp excluded-address <제외할 ip 시작 주소> <제외할 ip 끝 주소>
DHCP server에서 서비스를 껐음에도 불구하고 Seoul PC에 잘 할당 되는 것을 확인할 수 있다