네트워크기초 · 23분 읽기

DHCPv4 임대 상태·Relay·서버 설정

DORA 메시지의 필드와 임대 상태를 연결하고 T1·T2 갱신 및 Relay의 풀 선택을 설명한다. 수업의 라우터·Windows·Linux 실습을 일관된 주소 계획과 정상 설정 예로 재구성한다.

개념부터 찾아보기

정의·역할·동작 원리를 독립 페이지에서 확인하세요. 본문의 밑줄 용어에도 설명이 있습니다.

이 노트에서 설명할 수 있게 되는 것

  1. 초기 임대와 갱신 흐름을 구분한다.
  2. 주소·옵션·임대 시간과 Relay 정보를 읽는다.
  3. DORA의 어느 단계가 누락됐는지 증거로 판단한다.

01주소 배정은 임대와 옵션의 계약이다

  • DHCPv4는 클라이언트가 일정 기간 사용할 주소와 네트워크 설정을 전달한다. 주소만 주는 프로토콜이 아니라 마스크, 기본 게이트웨이, , 임대 시간 같은 옵션을 함께 제공한다.
    • 서버는 주소와 클라이언트 식별의 binding을 유지하고, 클라이언트는 받은 임대의 유효 기간을 관리한다.
    • 정적 설정은 단말 자체 설정이고 예약은 서버가 특정 클라이언트에 정해진 주소를 제공하는 정책이므로 구별한다.
  • Scope 또는 pool은 클라이언트 을 기준으로 설계한다. 게이트웨이·서버·가상 게이트웨이 주소는 동적 할당에서 제외하고, 예약과 동적 범위가 구현의 규칙에 맞게 관리되도록 한다.
    • 실습 사례에서 링크는 한 /24로 구성했지만 풀은 다른 /24로 설정했던 불일치는 주소를 받아도 통신이 안 되는 직접적인 원인이 된다.
    • 서버의 풀과 실제 클라이언트 링크를 먼저 같은 주소 계획으로 맞춰야 한다.

02BOOTP 형식 안의 주소와 거래 식별자

  • 메시지는 BOOTP 형식을 확장한다. op는 요청/응답, htype·hlen은 하드웨어 주소 종류와 길이, 는 거래 식별자, secs는 시도 경과 시간, flags는 브로드캐스트 응답 요구 등을 표현한다.
    • 는 클라이언트가 이미 가진 주소, 는 서버가 제공하는 주소, siaddr는 부트스트랩에서의 다음 서버 주소, 는 Relay 주소다.
    • siaddr를 항상 서버 자신의 주소라고 외우면 Server Identifier 옵션과 혼동한다.
  • chaddr에는 하드웨어 주소가 들어갈 수 있고 클라이언트 식별자 옵션이 별도로 쓰일 수 있다. 서버가 무조건 MAC 하나로만 임대를 구분한다고 단정하지 않는다.
    • 기본 포트는 서버 UDP67, 클라이언트 UDP68이다.
    • Relay와 서버 사이에는 서버 포트를 사용한 중계 흐름이 생기므로 모든 패킷을 단순히 68→67·67→68 두 방향만으로 설명할 수 없다.

03DHCP 초기 임대의 DORA와 충돌 처리

  • 클라이언트 주소 상태·broadcast flag·Relay에 따라 응답은 unicast 또는 broadcast다. 모든 패킷이 항상 broadcast인 것은 아니다.
  • 은 부적합한 임대 등을 거절하며 무응답과 다르다. DHCPRELEASE는 임대 반납, DHCPINFORM은 이미 주소가 있는 단말의 추가 설정 요청이다.
  1. INIT 클라이언트는 아직 주소가 없어 보통 0.0.0.0:68에서 제한 브로드캐스트로 서버를 찾는다.
  2. 서버는 의 후보 주소와 옵션을 제안한다. 여러 서버가 응답할 수 있으며 제안은 최종 사용 확정이 아니다.
  3. 클라이언트는 Requested IP Address와 선택한 Server Identifier를 넣어 요청한다. 브로드캐스트하면 다른 서버도 자신의 제안이 선택되지 않았음을 알 수 있다.
  4. 선택한 서버가 임대와 설정을 승인한다. 클라이언트는 주소를 정상 사용하기 전에 임대 조건과 충돌 여부를 최종 확인하며, 충돌을 발견하면 해당 주소를 사용하지 않는다.
  5. 충돌이 없으면 임대를 사용한다. 충돌을 발견하면 으로 알리고 새 주소 획득 절차를 시작한다.
