LAN의 DHCP 서버 이해

LAN의 DHCP 서버 이해

서버의 IP와 기타 DHCP 옵션을 표시할 수 있습니까?

기본적으로 내가 연결된 LAN에 어떤 DHCP 서버가 있는지 알고 싶습니다.

미리 감사드립니다

답변1

DHCP 클라이언트에 대한 임대 파일을 찾아야 합니다. NetworkManager를 사용하는 경우 디렉터리 /var/lib/NetworkManager/또는 DHCP 클라이언트 관련 디렉터리에 있을 수 있습니다. 예를 들어, DHCP 클라이언트로 작동하는 경우 dhclient로 찾을 수 있습니다 /var/lib/dhcp/dhclient.<network interface name>.leases.

예를 들어, 내 헤드리스 Debian 10 시스템에는 NetworkManager가 없고 을 사용하고 있으며 dhclient네트워크 인터페이스는 enp1s0f1이고 임대 파일은 입니다 /var/lib/dhcp/dhclient.enp1s0f1.leases. 여기에는 다음과 같은 많은 임대 정의가 포함되어 있습니다.

lease {
  interface "enp1s0f1";
  fixed-address 192.0.2.4;
  option subnet-mask 255.255.255.0;
  option routers 192.0.2.1;
  option dhcp-lease-time 18000;
  option dhcp-message-type 5;
  option domain-name-servers 192.0.2.53,192.0.2.54;
  option dhcp-server-identifier 198.51.100.67;
  option domain-name "isp.example.com";
  renew 4 2021/08/05 07:42:46;
  rebind 4 2021/08/05 09:52:18;
  expire 4 2021/08/05 10:29:48;
}

여기서 이 option dhcp-server-identifier줄은 임대에 설명된 IP 주소와 기타 구성 정보를 제공하는 DHCP 서버를 식별합니다. DHCP 서버는 완전히 다른 네트워크 세그먼트에 있을 수 있습니다. 이 경우 DHCP 요청 브로드캐스트를 수신하고 이를 실제 DHCP 서버에 전달하고 반환된 응답을 다시 브로드캐스팅하는 DHCP 도우미가 로컬 네트워크 어딘가에 있을 것입니다. 필요할 때(즉, 클라이언트가 이를 수행할 때) 로컬 네트워크 세그먼트에 연결됩니다. 아직 자체 IP 주소가 없습니다).

내 노트북은 NetworkManager를 사용하므로 임대 파일을 에서 찾을 수 있지만 /var/lib/NetworkManager/dhclient-<long-uuid-string>-<interface name>.lease임대 파일의 내용은 비슷합니다. 그러나 NetworkManager를 사용하면 nmcli cList NetworkManager 연결 이름과 같은 명령을 사용하여 nmcli c show <connection name>추가 정보를 얻을 수도 있습니다. DHCP를 사용하는 활성 연결에서 이 정보에는 다음과 같은 줄이 포함되어야 합니다.

DHCP4.OPTION[n]:      dhcp_server_identifier = 192.51.100.67

( n몇몇 숫자가 들어있어요)

마찬가지로 dhcp_server_identifier이 연결에 대한 IP 주소를 제공한 DHCP 서버의 IP 주소도 알려줍니다.

다른 DHCP 클라이언트는 파일 형식이 다를 수도 있고 임대 정보를 다르게 저장할 수도 있습니다.

답변2

다음 명령을 사용하여 어떤 DHCP 서버가 IP 주소를 발급하는지 확인할 수 있습니다.

-> % ip r
default via 192.168.0.1 dev eno1 proto dhcp src 192.168.0.100 metric 100 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
192.168.0.0/24 dev eno1 proto kernel scope link src 192.168.0.100 
192.168.0.1 dev eno1 proto dhcp scope link src 192.168.0.100 metric 100 
a
-> % route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    100    0        0 eno1
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eno1
192.168.0.1     0.0.0.0         255.255.255.255 UH    100    0        0 eno1

위의 192.168.0.1이 게이트웨이입니다. 192.168.0.100은 현재 시스템의 IP 주소입니다.

관련 정보