본문 바로가기

리눅스(Linux)

[리눅스] DHCP서버 구축 후 IP 할당해주기(범위설정 후 랜덤 ip 배정, 고정ip)

반응형

#DHCP

자동 IP 할당 프로토콜. Dynamic Host Configuration Protocol(동적 호스트 구성 프로토콜) 의 약자.

 

DHCP 서버의 역할은 자신의 네트워크 안에 있는 클라이언트 컴퓨터가 부팅 될 때

자동으로 IP 주소, 서브넷 마스크, 게이트웨이 주소, DNS 서버 주소를 할당해주는 역할을 합니다. (넷마스크 = 서브넷마스크 = 네트워크 bit)

가정집에서는 주로 공유기가 DHCP 서버의 역할을 담당하고 있습니다.

 

DHCP 서버는 자신의 네트워크 안에 있는 클라이언트 IP를 관리만 할 뿐, 인터넷이 가능하게 해주는 것은 아닙니다.

하지만 DHCP 서버에 NAT 서버 또는 NAT 기능을 추가하여 적은 IP를 이용하여 인터넷이 가능하도록 할 수 있습니다.

 

#DHCP 임대과정

DHCP Discover Packet 전송 → DHCP Offer Packet 전송 DHCP Request 전송 DHCP ACK Packet(응답패킷) 전송

 

# DHCP 클라이언트 → DHCP 서버

1. Discover Packet 전달(BroadCast) : DHCP 서버의 존재를 확인(클라이언트가 서버를 찾기 위한 메세지가 들어있음)

(* BroadCast(192.168.1.255) :  해당 네트워크(192.168.1.)안에 있는 모든 컴퓨터한테 (192.168.1.) 로 시작하는 DHCP 서버 있냐고 문의를 요청하는 특별한 주소(브로드캐스트는 주소 마지막이 항상 .255로 끝난다))

 

# DHCP 서버 DHCP 클라이언트 

2. Offer Packet  전송 : 서버가 클라이언트에게 IP주소 및 TCP/IP 정보를 전달하는 메세지가 들어있음

 

# DHCP 클라이언트 → DHCP 서버

3. Request Packet 전송 : DHCP 서버를 선택하고 그 서버에게 DHCP 클라이언트가 사용할 네트워크 정보를 요청

하는 메세지가 들어있음

 

# DHCP 서버  DHCP 클라이언트 

4. ACK Packet  전송 : 서버가 클라이언트에게 IP주소 및 TCP/IP 정보를 전달하는 메세지가 들어있음

                                   (Offer Packet 과의 차이점 > 임대과정 마지막 Packet 이므로 허가의 의미도 포함)

 

 

* Discover Packet / BroadCast 차이점

Discover Packet은 특정 서비스(예: DHCP 서버)를 찾기 위한 초기 요청에 사용되며,

BroadCast는 네트워크 상의 모든 장치에게 메시지를 전달하는 데 사용됩니다. 

( BroadCast 방식으로 Discover Packet(메세지)을 보냈다 > 올바른 문장 )

더보기

* Discover Packet 

정의: 네트워크 상에서 장치가 DHCP 서버를 찾기 위해 보내는 메시지. 요청.

이 패킷은 네트워크에 연결된 장치가 IP 주소를 할당받기 위해 초기에 보내는 신호로, DHCP Discover 메시지라고도 합니다.

작동 방식: Discover Packet은 네트워크 상의 모든 장치에게 전송되며, DHCP 서버가 이를 수신하면 IP 주소를 할당하기 위한 Offer 메시지를 해당 장치에게 보냅니다.

 

*  BroadCast

정의: 네트워크 상에서 하나의 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에게 전송되는 방식. 

즉, 특정 메시지나 데이터를 네트워크 상의 모든 장치에게 동시에 전달하는 것

용도: BroadCast는 네트워크 상의 모든 장치에게 중요한 공지사항이나 정보를 전달할 때 사용됩니다. 또한, DHCP Discover 메시지와 같이 특정 서버를 찾기 위한 목적으로도 사용될 수 있습니다.

 

 

#DHCP 임대 기간 갱신

 

임대기간의 50%가 지나면 DHCP 서버한테 다시 요청(3. Request Packet 재전송) → 만약 응답이 없으면 계속 쓰다가 임대기간이 87.5%가 될때 다시 요청 이때도 응답이 없으면 100%까지만 쓰고 다시처음부터 위에 4과정을 거쳐야한다.(Discover Packet 부터)

 