수업 원본 자료

Discover와 두 서버의 Offer가 함께 보이는 원본

DHCP Discover와 복수 서버의 Offer, Request, ACK가 표시된 Wireshark 원본원본 크기로 보기 ↗
수업 원본 캡처 · 사설 주소로 구성한 실습의 DHCP 거래. 서로 다른 서버의 제안과 최종 ACK를 구별한다.

이 자료에서 읽어낼 것

  1. 선택된 첫 Discover의 IPv4 출발지는 0.0.0.0, 목적지는 제한 브로드캐스트이며 UDP는 68→67이다.
  2. 같은 Transaction ID에 두 서버의 Offer가 보인다. Offer 수를 클라이언트 수나 최종 임대 수로 해석하지 않는다.
  3. 뒤의 Request와 ACK가 이어지지만 서버 선택의 확정 근거는 Request의 Server Identifier 옵션까지 읽어야 한다. 화면에 펼쳐지지 않은 옵션값은 추정하지 않는다.
수업 원본 자료

Offer의 IP 목적지와 UDP 응답 방향

유니캐스트 DHCP Offer의 Ethernet IPv4 UDP BOOTP 필드가 보이는 원본원본 크기로 보기 ↗
수업 원본 캡처 · Offer 선택 화면. 모든 DHCP 메시지가 항상 브로드캐스트라는 설명과 비교한다.

이 자료에서 읽어낼 것

  1. 선택된 Offer는 UDP 67→68이며 BOOTP Message type은 Boot Reply 2이다. DHCP Offer 유형과 BOOTP op를 같은 번호 체계로 혼동하지 않는다.
  2. IPv4 목적지와 Ethernet 목적지가 개별 수신자를 가리켜 이 Offer가 유니캐스트로 수집되었음을 보여준다.
  3. ACK 이후 ARP Announcement가 보이지만 이 화면 하나만으로 모든 OS의 중복 탐지 시간이나 횟수를 확정할 수 없다.

설명과 함께 보는 보조 도식

메시지 순서

DHCPv4 초기 임대

같은 링크에 서버가 있는 초기 할당의 기본 절차.

클라이언트서버1. Discover2. Offer3. Request4. ACK5. 적용과 확인
전체 단계를 한 번에 읽기
  1. 01

    Discover

    사용 가능한 서버를 찾는다.

    상태
    주소 미구성
  2. 02

    Offer

    사용할 주소와 임대 조건을 제안한다.

  3. 03

    Request

    선택한 서버와 주소를 요청한다.

  4. 04

    ACK

    임대·옵션을 확정해 알린다.

    관찰
    주소·마스크·라우터·DNS
  5. 05

    적용과 확인

    충돌 여부와 실제 경로·DNS 동작을 확인한다.

학습용 메시지 흐름 모식도. 재전송과 구현별 선택 동작은 축약했다.
예제로 추적

04두 Offer 중 하나만 임대로 확정되는 과정

  1. 클라이언트가 =0x12345678로 Discover를 보낸다. 릴레이 주소는 192.0.2.1이고 서버 A·B가 서로 충돌하지 않는 풀에서 주소를 제안하는 예다.
  2. A는 192.0.2.100, B는 192.0.2.150을 같은 거래에 대한 Offer로 제안한다. Offer를 두 개 받았다고 클라이언트가 두 주소를 동시에 임대로 사용하지 않는다.
  3. 클라이언트는 를 연결해 Requested IP=192.0.2.100, Server Identifier=A인 Request를 보낸다. B도 이를 보고 자신의 제안이 선택되지 않았음을 판단할 수 있다.
  4. A의 ACK에 있는 임대·마스크·라우터 옵션을 확인하고 주소 중복 확인을 수행한다. 충돌이 드러나면 Decline으로 알리고 그 주소를 정상 주소로 사용하지 않는다.
  5. 성공한 임대가 3600초이고 ·가 별도 지정되지 않으면 기본 비율로 =1800초, =3150초다. 갱신 성공 시 받은 새 임대 정보를 기준으로 시간 상태가 다시 정해진다.

