동적 호스트 구성 프로토콜(Dynamic Host Configuration Protocol, DHCP)은 호스트 IP 구성 관리를 단순화하는 IP 표준이다. 동적 호스트 구성 프로토콜 표준에서는 DHCP 서버를 사용하여 IP 주소 및 관련된 기타 구성 세부 정보를 네트워크의 DHCP 사용 클라이언트에게 동적으로 할당하는 방법을 제공한다.1 위키백과에서 발췌
학교 WiFi나, 집의 공유기, 당신이 사용하는 LTE 휴대폰 등이 인터넷을 하기 위해서는 모든 장비들은 IP를 가지고 있어야 한다. 하지만 학교건, 집이건 지하철 WiFi건 내 노트북 IP는 뭐지? 혹은 내 휴대폰 IP는 몇 번이지? 하고 고민 해본 기억은 없을 것이다. 이렇게 네트워크에 연결된 장비들에 자동으로 IP주소를 할당 해주는 것이 동적 호스트 설정 프로토콜, DHCP이고 이 역할을 하는 것이 DHCP 서버이다.
이름은 거창한 듯 하지만 설치, 설정 과정은 매우 쉽다.
설치
haedong@haedong:~:]$ sudo yum install -y dhcp* ...중략... Package 12:dhcp-common-4.2.5-82.el7.centos.x86_64 already installed and latest version Package 12:dhcp-libs-4.2.5-82.el7.centos.x86_64 already installed and latest version Resolving Dependencies --> Running transaction check ...중략... ==================================================================================================================================== Package Arch Version Repository Size ==================================================================================================================================== Installing: dhcp x86_64 12:4.2.5-82.el7.centos local_centos 515 k dhcp-devel x86_64 12:4.2.5-82.el7.centos local_centos 108 k dhcpd-pools x86_64 3.1-1.el7 local-epel 53 k dhcping x86_64 1.2-13.el7 local-epel 18 k Transaction Summary ==================================================================================================================================== Install 4 Packages Total download size: 693 k Installed size: 1.6 M Downloading packages: (1/4): dhcpd-pools-3.1-1.el7.x86_64.rpm | 53 kB 00:00:00 ...중략... Installed: dhcp.x86_64 12:4.2.5-82.el7.centos dhcp-devel.x86_64 12:4.2.5-82.el7.centos dhcpd-pools.x86_64 0:3.1-1.el7 dhcping.x86_64 0:1.2-13.el7 Complete!
설정
DHCP 서버 구성요소를 설치한 뒤 /etc/dhcp/dhcpd.conf 파일을 수정한다.
# 다음을 참고해서 수정 한다. #subnet 사용할_IP_대역(netmask 범위에 따라 달라진다) netmask 사용할_netmask { # range 동적으로_할당해_줄_IP_범위(클라이언트는_이_범위_안의_IP를_할당받는다); # option subnet-mask 클라이언트에서_설정하게_될_netmask ; # option routers 클라이언트에서_설정하게_될_gateway; # option broadcast-address 브로드캐스트_주소; # option domain-name-servers 첫_번째_DNS, 두_번째_DNS; # default-lease-time 기본_임대_시간(초); # max-lease-time 최대_임대_시간(초); #} subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.100 192.168.0.200; option subnet-mask 255.255.255.0; option routers 192.168.0.254; option broadcast-address 192.168.0.255; option domain-name-servers 8.8.8.8, 168.126.63.1; default-lease-time 7200; max-lease-time 36000; }
구동
haedong@haedong:~:]$ sudo chkconfig dhcpd on 알림: 'systemctl enable dhcpd.service'에 요청을 전송하고 있습니다. Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service. haedong@haedong:~:]$ sudo service dhcpd start Redirecting to /bin/systemctl start dhcpd.service