본문 바로가기

Linux

DHCP(1)

DHCP(Dynamic Host Configuration Protocol)
  - 자동으로 host에게 IP 주소를 할당
  - 동작 순서(사용되는 패킷 종류)
        * client에 IP가 없는 상태에서 진행

 

dhcp,  출저 : wikipedia


Discover : client -> broadcast, 네트워크의 DHCP 서버를 찾는 패킷
Offer       : server -> broadcast, discover 패킷을 받은 server는 '내가 어떤 IP를 줄 수 있다' 라는
                 패킷을 전송, 해당 IP 주소를 임시할당 상태로 분류(DHCP database 내부에서 할당 대기 상태로 전환)
Request : client -> broadcast(or unicast), 제일 먼저 받은 offer를 '사용하겠다'라고 알려주는 패킷을 전송
Ack         : server -> broadcast(or unicast), offer가 채용된 server는 IP 정보 및 옵션들이 들어있는 패킷을 전송
                 (offer가 채용되지 못한 server는 할당 대기 상태인 IP를 다시 미할당으로 분류)

이 후에 ack, 패킷을 받은 client는 IP 정보와 각종 옵션을 IP 설정에 적용

 - client가 할당 받은 IP는 영구 사용 X
    > 임대 기간이 존재, 기간 만료 전 갱신 작업을 하여 기존 IP를 계속 사용

 - 정보
    패키지 : dhcp
    데몬 : dhcpd
    방화벽 : service=dhcp
    설정파일 : /etc/dhcp/dhcpd.conf

 

systemctl status dhcpd를 통해 데몬 프로세스의 상태를 보면 동작순서(DORA) 패킷을 확인할 수 있음

/var/lib/dhcpd/dhcpd.leases : DHCP로 어떤 IP를 누구에게 언제 줬고 임대기간이 언제까지인 등을 나타내는 파일 


[시나리오]

 

할당된 네트워크 10.0.0.0/24
서버는 30대 운영중 네트워크 대역의 앞쪽부터 순차적으로 고정 IP 사용중(할당되는 ip는 31부터)
DHCP 서버는 첫번째 서버
DNS 서버는 첫번째 서버와 KT의 DNS 서버를 이용
Gateway 주소는 네트워크의 마지막 IP 사용중
임대시간은 기본 1시간, 최대 2시간
w10-1은 우선적으로 10.0.0.201 IP를 할당받게 설정, w11은 10.0.0.202 IP를 할당 받게 설정

           *예약기능은 client의 Mac address 주소 필요

 

/etc/dhcp/dhcpd.conf

dhcp 설정 파일을 열어보면 /usr/share/doc/dhcp*/dhcpd.conf.example 파일을 참고하라는 문구를 볼 수 있다

해당 파일의 내용을 현재 파일의 맨 밑줄부터 삽입 해본다

삽입 해보면 설정들에 대한 설명과 예시들이 있느데 그중 우리에게 필요한 내용만 남기고 나머지는 삭제 해준다

 

설정파일 내용 정리 후

subnet                                   : 분배하려는 네트워크의 대표주소

netmask                                 : 분배하는 ip들의 서브넷 마스크를 설정
range                                     : 실제 어떤 ip를 분배할 것인지 설정 (10.5.5.26 ~ 10.5.5.30 까지 5개의 ip를 할당하겠다는 뜻)

option domain-name-servers : DNS주소 설정

option domain-name              : DNS 이름 설정
option routers                         : Gateway 주소

option broadcast-addess        : broadcast 주소
default-lease-time                   : 기본 임대기간(초단위)
max-lease-time                       : 최대 임대기간(초단위)

 

그럼 이제 시나리오에 맞게 설정 파일을 수정 해보도록 하자

 

요구사항에 맞게 할당하려는 네트워크와 넷마스크 범위 등을 지정해줬다

이제 윈도우10과 11에 지정해준 ip로 예약할당만 설정 해주면 된다

사용 예시에서 볼 수 있다시피 예약할당을 위해서는 해당 장치의 MAC주소가 필요하다

ip를 할당 받으려는 장치의 MAC주소를 살펴보자

dhcp로 ip를 할당 받으려는 window 10, 11

win10의 MAC address는 00-0C-29-53-94-B9

win11의 MAC address는 00-0C-29-31-F4-8D 인것을 확인했다

복사해서 dhcp 설정파일에 입력한다

이때 설정파일의 MAC 주소는 콜론으로 구분되어야 함을 주의하자

 

MAC 주소 복사시 주의

설정이 끝났으면 저장 후 바뀐 설정을 적용해주기 위해 dhcp데몬을 재실행 해준다

 

dhcp 할당 후 확인

win10과 11모두 고정 ip 해제 후 다시 dhcp로 할당 해줬을 때 요구사항에 맞게 ip가 할당된 것을 확인할 수 있다

 


참고)

        MAC 주소를 변경해서 설정시 좀더 편하게 작업할 수도 있다

네트워크 설정 시 구성을 보면

 

고급탭에 Locally Administered Address 값을 변경해주면 된다

MAC 주소는 16진수 12자리이며 구분기호 없이 숫자만 입력해주면 된다

 

설정 후 확인해보면 MAC 주소가 00-00-00-00-00-01로 변경된 것을 확인할 수 있다

'Linux' 카테고리의 다른 글

FTP-active mode  (0) 2022.10.04
DHCP(2)  (0) 2022.09.27
Process 관리  (0) 2022.09.23
apache, script로 설치 자동화 하기  (0) 2022.09.23
Source 파일로 패키지 설치  (0) 2022.09.21