05BOUND·RENEWING·REBINDING의 시간축

  • 서버가 별도 값을 주지 않은 일반적인 기본값은 =임대의 50%, =87.5%다. 유효 임대를 가진 다른 단말의 주소를 풀 고갈만으로 임의 회수하지 않는다.
  • INIT-REBOOT의 기존 주소 검증이나 정상 갱신은 Request·ACK만 보일 수 있다. ipconfig /renew 캡처에서 두 메시지만 보였다고 초기 실패로 판정하지 않는다.
  1. ACK를 받아 임대를 사용한다. 아래는 8시간 임대이며 ·에 별도 값이 없는 예다.
  2. 에 기존 서버로 유니캐스트 Request를 보내 갱신을 시도한다. 새 ACK를 받으면 새 임대 조건으로 시간 기준을 갱신한다.
  3. 응답 없이 에 도달하면 다른 서버도 받을 수 있도록 브로드캐스트 Request를 보낸다.
  4. 승인받지 못한 채 8시간이 지나면 해당 주소를 정상 임대처럼 계속 사용하지 않는다. 새 ACK를 받으면 승인된 임대를 다시 관리한다.
원리 심화

06DHCPREQUEST의 상태별 주소 필드 조합

  • 여러 Offer 중 하나를 고른 요청은 =0, Requested IP=선택 주소, Server Identifier=선택 서버를 사용한다. 브로드캐스트로 선택 결과를 알려 다른 서버도 자신의 Offer가 선택되지 않았음을 알 수 있다.
  • 이전에 쓰던 주소를 확인할 때 =0, Requested IP=기억한 주소를 넣고 Server Identifier는 넣지 않는다. 새 네트워크에서 기존 임대를 그대로 사용할 수 있는지 확인하는 요청이다.
  • 주소를 이미 사용 중이므로 에 현재 주소를 넣는다. Requested IP와 Server Identifier 옵션을 넣는 초기 선택 방식과 달리 기존 서버로 유니캐스트 갱신을 시도한다.
  • 이후에는 에 현재 주소를 유지하면서 브로드캐스트로 다른 서버도 응답할 수 있게 한다. Server Identifier를 고정하지 않으며 임대가 만료되면 주소 사용을 중단한다.
  • 는 클라이언트의 현재 주소이고 는 릴레이가 제공하는 클라이언트 링크 문맥이다. 서버가 올바른 풀을 선택하는 근거와 클라이언트가 주소를 소유하는 상태를 혼동하지 않는다.
상태
선택한 Offer 요청0선택 IP선택 서버
INIT-REBOOT0기존 IP없음
현재 IP없음없음
현재 IP없음없음

07옵션 번호를 설정 값과 연결하기

  • Message Type53은 Discover·Offer 같은 메시지 종류를, Server Identifier54는 선택된 서버를, Requested IP50은 요청 주소를 뜻한다.
    • Subnet Mask1, Router3, Server6, Time51, Renewal Time58, Time59가 실제 단말 동작에 연결된다.
    • 어떤 옵션이 빠지거나 잘못되면 주소 배정은 성공해도 로컬 범위·외부 통신·이름 해석이 따로 실패할 수 있다.
  • WINS는 레거시 NetBIOS 이름 해석에 관련되며 일반 와 동일한 서비스가 아니다. 시험용 서버 화면에 여러 옵션이 함께 보인다고 모두 필수로 설정할 필요는 없다.
    • 원하는 클라이언트 동작에 필요한 옵션을 선택하고 ACK의 실제 옵션 값과 클라이언트에 적용된 값을 비교한다.
옵션필드/설정동작
1Subnet Mask온링크 주소 범위
3default-router기본 게이트웨이
6-server재귀 서버
51 / 58 / 59 / / 임대·갱신·재바인딩
53 / 54Message Type / Server Identifier메시지 종류·선택 서버

08Relay가 다른 서브넷의 풀을 선택하게 하는 방식

  • 라우터는 일반적으로 초기 브로드캐스트를 다른 링크로 전달하지 않는다. Relay는 클라이언트 메시지를 받아 서버로 중계하고 등으로 클라이언트가 속한 링크를 구분할 단서를 제공한다.
    • 서버는 이 정보에 맞는 scope를 선택하고 Relay를 통해 응답을 돌려준다.
    • Relay의 주소와 클라이언트에게 임대되는 주소는 같은 역할이 아니다.
  • IOS의 ip -address는 서버 쪽 인터페이스가 아니라 클라이언트 브로드캐스트를 수신하는 SVI 또는 라우터 인터페이스에 둔다. 서버에는 해당 클라이언트 의 풀과 Relay까지의 귀환 경로가 있어야 한다.
    • Option82는 Circuit ID·Remote ID 같은 접속 위치 정보를 추가하는 확장으로, 와 동일한 필드는 아니다.
    • 일부 IOS 구현의 는 외 브로드캐스트도 전달하므로 실제 플랫폼의 forwarding 설정을 구분한다.