*보통은  임대기간의 50%가 지나서 DHCP 서버한테 Request Packet 전송을 하게 되면 DHCP 서버가 ACK Packet을 보내주고, 그럼 임대 기간이 연장(무한 반복을 통한 기간 연장 시스템)

 

 

#실습

# 실습 준비 - VMware DNS 체크 해제

(아니면 중복되어 이후 실습시 DNS 못 받아옴)

체크 해제하기

VMWARE edit Virtual network editor VMNET8 change settings DHCP 서버 사용 안하도록 체크해제.
(DHCP 서버가 서비스를 못할때 자동으로 발급해 주는 IP 대역)

 

기존의 VMware의 DHCP 서버에서 받아오던 IP를 임대기간이 지나도 이젠 할당받지 않기위해 체크 해제를 합니다.

( # AWS 등의 플랫폼도 공인 IP를 AWS 자체 DHCP 서버에서 받아옵니다. 고정으로는 안해주고, 고정IP를 사용하려면 추가금을 내야합니다.)

 

 

# 실습 구성 시나리오

centos8 > DHCP서버

#centos8-2 > HTTP서버(고정IP 여야함)

win2003 1,2 / linux > DHCP 클라이언트

 

IP 
192.168.1.0 -> 네트워크 대역
192.168.1.255 -> 브로드캐스트
192.168.1.1-254 까지만 사용이 가능

# centos8(DHCP서버)

1.  yum -y install dhcp-server   # dhcp-server   #centos8
  # yum -y install dhcp   # dhcp 클라이언트   #centos7(linux01)
2. cd /etc/dhcp
ls
cat dhcp.conf      # dhcp.conf(dhcp 서버 설정 파일)의 예제 파일의 위치를 안내해줌
3. cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf  -> 예제 파일 복사해서 /etc/dhcp에서 사용
4. cd /etc/dhcp
vi dhcpd.conf   # dhcp 서버환경설정 파일 수정(IP 임대 가능 정보 설정)
#################################################################
46번째 파일
# A slightly different configuration for an internal subnet. 
subnet 192.168.1.0 netmask 255.255.255.0 {     
  range 192.168.1.201 192.168.1.220;        # IP 대역 192.168.1.201부터 192.168.1.220까지
  option domain-name-servers 8.8.8.8;       # 도메인 네임 서버 8.8.8.8
  option domain-name "internal.kosa.vm";    # 도메인 이름 "internal.kosa.vm"(DNS 이름)
  option routers 192.168.1.2;               # 라우터 192.168.1.2
  option broadcast-address 192.168.1.255;   # 브로드캐스트 주소 192.168.1.255
  default-lease-time 600;                   # 기본 임대 시간 600초
  max-lease-time 7200;                      # 최대 임대 시간 7200초
} 
#################################################################저장

5. systemctl start dhcpd      # DHCP 서버를 시작
   systemctl enable dhcpd     # 부팅 시 DHCP 서버 자동으로 시작

 

2. 여기에 hcpd.conf.example(예제) 경로가 나옴 (/usr/share/doc/dhcp-server/dhcpd.conf.example)
dhcpd.conf 변경 전/후

 

# wind2003/linux (DHCP서버 클라이언트)

6. DHCP 클라이언트에서 IP 할당
win2003, centos7(linux)

#win2003
내 네트워크 환경 속성 -> 로컬영역연결, 2 -> 속성 -> 인터넷 프로토콜 TCP/IP -> 자동으로 IP 주소 받기 체크, 자동으로 DNS 서버 주소 받기 체크 -> 확인
ipconfig /all =-> IP 주소 전체 설정 확인
ipconfig /release -> IP 주소 초기화
ipconfig /renew -> IP 주소 재갱신


#centos7(linux)
yum -y install dhcp   # dhclient 패키지 포함되어있음
#yum -y install dhclient
ip addr flush dev ens33  # 기존 ip주소 제거
dhclient ens33   # DHCP 서버로부터 IP 주소 요청   # 에러 > dhclient -r : 기존 dhclient 프로세스 종료
ip addr show ens33   # ip 주소 변경 확인
#ifconfig    # ip 확인

win2003) '자동'으로 변경
win2003) ip 가 169.254.210.58 에서 192.168.1.201 로 변경된 것 확인
linux ) IP 변경 확인

 

## MAC주소 확인

더보기

## MAC주소 확인

