网络基础知识:如果没有成功的 DHCP 协商,哪个 IP 被分配给 NIC?

网络基础知识:如果没有成功的 DHCP 协商,哪个 IP 被分配给 NIC?

在 Windows 计算机上,当有无 DHCP在网络接口上找到服务器,它被分配一些IP地址喜欢:

169.254.x.x

因此,假设您可以使用以下工具在网络上找到它:

# netdiscover -i eth0 -r 169.254.0.0/16

对于网络嵌入式设备,如路由器或接入点,我通常会找到它们:

# netdiscover -i eth0 -r 192.168.0.0/16

但我不知道应该使用什么范围的IPLinux电脑
好像没有,例如:

$ ifconfig
eth3      Link encap:Ethernet  HWaddr 00:01:c0:15:64:b3
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

什么范围,如果有的话,在 Linux 上未执行 DHCP 时被分配给网络接口卡?

我可以用它做什么:

  • 在不知道 IP 的情况下远程连接到设备或计算机。例如,在能够运行完整 Linux 发行版的嵌入式现代设备上,例如 RaspBerry,适用于您不在 DHCP 服务器附近的情况。

答案1

当前IP版本内置“zeroconf”地址。如果启用了 IPv6,通常应该有一个链路本地地址。你不能扫描因为 IPv6 地址太大。你应该当您打开设备时能够监视自动地址,因为其内核将进行探测以确保没有其他设备具有相同的地址。您可以使用 Wireshark 或tcpdump查找探测数据包。这称为重复地址检测 (DAD),并使用 ICMPv6。

当您连接到此地址时,您还必须指定网络接口,例如fe80::1+ eth0= fe80::1%eth0。在网络浏览器中,我认为你必须将整个内容括在方括号中。


传统上,链路本地地址将从 MAC 地址派生。如果您可以从设备上的标签上读取 MAC 地址,则还可以计算出 IPv6 链路本地地址。


不幸的是,这些地址无法与传统的 Linux 链接本地名称解析一起使用。 (Avahi 不支持 ipv6,我认为 samba 也不支持。systemd-resolved 希望在 ipv6 方面更好)。

相关内容