09Cisco 라우터를 서버로 사용하는 완결 예

  • 아래 예시는 격리된 문서용 LAN 192.0.2.0/24에서 라우터 .1, .53, 동적 클라이언트 .100~.199를 사용하는 구성이다. excluded-address를 전역에서 설정하고 pool의 network는 동적 시작 주소가 아니라 전체 을 적는다.
    • default-router는 이 LAN의 게이트웨이이며 서버가 다른 에 있다고 그 서버 주소를 게이트웨이로 주지 않는다.
  • SVI로 서버 기능을 제공하는 L3 스위치에서는 과 그 을 전달하는 활성 포트, SVI 상태 및 플랫폼 기능이 전제다. 아래 인터페이스 이름은 예시이며 실제 장치와 다를 수 있다.
    • show ip binding의 주소·클라이언트 식별자·만료 시각을 클라이언트 임대와 대조하면 ACK가 실제 서버 상태로 반영됐는지 알 수 있다.
text
interface GigabitEthernet0/0
 ip address 192.0.2.1 255.255.255.0
 no shutdown
!
ip dhcp excluded-address 192.0.2.1 192.0.2.99
ip dhcp excluded-address 192.0.2.200 192.0.2.254
ip dhcp pool STUDY-LAN
 network 192.0.2.0 255.255.255.0
 default-router 192.0.2.1
 dns-server 192.0.2.53
 domain-name lab.example
 lease 0 8
!
show ip dhcp pool
show ip dhcp binding
show ip dhcp conflict

문서용 주소로 다시 구성한 IOS 실습 예. 실제 운영 장비에 실행한 기록이 아니다.

LEARN THROUGH PRACTICE

실습: 주소 풀·클라이언트 임대·두 서버의 Offer 비교

풀 설정이 클라이언트 주소로 이어지는 과정과 복수 Offer에서 한 임대가 확정되는 과정을 구분한다.

실습 구성과 전제

  • 첫 사례는 192.168.0.1 라우터와 VPCS, 두 번째는 .254·.253 서버의 별도 캡처다. 서로 다른 실행이다.
  • 주소 풀의 제외 범위와 게이트웨이 주소를 먼저 정한다. 명령의 풀 이름 LAB은 재구성한 이름이다.
  1. 주소 풀과 제외 범위 구성

    • 네트워크는 /24이며 .1~.9는 고정 장치에 사용하도록 제외한다. default-router는 클라이언트에게 줄 옵션이고 라우터 자신의 인터페이스 주소 설정을 대신하지 않는다.
    • 풀 이름은 로컬 관리 이름이다. 다른 서버의 풀 이름과 같다고 동일 풀을 공유하는 것은 아니다.
    text
    ip dhcp excluded-address 192.168.0.1 192.168.0.9
    ip dhcp pool LAB
     network 192.168.0.0 255.255.255.0
     default-router 192.168.0.1
    exit
    interface FastEthernet0/0
     ip address 192.168.0.1 255.255.255.0
     no shutdown

    실제 풀·제외 범위를 반영한 IOS 재구성 예시

    확인 기준

    서버 인터페이스 .1/24와 풀 네트워크가 일치하며 제외 주소를 동적으로 배정하지 않아야 한다.

  2. 주소가 없던 PC의 임대 결과 확인

    • VPCS의 show ip는 초기 주소 0.0.0.0/0을 보인다. ip 이후 .10/24와 게이트웨이 .1이 출력된다.
    • 이 결과는 첫 가용 주소가 .10이었던 해당 실행이다. 모든 구현이 항상 가장 작은 주소부터 배정한다고 일반화하지 않는다.
    text
    PC1> ip dhcp
    PC1> show ip
    
    R1# show ip dhcp binding
    R1# show ip dhcp pool

    실습 흐름을 재구성한 명령 예시. 장치·인터페이스 이름은 구성에 맞춰 사용한다.

    DHCP · 실습·개념 참고 화면 7원본 크기로 보기 ↗
    • 초기 IP/MASK는 0.0.0.0/0, GATEWAY도 0.0.0.0이다.
    • ip dhcp 뒤 IP 192.168.0.10/24 GW 192.168.0.1이 보인다.
    확인 기준

    클라이언트 값과 서버의 임대 테이블을 대조한다.

  3. 별도 두 서버 사례의 거래 식별

    • 같은 ID에 .254와 .253의 Offer가 보인다. Offer 개수를 최종 임대 개수로 읽지 않는다.
    • Discover는 0.0.0.0에서 브로드캐스트로 향하며 68→67이다. Request와 ACK를 이어서 읽고 선택 서버는 Request의 Server Identifier 옵션으로 확정한다.
    DHCP · 실습·개념 참고 화면 13원본 크기로 보기 ↗
    • 동일 거래에 서로 다른 두 서버의 Offer가 보인다.
    • Discover의 출발지 0.0.0.0, 목적지 255.255.255.255와 UDP 68→67이 보인다.
    확인 기준

    화면에 접히거나 잘린 옵션값을 추정하지 않고 상세 트리에서 확인한다.

  4. 응답의 유니캐스트와 BOOTP op 구분

    • 선택한 Offer는 67→68이며 제안받을 클라이언트를 향한 유니캐스트다. 응답이 항상 브로드캐스트라는 설명은 맞지 않는다.
    • Boot Reply (2)는 BOOTP op이며 Offer 유형 옵션과 구분한다. ACK 이후의 는 주소 사용 과정의 추가 관찰이다.
    DHCP · 실습·개념 참고 화면 16원본 크기로 보기 ↗
    • Offer가 192.168.0.254에서 192.168.0.1로 향한다.
    • UDP 67→68 및 Message type Boot Reply (2)가 보인다.
    확인 기준

    서버의 ACK와 클라이언트 주소 적용을 함께 확인한다.