centos8 좌)  cd /var/lib/dhcpd 의 cat dhcpd.leases     win2003 우) win ipconfig /all  주소 동일한 것 확인(MAC 주소)
centos8 좌)  cd /var/lib/dhcpd 의 cat dhcpd.leases     linux 우) ifconfig   주소 동일한 것 확인(MAC 주소)

 

DHCP 서버와 DHCP클라이언트가 같은 MAC 주소를 가지고 있는지 확인 >  서로에게 IP주소가 잘 할당되었는지 확인가능

 

 

## MAC 주소의 역할과 중요성

  • 고유 식별 정보 제공: MAC 주소는 네트워크 상의 각 장치에 할당된 고유한 식별자입니다. 이를 통해 DHCP 서버는 네트워크 상의 각 클라이언트를 구별하고, 올바른 장치에 IP 주소를 할당할 수 있습니다.
  • IP 주소 할당 과정에서의 역할: DHCP 서버는 클라이언트의 MAC 주소를 기반으로 IP 주소를 할당합니다. 클라이언트가 네트워크에 처음 연결될 때, MAC 주소를 포함한 DHCP Discover 메시지를 브로드캐스트합니다. 서버는 이 메시지를 받고, 해당 MAC 주소에 IP 주소를 할당한 후 DHCP Offer 메시지를 클라이언트에게 전송합니다.
  • 보안 및 관리: MAC 주소를 통해 네트워크 관리자는 특정 장치에 대한 접근을 제어하거나, 특정 장치에 고정 IP 주소를 할당하는 등의 네트워크 관리 작업을 수행할 수 있습니다. 이는 네트워크의 보안을 강화하고, 관리를 용이하게 합니다.

 

# 바뀐 IP주소의 임대 정보 확인

7. dhcp 서버에서 IP주소 임대정보
#centos8
cd /var/lib/dhcpd
cat dhcpd.leases

8. DHCP 서버를 중지 후 IP 할당
# dhcp 클라이언트에서 IP 주소 다시 요청
# win2003
ipconfig /release
ipconfig /renew

#centos7(linux01)
systemctl stop dhcpd -> dhcp서버 중지

 

* DHCP서버가 서비스를 못하거나 IP가 충돌이 발생할 경우(같은 IP를 쓸 경우에)

자동으로 발급해주는 IP 대역 169.254.x.x    255.255.0.0   

게이트웨이x > GW를 못받아와서 인터넷이 안됨

 

자동으로 발급해주는 IP 대역 169.254.x.x    255.255.0.0

 

# 고정 ip사용 (임대기간 없이 / ip예약)

9. # 예약 -> 192.168.1.110 항상 사용
임대기간에 관계 없이 항상 고정IP처럼 특정IP주소만 할당 받아서 사용이 가능
단, MAC Address 연결을 시켜서 사용
# MAC 주소 : 네트워크카드 고유 주소(주민번호 같은 고유 번호)
# 00-0C-29-83-88-48   > 이 맥주소에는 항상 특정 ip만 줄것
 
cd /etc/dhcp
vi dhcpd.conf
#####################################################
75 라인
host fantasia {
      hardware ethernet 00:0C:29:83:88:48;    # 이 win2003 맥주소에는 항상 특정 ip만 줄것(아래 205)
      fixed-address 192.168.1.205;
     }

# 고정 ip를 2개 이상 줄 때
#host bbb {
#      hardware ethernet 00:0C:29:D7:23:E3;
#      fixed-address 192.168.1.220;
#     }
#fantasia => 예약이름/아무거나 해도 됨, 단 두개가 달라야함
#####################################################저장

systemctl restart dhcpd

 

centos8 : 192.168.1.205로 window mac 주소에 고정ip 지급
win2003 > 고정 ip로 바뀐것 확인
centos8 : 192.168.1.205로 linux mac 주소에 고정ip 지급
linux > 고정 ip로 바뀐것 확인

 

# 실습이 끝나면

체크 복구하기

 

실습 전에 세팅해놓았던 VMware DNS 체크 해제를 다시 체크 해놓기!

 

 


 

오늘은 IP를 할당해주는 서버인 DHCP서버에 대해 알아보았습니다. IP 범위를 지정해서 랜덤으로 할당해주기도 하고 예약해서 고정 IP를 할당해주는 법도 배워봤습니다. DHCP서버를 좀 더 잘 이해하는 시간이 되었다면 좋겠습니다.

 

반응형