DHCP(Dynamic Host Configuration Protocol)
- 동적 호스트 설정
- 호스트의 IP주소와 각종 TCP/IP 프로토콜의 기본 설정을 클라이언트에게 자동적으로 제공해주는 프로토콜
DHCP의 IP 주소 할당(임대)에 사용되는 메세지는 위 그림과 같이 4개의 메세지로 구성되어 있다.
1) DHCP Discover
- 클라이언트(client)가 DHCP서버의 주소를 알 수 없으므로 서브넷(subnet)에 DHCP서버를 찾는 메세지를 전송하는 과정
- 브로드캐스트 메세지 : (Destination MAC = FF:FF:FF:FF:FF:FF)
2) DHCP Offer
- DHCP가 클라이언트로부터 메시지를 받게되면 클라이언트쪽으로 서버 자신의 IP주소를 알려줌
- 클라이언트가 사용할 IP주소와 DNS정보, IP주소의 임대시간을 전달함
- 브로드캐스트 메세지 혹은 유니캐스트
클라이언트(client) 보낸 DHCP Discover 메시지 내의 Broadcast Flag의 값에 따라 달라짐,
Flag=1 : 브로드캐스트로(Broadcast)
Flag=0 : 유니캐스트(Unicast)로 보내게 된다
3) DHCP Request
- 클라이언트(client)가 서버로부터 응답을 받음
- 응답의 신호는 여러가지가 될 수 있음
- 클라이언트는 가장 적합한 최적의 서버를 선택하고 DHCP에 해당 정보를 사용한다고 통보한다.
4) DHCP ACK
- 통보를 받은 서버는 사용 확장의 의미로 ACK 의 메세지를 클라이언트(client)로 보내 네트워크를 이용함
isc-dhcp-server 설치
$ sudo apt-get install isc-dhcp-server
dhcp.conf 설정
$ sudo vi /etc/dhcp/dhcpd.conf
아래 내용 추가
subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.2 192.168.0.254; }
네트워크 노드 추가
$ vi /etc/default/isc-dhcp-server
INTERFACESv4="eth1" INTERFACESv6="eth1"
IP 추가
$ sudo ifconfig eht1 192.168.0.1
DHCP 서버 재시작
$ sudo /etc/init.d/isc-dhcp-server restart
ping 보내기
$ dhcp-lease-list
$ ping 192.168.0.2