我尝试在我的设备上实现网络配置,如果 RJ45 插头上可用,它将始终从 DHCP 获取 IP 地址。大多数情况下,设备无需连接即可启动。我/etc/network/interfaces
输入了以下内容:
allow-hotplug eth0
iface eth0 inet dhcp
我想添加一条规则或行为,当我将此设备连接到没有 dhcp 的网络时
(device <---> [USB LAN] pc)
我的设备获得一个静态 IP 地址。
我尝试在条目interfaces
右侧的一个接口上添加多个 IP 地址allow-hotplug
:
auto eth0:1
iface eth0:1 inet static
address 10.0.0.2
netmask 255.255.255.0
我得到的只是10.0.0.2
设备上的 IP。我听说过,lease
但 /etc/dhcp/dhcpd.conf
我从未使用过它。
您能帮我理解一下这个网络配置吗?
答案1
无需费尽心机即可实现此目标。你真正需要的是zeroconf
可在宇宙存储库适用于所有当前支持的 Ubuntu 版本。
zeroconf
提供 APIPA:
自动专用 IP 寻址的缩写,是 Windows 操作系统的一项新功能。使用 APIPA,DHCP 客户端可以在 DHCP 服务器不可用时自动自行配置 IP 地址和子网掩码。DHCP 客户端启动时,首先会查找 DHCP 服务器以获取 IP 地址和子网掩码。如果客户端无法找到该信息,它会使用 APIPA 自动为自己配置一个专为 Microsoft 保留的 IP 地址范围。IP 地址范围为 169.254.0.1 至 169.254.255.254。客户端还会为自己配置一个默认的 B 类子网掩码 255.255.0.0。客户端会使用自行配置的 IP 地址,直到 DHCP 服务器可用。
APIPA 适用于无路由的小型企业环境,通常少于 25 个客户端。
来源:记忆与https://lists.debian.org/debian-russian/2005/11/msg00064.html
有关更多详细信息,zeroconf
请参阅http://www.zeroconf.org/
(RFC 3927) 规定了在没有外部配置信息的情况下 IP 主机如何分配地址。这意味着分配地址时不依赖于用户输入的信息,也不依赖于通过网络从特殊服务器(例如 DHCP 服务器)获取的信息。
您可能还会发现这很有用。