Linux

Linux - DHCP 서버 설정

j9m 2022. 11. 16. 14:00
반응형

DHCP(Dynamic Host Configuration Protocol)

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

[관련 프로토콜]

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

 

DHCP 서버의 설치 및 운영

DHCP 서버 프로그램은 dhcp라는 이름으로 http://www.isc.org에서 배포된다. 'yum install dhcp' 명령으로 설치한 후에 구성하고 주요 파일은 다음과 같다.

① /etc/dhcp/dhcpd.conf
DHCP 서버의 환경 설정 파일로 yum이나 rpm 패키지로 설치하면 이 파일에 내용이 존재하지 않는다. 'rpm -ql dhcp' 명령으로 dhcpd.conf.example을 찾아서 복사하거나 이름을 바꾸어서 생성해야 한다.

② /usr/share/doc/dhcp-*/dhcpd.conf.exmaple
dhepd.conf 파일의 실질적인 설정 내용이 들어있는 일종의 샘플 파일이다. 이 파일을 /etc/dhcp/dhcpd.conf 파일로 복사하면 된다. *는 버전을 의미하는데, 2018년 1월 기준으로 설치하면 4.2.5 된다.

③ DHCP 서버의 시작

# systemctl start dhcpd.service

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

클라이언트에게 할당할 주소 대역은 subnet 및 netmask 선언 후에{}안에 필요한 항목들을 지정하면 된다. 주요 항목을 별도로 적으면 모든 네트워크 대역에 적용된다. 특정 호스트에 고정적인 IP 주소를 할당하려면 'host 호스트명 {}'형태로 선언하면 된다.

 

① DHCP 서버를 사용하는 모든 네트워크 설정되는 도메인명과 도메인 네임 서버, 임대 요청 관련 시간을 설정한다.

option domain-name "example.org";
option domain-name-server ns1.example.org, ns2.example.org
default-lease-time 600;
max-lease-time 7200;

 

② syslog에 전달한 로그의 facility를 지정한다.

log-facility local7;
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는 적용받지 않는다.

 

③ 맥(MAC) 주소가 08:00:07:26:c0:a5인 시스템에는 192.168.1.22번 IP 주소를 할당한다.

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

 

참고자료
CentOS 7으로 리눅스마스터 1급 정복하기
반응형