실습에서 확인한 동작 원리

  • 풀·제외·인터페이스·옵션은 각각 다른 구성 요소다.
  • 는 거래 식별자와 클라이언트 식별자를 묶어 추적해야 한다.

설정·출력 추가로 확인하기 52장

아래 화면을 펼쳐 위 실습의 설정값, 명령과 확인 기준을 비교해 보세요. 각 묶음은 별도 실습 기록입니다.

실습 화면 묶음 01 1장
4/20 · 명령·상태 출력 17원본 크기로 보기 ↗
  • 「80 (내 ubuntu) → 81 (수빈 언니 ubuntu)」 문맥에 삽입된 원본 명령·상태 출력이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
실습 화면 묶음 02 1장
4/21 · 실습·개념 참고 화면 2원본 크기로 보기 ↗
  • 문서 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
실습 화면 묶음 03 22장
DHCP · 명령·상태 출력 2원본 크기로 보기 ↗
  • 「실습」 문맥에 삽입된 원본 명령·상태 출력이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
DHCP · 명령·상태 출력 21원본 크기로 보기 ↗
  • 「dora 실습(dhcp 2개)」 문맥에 삽입된 원본 명령·상태 출력이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
DHCP · 실습·개념 참고 화면 1원본 크기로 보기 ↗
  • 「실습」 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
DHCP · 실습·개념 참고 화면 10원본 크기로 보기 ↗
  • 「DHCP - DORA (UDP)」 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
DHCP · 실습·개념 참고 화면 11원본 크기로 보기 ↗
  • 「DHCP - DORA (UDP)」 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
DHCP · 실습·개념 참고 화면 12원본 크기로 보기 ↗
  • 「dora 실습(dhcp 2개)」 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
DHCP · 실습·개념 참고 화면 14원본 크기로 보기 ↗
  • 「dora 실습(dhcp 2개)」 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
DHCP · 실습·개념 참고 화면 15원본 크기로 보기 ↗
  • 「dora 실습(dhcp 2개)」 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
DHCP · 실습·개념 참고 화면 17원본 크기로 보기 ↗
  • 「dora 실습(dhcp 2개)」 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
DHCP · 실습·개념 참고 화면 18원본 크기로 보기 ↗
  • 「dora 실습(dhcp 2개)」 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
DHCP · 실습·개념 참고 화면 19원본 크기로 보기 ↗
  • 「dora 실습(dhcp 2개)」 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
DHCP · 실습·개념 참고 화면 20원본 크기로 보기 ↗
  • 「dora 실습(dhcp 2개)」 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
DHCP · 실습·개념 참고 화면 23원본 크기로 보기 ↗
  • 「SVI - switched virtual interface」 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
DHCP · 실습·개념 참고 화면 24원본 크기로 보기 ↗
  • 「SVI - switched virtual interface」 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
DHCP · 실습·개념 참고 화면 25원본 크기로 보기 ↗
  • 「SVI - switched virtual interface」 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
