Linux 虚拟网络接口:指定特定的 DHCP 服务器(或地址范围内的 DHCP 服务器)?

Linux 虚拟网络接口:指定特定的 DHCP 服务器(或地址范围内的 DHCP 服务器)?

我正在为一个朋友设置一个 Linux 盒子。她住在远离城市的地方,必须使用拨号上网,但有时她可以将计算机带到城里并连接到我的 LAN 或其他人的 LAN。她还有一个支持 DHCP 的 NAS,因此她可以轻松地从这个盒子或她的 Windows 笔记本电脑进行备份。她在 NAS 上的 DHCP 使用 10.xxx 地址空间,因为她的朋友都没有在其 LAN 中使用该范围。

我知道我可以为 10.xxx 地址空间设置一条路由,这样当她拨入互联网时,她的 NIC 将成为该子网的网关,而调制解调器将充当其他所有内容的网关。

但我想让事情变得简单,当她带系统进行故障排除或出于其他原因时,她能够使用该 NIC 来访问她的 NAS 和我的 LAN(或另一位朋友的 LAN)。

我知道我可以设置一个虚拟网络接口并给它一个特定的地址。我还了解到,我可以设置一个虚拟接口并指定它应该使用 DHCP 来获取地址。

我想做的是做这样的事情:

eth0:DHCP,使用 10.0.0.4 作为 DHCP 服务器(或 10.xxx 范围内的任何服务器) eth0:1:使用不在 10.xxx 地址范围内的任何 DHCP 服务器的 DHCP

那可能吗?我知道我可以订购一个便宜的 USB 网卡,然后使用主板网卡作为 eth0,这将连接到 10.xxx 网络,而 USB 网卡将连接到任何其他 LAN,但我希望有一种方法可以做到这一点虚拟接口,所以我不需要另一台设备。

是否可以指定 DHCP 服务器要使用的网络接口或 DHCP 服务器必须位于(或不得位于)的地址范围?

答案1

dhclientpseudo接口正是您所寻找的。您必须运行两个 dhclient 进程:一个指向 NAS 服务器(或 10.x 广播地址),另一个默认为所有主机广播地址,但带有rejectNAS 服务器的子句。

然而,这是一个非常不寻常的配置,它突破脆弱性和缺乏测试的可能性很高。您是否考虑过将 NAS 配置为可通过 IPv6 使用? IPv6 和 IPv4 几乎可以独立地在单个链路上共存。fe80:...%eth0当然,一旦您知道 NAS 机器的地址,主机就可以使用以下形式的地址来寻址 NAS 机器。

相关内容