DHCP(Dynamic Host Configuration Protocol)

✒️ 2025-05-22 15:13 내용 수정


해당 IP 주소와 기타 관련 구성 정보를 IP 호스트에 자동으로 제공하는 클라이언트/서버 프로토콜

참고 자료 : Windows Server DHCP(동적 호스트 구성 프로토콜) 서버란?, NordVPN 동적 호스트 프로토콜(DHCP)의 뜻과 작동 원리 알아보기, 위키백과 동적 호스트 구성 프로토콜

DHCP 작동(DORA)

  1. DHCP Discover : 장치 -> DHCP 서버, 장치는 네트워크에 연결 시 DHCP에 브로드캐스트 메시지를 통해 IP 주소 할당을 요청한다.
  2. DHCP Offer : DHCP 서버 -> 장치, DHCP에서 요청을 받아들여 주소를 할당하고, 해당 주소를 이용하여 장치의 네트워크를 모니터링한다.
    • 서버는 IP 주소 정보를 포함한 네트워크 정보의 할당 요청, IP 주소 정보, 단말의 MAC 주소 정보를 네트워크 정보화 함께 전송한다.
  3. DHCP Request : 장치 -> DHCP 서버, 브로드캐스트 메시지로 단말기가 받은 IP 주소를 사용하겠다고 승낙한다.
  4. DHCP Ack : DHCP 서버 -> 장치, 서버는 장치에서 보낸 메시지에서 장치의 MAC 주소와 매칭되는 IP 주소와 게이트웨이 주소를 확정시켜준다.
DORA 설명
Discover 클라이언트가 서버에서 ip 요청
Offer 서버가 클라이언트에게 ip 제안
Request 클라이언트가 서버의 ip 제안을 승락
Ack 서버가 거래 승인을 확인(긍정 응답)

DHCP 네트워킹


설치

  1. yum install -y dhcp로 DHCP 패키지를 다운 받고, rmp -aq | grep dhcp로 패키지 설치를 확인한다.

dhcp 1.png

  1. DHCP 서버는 자신이 제공할 ip 대역 중 하나를 할당 받아야 하기 때문에 고정 ip 중 한 개를 지정해준다.
  2. gedti /etc/dhcp/dhcpd.conf으로 설정 파일을 열면 /usr/share/doc/dhcp*/dhcpd.conf.example 을 보라는 문구가 있다.
  3. 해당 파일이 예시 파일이므로 cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf로 파일을 복사 및 덮어쓰기 해준다.
    • 설치된 버전에 따라 dhcp* 부분이 다르다.

dhcp 2.png
dhcp 3.png

  1. 다시 gedti /etc/dhcp/dhcpd.conf으로 설정 파일을 편집해준다.
옵션 설명
default-lease-time 초 최소 임대 시간(초)
max-lease-time 최대 임대 시간(초)
옵션 설명
option routers Router 주소. GNS3의 e0/1 주소
option subnet-mask 서브넷 마스크. netmask와 동일
option broadcast-address ip의 마지막 주소. 서브넷의 주소는 네트워크 시작 ip
range 실제 제공할 ip의 범위(자동 ip 범위)
고정 ip는 자동 ip 범위에서 제외된 ip
option domain-name-server 도메인 서버 주소.(8.8.8.8, 168.126.63.1, 기타 다른 도메인)

dhcp 4.png

  1. touch /var/lib/dhcpd/dhcpd.leases 생성한다.

    • 만약 이 파일을 생성하지 않은 데몬 재실행 시 에러가 발생한다.
  2. systemctl start dhcpd로 dhcp 서비스를 실행한다.

    • systemctl status dhcpd로 상태를 확인하고, systemctl enable dhcpd로 재부팅 옵션을 설정한다.

8. GNS에서 SuperPuTTY로 동작 확인을 체크할 수 있다. (오류때문에 실습 진행을 못해서 내용만 정리)

9. DHCP 서버에 Switch2 네트워크 정보를 gedti /etc/dhcp/dhcpd.conf로 추가한다. (오류때문에 실습 진행을 못해서 내용만 정리)

dhcp 5.png

dhcp 6.png

10. Swtich 2에서 Switch1에 있는 DHCP 서버에 IP 요청한다. (오류때문에 실습 진행을 못해서 내용만 정리)

# conf t
# int e 0/2
# ip add 192.168.47.254 255.255.255.0
# no shut

# ip helper dhcp_server_id

# ip nat inside
# end

# copy run start