DHCP · 실습·개념 참고 화면 26원본 크기로 보기 ↗
  • 「sh run」 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
DHCP · 실습·개념 참고 화면 3원본 크기로 보기 ↗
  • 「실습」 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
DHCP · 실습·개념 참고 화면 4원본 크기로 보기 ↗
  • 「실습」 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
DHCP · 실습·개념 참고 화면 5원본 크기로 보기 ↗
  • 「실습」 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
DHCP · 실습·개념 참고 화면 6원본 크기로 보기 ↗
  • 「실습」 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
DHCP · 실습·개념 참고 화면 8원본 크기로 보기 ↗
  • 「실습」 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
DHCP · 실습·개념 참고 화면 9원본 크기로 보기 ↗
  • 「DHCP - DORA (UDP)」 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
실습 화면 묶음 04 1장
DHCP 서버·클라이언트 실습원본 크기로 보기 ↗
  • 학습 원본 · DHCP 서버·클라이언트 실습의 해당 절에 수록된 화면·도식이다.
실습 화면 묶음 05 1장
DHCP 서버·클라이언트 실습원본 크기로 보기 ↗
  • 학습 원본 · DHCP 서버·클라이언트 실습의 해당 절에 수록된 화면·도식이다.
실습 화면 묶음 06 1장
DHCP 서버·클라이언트 실습원본 크기로 보기 ↗
  • 학습 원본 · DHCP 서버·클라이언트 실습의 해당 절에 수록된 화면·도식이다.
실습 화면 묶음 07 1장
DHCP 서버·클라이언트 실습원본 크기로 보기 ↗
  • 학습 원본 · DHCP 서버·클라이언트 실습의 해당 절에 수록된 화면·도식이다.
실습 화면 묶음 08 1장
DHCP 서버·클라이언트 실습원본 크기로 보기 ↗
  • 학습 원본 · DHCP 서버·클라이언트 실습의 해당 절에 수록된 화면·도식이다.
실습 화면 묶음 09 1장
DHCP 서버·클라이언트 실습 · GNS에 NI, IP 작업원본 크기로 보기 ↗
  • 학습 원본 · DHCP 서버·클라이언트 실습의 GNS에 NI, IP 작업에 수록된 화면·도식이다.
실습 화면 묶음 10 1장
DHCP 서버·클라이언트 실습 · Rocky Linux에 DHCP 서버 설정원본 크기로 보기 ↗
  • 학습 원본 · DHCP 서버·클라이언트 실습의 Rocky Linux에 DHCP 서버 설정에 수록된 화면·도식이다.
실습 화면 묶음 11 1장
DHCP 서버·클라이언트 실습 · Ubuntu Linux원본 크기로 보기 ↗
  • 학습 원본 · DHCP 서버·클라이언트 실습의 Ubuntu Linux에 수록된 화면·도식이다.
실습 화면 묶음 12 1장
DHCP 서버·클라이언트 실습 · Window 10 클라이언트에 DHCP 할당원본 크기로 보기 ↗
  • 학습 원본 · DHCP 서버·클라이언트 실습의 Window 10 클라이언트에 DHCP 할당에 수록된 화면·도식이다.
실습 화면 묶음 13 1장
DHCP 서버·클라이언트 실습 · 실습 환경 및 시나리오원본 크기로 보기 ↗
  • 학습 원본 · DHCP 서버·클라이언트 실습의 실습 환경 및 시나리오에 수록된 화면·도식이다.
실습 화면 묶음 14 1장
DHCP 서버·클라이언트 실습 · 외각 엔드포인트 운영체제 세팅원본 크기로 보기 ↗
  • 학습 원본 · DHCP 서버·클라이언트 실습의 외각 엔드포인트 운영체제 세팅에 수록된 화면·도식이다.
실습 화면 묶음 15 1장
DHCP 서버·클라이언트 실습 · 중앙 라우터 및 스위치 세팅원본 크기로 보기 ↗
  • 학습 원본 · DHCP 서버·클라이언트 실습의 중앙 라우터 및 스위치 세팅에 수록된 화면·도식이다.
실습 화면 묶음 16 1장
OWASP - Improper input validacation · 실습·개념 참고 화면 2원본 크기로 보기 ↗
  • 「Improper input validacation」 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
실습 화면 묶음 17 1장
gns3 · 실습·개념 참고 화면 7원본 크기로 보기 ↗
  • 문서 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
