Linux

[Linux] DHCP(Dynamic Host Configuration Protocol)

thdwldud 2026. 3. 31. 12:51

DHCP 서버의 개요

  • DHCP 서버란 클라이언트에게 자동으로 IP 주소, Gateway 주소, NameServer 주소 등을 할당하는 서버
  • 보통 가정에서 ISP(Internet Service Provider) 업체를 통해 인터넷 서비스를 이용하는 경우에 기본적으로 사용되고 있음
  • DHCP는 IPv4 체계의 IP 주소 고갈 문제를 해결할 수 있고, 하나의 인터넷 회선을 공유해서 여러 대의 컴퓨터가 인터넷을 사용하는 매스커레이드(masquerade) 환경에서 자동으로 클라이언트에게 IP 주소를 할당해 줄 수 있음
  • 또한 하드디스크가 없는 원격 호스트에서 이더넷 카드로 부팅할 때 사용할 수도 있음

[관련 프로토콜]

프로토콜 설명
BOOTP
(Bootstrap Protocol)
초기 적재 통신 규약이라고 부르는데, 공용의 X 터미널과 같이 하드디스크가 없은 장치에 IP 주소 등을 할당하고 관리하기 위해 개발된 프로토콜
UDP를 사용하고 유닉스 초기 시절에 TFTP와 함께 사용됨
RFC 951에 정의되어 있고, RFC 1542에 관련 설명을 확인 가능
DHCP 동적 호스트 설정 통신 규약이라 부르고 Bootp와 마찬가지로 시스템에 IP 주소 등을 자동 할당 및 관리하기 위해 사용됨
RFC 1541에 규정되어 있음
Bootp와의 차이점은 할당된 IP 주소에 임대 기간을 설정 가능

 

DHCP 서버의 설치 및 운영

/etc/dhcp/dhcpd.conf의 주요 설정

  • 클라이언트에게 할당할 주소 대역은 subnet 및 netmask 선언 후 {} 안에 필요한 항목들을 지정하면 됨
  • 주요 항목을 별도로 적으면 모든 네트워크 대역에 적용됨
  • 특정 호스트에 고정적인 IP 주소를 할당하려면 ‘host 호스트명 {}’ 형태로 선언하면 됨
option domain-name "example.org";
option domain-name-server ns1.example.org, ns2.esample.org
default-lease-time 600;
max-lease-time 7200;
  • DHCP 서버를 사용하는 모든 네트워크 설정되는 도메인명과 도메인 네임서버, 임대 요청 관련 시간을 설정
log-facility local7;
  • syslog에 전달한 로그의 facility를 지정
subnet 192.168.1.0 netmask 255.255.255.0 {
	range 192.168.1.2 192.168.1.254;
	option domain-name "posein.org";
	option domain-name-servers ns1.posein.org;
	option routers 192.168.1.1;
	option broadcast-address 192.168.1.255;
	default-lease-time 600;
	max-lease-time 7200;
}
항목 설명
range 클라이언트에게 할당할 IP 주소를 시작 주소와 마지막 주소를 기재
range dynamic-bootp DHCP 클라이언트 뿐만 아니라 BOOTP 클라이언트도 함께 할당할 경우에 사용
option domain-name 도메인명을 지정할 때 사용
option domain-name-servers 네임 서버를 지정할 때 사용하는 항목으로 도메인 또는 IP 주소를 기재
option routers 게이트웨이 주소를 지정할 때 사용
option broadcast-address 브로드캐스트 주소를 지정할 때 사용
default-lease-time 임대를 요청하는 클라이언트가 특정한 만료 시간을 요청하지 않았을 경우에 할당되는 시간으로 단위는 초(second)
max-lease-time 임대를 요청하는 클라이언트가 IP 주소를 가지고 있을 수 있는 최대 시간으로 단위는 초(second)
Dynamic Bootp는 적용받지 않음

 

host posein_pc {
	hardware ethernet 08:00:07:25:c0:a5;
	fixed-address 192.168.1.22;
}

 

  • 맥(MAC) 주소가 08:00:07:25:c0:a5인 시스템에는 192.168.1.22번 IP 주소를 할당

'Linux' 카테고리의 다른 글

[Linux] iptables 설정 저장 반영 - iptables-save / iptables-restore  (0) 2026.04.14
[Linux] iptables  (0) 2026.04.06
[Linux] Squid Proxy  (0) 2026.03.16
[Linux] DNS 서버 - zone 파일  (0) 2026.03.09
[Linux] DNS 서버 - /etc/named.conf 파일  (0) 2026.03.02