在准备微型取证系统时,我遇到了一个问题:让我们想象一下,我们为许多不同的工作站准备一个 usb-flash 启动的 linux。在设置网络(ipv4 dhcp)时,我们可以找到多个 LAN 接口,有些已连接,有些未连接,但希望其中一个连接到私有 LAN(例如 192.168.20.0/24),并且只应设置此接口。
也许可以通过一些 udev 规则来解决,但我找不到它们在哪里以及如何修改它们。目前,我使用自己的 /etc/rc.local 脚本以及对 dhclient.conf 的一些修改(拒绝网络),但即使它以某种方式运行(更好地说:它行走),它也不可靠,而且很多时候它无法成功完成本地 cifs 挂载,即使在同一个工作站上也是如此。
有人可以告诉我如何解决这个问题吗?
细节:
- 私有局域网与一个可管理的交换机隔离
- 本地 dnsmasq 服务器仅响应此私有 LAN 中的请求
- 每个工作站可以有 1 - 4 个(线路)NIC
- 一些工作站不仅连接到私有 LAN,还可以通过其他 dhcp 服务器配置一些 NIC,或者可以拥有静态 IP - 但这些接口应该被忽略
目标是:开机后获取dhcp地址并连接本地网络数据存储。
非常感谢
答案1
如果不激活它们,就无法检测哪个 NIC 位于私有 LAN 上。
我的建议是:逐个激活 NIC 并执行 dhcp 请求。如果出现超时,则表示该 NIC 不在 dhcp LAN(静态 ip)上,您可以再次禁用它。如果收到响应,您就知道该 NIC 是否在正确的子网上,您可以将其保持启用状态,如果子网错误,则可以将其禁用。
或者,您可以“保留” dhcp 范围内的 ip,这样它就不会被分发给其他客户端。然后,您可以依次将该 ip 分配给每个 NIC,激活它们,并检查是否可以访问网络存储。如果不能,请禁用该 NIC 并转到下一个。找到正确的 NIC 后,您可以保留保留的 ip(如果您在任何时候只使用其中 1 个可启动 usb),或者重新配置 NIC 以从 dhcp 获取不同的 ip。