실습 화면 묶음 18 8장
window · 설정·관리 화면 10원본 크기로 보기 ↗
  • 문서 문맥에 삽입된 원본 설정·관리 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
window · 설정·관리 화면 3원본 크기로 보기 ↗
  • 문서 문맥에 삽입된 원본 설정·관리 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
window · 설정·관리 화면 4원본 크기로 보기 ↗
  • 문서 문맥에 삽입된 원본 설정·관리 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
window · 설정·관리 화면 6원본 크기로 보기 ↗
  • 문서 문맥에 삽입된 원본 설정·관리 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
window · 설정·관리 화면 7원본 크기로 보기 ↗
  • 문서 문맥에 삽입된 원본 설정·관리 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
window · 설정·관리 화면 8원본 크기로 보기 ↗
  • 문서 문맥에 삽입된 원본 설정·관리 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
window · 설정·관리 화면 9원본 크기로 보기 ↗
  • 문서 문맥에 삽입된 원본 설정·관리 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
window · 실습·개념 참고 화면 5원본 크기로 보기 ↗
  • 문서 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
실습 화면 묶음 19 2장
네트워크 관리사 -  필기 · 설정·관리 화면 9원본 크기로 보기 ↗
  • 문서 문맥에 삽입된 원본 설정·관리 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
네트워크 관리사 -  필기 · 실습·개념 참고 화면 7원본 크기로 보기 ↗
  • 문서 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
실습 화면 묶음 20 2장
명령어 정리-1차 · 설정·관리 화면 1원본 크기로 보기 ↗
  • 「dhcp」 문맥에 삽입된 원본 설정·관리 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
명령어 정리-1차 · 설정·관리 화면 2원본 크기로 보기 ↗
  • 「dhcp」 문맥에 삽입된 원본 설정·관리 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
실습 화면 묶음 21 1장
보고서 · 실습·개념 참고 화면 1원본 크기로 보기 ↗
  • 문서 문맥에 삽입된 원본 실습·개념 참고 화면이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
실습 화면 묶음 22 1장
실습 · 명령·상태 출력 2원본 크기로 보기 ↗
  • 「Router」 문맥에 삽입된 원본 명령·상태 출력이다. DHCPv4 임대 상태·Relay·서버 설정 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
동작·명령 참고 문서

10Relay를 사용하는 별도 서버 예

  • 같은 클라이언트 LAN에서 서버가 198.51.100.53에 있다면 클라이언트 인터페이스에 를 설정한다. 이 경우 앞 절의 로컬 풀과 동시에 독립 운영하면 승인되지 않은 복수 Offer가 생길 수 있으므로 실습 시 서버 역할을 하나씩 바꾸어 비교한다.
    • HA를 구성하려면 서버들끼리 임대 충돌을 피하는 별도 설계가 필요하다.
  • 가상화 실습에서는 VMnet 자체의 와 실습 서버가 같은 세그먼트에 함께 있는지 살펴야 한다. 내장 해제는 선택한 실습 VMnet에서 중복 서버를 제거하는 작업이지 모든 방화벽과 보안 기능을 끄라는 뜻이 아니다.
    • tunnel의 local/remote 포트가 반대편 설정과 맞아야 이전의 브로드캐스트 전달부터 성립한다.
text
interface GigabitEthernet0/0
 ip address 192.0.2.1 255.255.255.0
 ip helper-address 198.51.100.53
 no shutdown
!
show ip interface GigabitEthernet0/0
show ip route 198.51.100.53
show ip forward-protocol

외부 서버에 192.0.2.0/24 풀이 존재하고 양방향 이 갖춰진 Relay 예.

11Windows·Linux 실습에서 서버와 클라이언트 설정 구분

  • 실습은 서버 인터페이스를 고정 주소로 정한 뒤 역할, scope의 네트워크·범위·제외 주소·임대·라우터· 옵션을 구성하는 흐름이다.
    • 의 ISC dhcpd 설정은 subnet/netmask 블록, range, option routers, option domain-name-servers, default--time·max--time을 사용한다.
    • 이는 해당 레거시 구현 문법이며 현재의 다른 서버 제품 설정과 섞어 쓰지 않는다.
  • 서버 자체 주소는 자신이 동적으로 나누어 주는 범위 밖에서 안정적으로 유지한다. 클라이언트는 NetworkManager의 자동 또는 Netplan의 dhcp4:true 등으로 임대를 요청한다.
    • Netplan 파일에 를 켠 것은 서버를 설치한 것이 아니다.
    • 특정 가상 단말의 실패만으로 운영체제·VPCS 사이의 일반적인 프로토콜 비호환을 단정하지 않는다.

