DHCP(Dynamic Host Configuration Protocol)는
자동으로 IP 주소, 서브넷 마스크, 게이트웨이를 할당해주는 프로토콜입니다.
PC의 MAC 주소에 IP 주소를 할당하기 때문에
동일한 MAC 주소를 사용하더라도 각각 다른 IP 주소를 할당해주므로
IP자원을 효율적으로 관리할 수 있게 해줍니다.
제 PC에서 사용하고 있는 WIFI 는 자동으로 IP 주소를 받는걸로 설정이 되어있어서
DHCP 사용이 허용된 상태입니다.
cmd 창에서 ipconfig /all 명령어로 IP 주소 정보를 확인할 수 있으니 가볍게 확인하고 지나갑시다.
[ DHCP 과정 4단계(DORA) ]
DHCP가 IP를 할당하기 위해서는 4번의 메세지 전송 절차를 밟아야 합니다.
메세지 전송 방식은 IPv4의 unicast, multicast, broadcast 방식 중에서
unicast와 broadcast 방식을 사용합니다.
클라이언트는 네트워크의 모든 DHCP 서버에 broadcast 로 보내고,
DHCP 서버는 unicast를 사용하여 클라이언트의 MAC 주소로 직접 메시지를 보냅니다.
DHCP 4단계 (DORA) |
discover | 클라이언트는 네트워크에서 DHCP서버를 찾는 메세지를 보낸다. | |||||
offer | 사용 가능한 IP, SM, 임대시간, Domain 이름, DNS주소, Gateway를 응답한다. | ||||||
request | DHCP 서버에 특정 IP 주소를 요청한다. | ||||||
sck | 요청을 허용한다. |
[ DHCP 갱신 주기 ]
임대시간의 1/2 되는 시점에 갱신이 됩니다.
만약 이 때 갱신에 실패하면 7/8 시점에 unicast로 다시 갱신 요청 합니다.
이 때도 갱신에 실패하면 남은 기간동안 broadcast로 새로운 DHCP 서버를 찾아냅니다.
[ DHCP 갱신이 안되는 경우? ]
그래도 갱신이 안된 경우에는 APIPA(Automatic Private IP Address)가 설정됩니다.
APIPA는 운영체제에서 사설 IP 주소를 자동으로 할당을 해주는 기능입니다.
[ 리눅스 DHCP 설정 방법 ]
우선 DHCP 패키지를 설치합니다.
dnf install -y dhcp-server
그리고 DHCP 설정 파일을 엽니다.
vi /etc/dhcp/dhcpd.conf
vi 명령어로 설정 예시 파일을 여기에 붙여넣습니다.
$ r /usr/share/doc/dhcp-server/dhcpd.conf.example
여기에서 DHCP 설정에 필요 없는 부분은 삭제할겁니다.
vi 명령어로 1 ~ 51 번째 줄을 삭제하고
10 ~ 28 줄을 삭제,
14 ~ 마지막 줄까지 삭제를 하면 됩니다.
:1,51d
:10,28d
:14,$d
DHCP 설정을 할 기본 파일이 완성됐습니다.
이제 아래 실습을 통해서 IP를 받아오는 세팅을 해봅시다.
실습1. 아래 세팅 조건대로 IP를 할당하자
1. 전체 네트워크 범위는 10.0.0.0/24
(10.0.0.0~10.0.0.255)
2. 서버는 30대를 운영중, 모두 고정IP 사용중, 네트워크 앞쪽부터 순차적으로 사용
(10.0.0.1~10.0.0.30)
3. Gateway는 네트워크의 마지막 주소 사용
(10.0.0.254)
4. Domain Name은 이니셜 사용
(pmh.pw)
5. DNS 서버 IP는 첫번째 서버와 KT public DNS를 사용
(10.0.0.1, 168.126.63.1)
6. 임대시간 기본 임대시간 1시간, 최대 임대시간은 2시간
(3600, 7200)
/etc/dhcp/dhcpd.conf 파일에서 위의 조건에 맞게 내용을 바꿉니다.
설정이 끝났다면 DHCP를 실행시킵니다.
systemctl start dhcpd
이 DHCP를 잘 받아오는지 윈도우에서 확인해봅시다.
저는 VMware에서 window10 환경으로 테스트했습니다.
DHCP를 받기 위해 자동으로 IP 받기로 설정되어있는지 확인합니다.
이제 윈도우 cmd 창에서 IP를 갱신하고 상세 IP를 확인해봅시다.
ipconfig /release
ipconfig /renew
ipconfig /all
실습2. 고정IP 할당하기
1. 전체 네트워크 범위는 10.0.0.0/24
(10.0.0.0~10.0.0.255)
2. 서버는 50대를 운영중, 모두 고정IP 사용중, 네트워크 앞쪽부터 순차적으로 사용
(10.0.0.1~10.0.0.50)
3. Gateway는 네트워크의 마지막 주소 사용
(10.0.0.254)
4. Domain Name은 이니셜 사용
(pmh.pw)
5. DNS 서버 IP는 첫번째 서버와 Google public DNS를 사용
(10.0.0.1, 8.8.8.8)
6. 임대시간 기본 임대시간 1시간, 최대 임대시간은 2시간
(3600, 7200)
7. W10은 10.0.0.101 IP를우선적으로 할당받는다
실습1에서는 임의의 IP를 할당했지만 host별로 IP를 따로 할당할 수 있습니다.
제 VMware Window10의 hostname은 W10 입니다.
(실행 창에서 sysdm.cpl 명령어를 입력하면 확인가능)
W10에 10.0.0.101 라는 특정 IP를 할당해주기 위해서는
10번째 줄 host 부분에서 PC의 물리적 주소와, 지정할 IP주소를 입력해주면 됩니다.
설정이 끝났다면 DHCP를 재실행해야 합니다.
systemctl restart dhcpd
다시 윈도우 cmd 창에서 IP를 갱신하고 상세 IP를 확인해봅시다.
ipconfig /release
ipconfig /renew
ipconfig /all
새로 설정한 IP주소를 잘 받아왔습니다.
실습 내용 정리
'Linux > 서버 서비스' 카테고리의 다른 글
[FTP]FTP 서버 구축 방법(vsfpd), 파일질라(FileZilla) 사용법 (0) | 2023.03.22 |
---|