了解局域网的dhcp服务器

了解局域网的dhcp服务器

是否可以显示给我 ip 和其他 DHCP 选项的服务器的 ip?

基本上我想了解我所连接的局域网的 dhcp 服务器是哪一个。

提前致谢

答案1

您需要找到 DHCP 客户端的租用文件。如果您使用 NetworkManager,它可能位于目录中/var/lib/NetworkManager/,或者位于 DHCP 客户端特定的目录中。例如,如果您用作dhclientDHCP 客户端,您可能会发现它为/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 c列出 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

您可以使用以下命令来了解发布IP地址的dhcp服务器。

-> % 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地址。

相关内容