12캡처와 임대 정보를 같은 거래로 묶기

  • 서버까지 Discover가 도착했는지, Offer가 돌아왔는지, 클라이언트가 어떤 Server Identifier를 선택했는지, ACK의 와 옵션이 무엇인지를 와 클라이언트 식별 정보로 연결한다.
    • 동일 브로드캐스트 영역에서 승인하지 않은 두 Offer가 보이면 단말 하나의 문제보다 서버 연결 구성이 우선이다.
    • 의 신뢰 방향이 틀리면 서버의 Offer·ACK만 차단되는 모습도 생긴다.
  • ACK 이후 IP는 있어도 외부 통신이 안 되면 갱신 횟수를 늘리기보다 마스크·게이트웨이·를 분리해 읽는다. 의 release는 임대를 반납하는 변경 작업이므로 단순 조회와 구별한다.
    • 아래 출력 항목은 실제 수집값이 아니라 읽어야 할 필드의 예시다.
  • 원본에는 같은 ID로 두 서버가 서로 다른 후보를 제안한 화면이 있다. 캡처 목록에서 Offer가 반복되는 이유는 복수 서버·재전송·수집 중복 등 후보를 구분해야 하며, 선택한 서버는 Request의 옵션과 ACK를 연결해 판단한다.
    • 이는 Discover·Offer가 반드시 한 번씩만 나오는 네 줄짜리 그림이 실제 수집 전체를 설명하지 못하는 사례이다.
text
Windows 조회: ipconfig /all
Linux 조회:   ip -4 addr show
              ip -4 route show

예시 임대:
IPv4 Address : 192.0.2.100
Subnet Mask  : 255.255.255.0
Gateway      : 192.0.2.1
DHCP Server  : 192.0.2.1
DNS Server   : 192.0.2.53
Lease        : 8 hours

Wireshark 표시 필터(버전에 따라 dhcp 또는 bootp):
udp.port == 67 || udp.port == 68

조회 예와 설명용 임대. IP·마스크·라우터··서버·만료를 각각 대조한다.

검증·예외

13릴레이와 임대 상태를 이용한 실패 위치 판독

  • 클라이언트 구간에서 Discover가 보이지만 서버 구간에 없으면 적용 인터페이스·서버 경로·전달 정책을 좁힌다. 릴레이 설정은 클라이언트 브로드캐스트를 받는 인터페이스와 연결된다.
  • 서버가 Discover를 받아도 가 가리키는 링크의 풀이 없거나 주소가 소진되면 정상 Offer를 만들지 못할 수 있다. 서버 자체 인터페이스의 만 보는 것으로는 부족하다.
  • 서버가 ACK를 송신한 증거와 릴레이 수신·클라이언트 전달을 분리한다. 서버의 반환 경로와 릴레이가 사용하는 유니캐스트·브로드캐스트 전달 조건을 함께 본다.
  • NAK는 요청 주소를 계속 사용할 수 없다는 명시적 응답이다. 무응답은 서버 장애·필터·손실 등 여러 원인이므로 둘을 같은 임대 실패 로그로 단순화하지 않는다.
  • 서버는 Client Identifier가 있으면 이를 임대 식별에 사용할 수 있다. 같은 MAC이어도 클라이언트 식별값이 바뀌면 다른 임대로 보일 수 있으므로 chaddr만 비교하지 않는다.
READ · OBSERVE · CONNECT

함께 보는 학습 자료

아래 공식 자료를 본문의 개념·예제와 함께 읽어 보세요. 자료별로 확인할 위치와 관찰할 내용을 적었습니다.

표준

RFC 2131 §4.4·Figure 5: 클라이언트 상태 기계

이후 갱신·재바인딩·만료를 읽어 상태별 필드가 달라지는 이유를 이해한다.

읽으면서 확인할 것
  • SELECTING·INIT-REBOOT·의 필드 차이
  • §4.4.5의 유니캐스트와 브로드캐스트
  • 또는 임대 만료의 사용 중단
학습 확인

이해했는지 확인하기

  • DORA 중 마지막으로 관측된 메시지는 무엇인가?
  • Relay가 전달한 클라이언트 네트워크와 서버 scope가 일치하는가?
  • 주소 외에 받은 게이트웨이·DNS·임대 정보도 확인했는가?

함께 확인할 공식 자료