显然 isc-dhcp-server 在引导序列中启动得太早,它表明它无关紧要。如果我直接以 root 身份登录并使用 init.d-script 启动它,它会正常启动。
我的设置基本上是一个完全标准的路由器,在 inet 端有一个 eth0,在 lan 端有一个 eth1。但是,我已经为 lan 端定义了一个网桥而不是 eth1。因此,网络的 LAN 部分在网桥启动之前不会启动。
我目前认为 dhcp 服务器在网桥启动之前启动,可能是因为网桥是通过“网络”任务启动的,而 eth 被“网络接口”任务占用 - 这些任务更早运行. (此外,与 eth 相比,这座桥需要很小的时间才能起床)。
如果我确实取消了网桥配置,而是直接将 eth1 用于 lan 端,则一切正常。(但是,从系统日志来看,事情仍然很紧张。)
关于如何让 DHCP 稍后启动的想法?
(桥接的原因,是为了能够在桥接网络中使用 KVM ..)
小智 2
只有在 upstart 序列中的任务完成后,网络接口才会启动。您networking
可以在任务的配置中看到,/etc/init/networking.conf
它所做的唯一事情就是运行ifup -a
。我通过从文件夹中删除 isc-dhcp-server 符号链接/etc/rc?.d
并为新贵添加新任务来修复启动顺序。您唯一需要做的就是添加一个配置文件/etc/init/dhcp_start.conf
并将其编辑为如下内容:
在停止的网络上启动
执行/etc/init.d/isc-dhcp-server启动
这是一个令人讨厌的黑客,但有效。您还可以添加另一个任务,以便在发生另一个事件时温和地关闭 dhcpd,例如我的网络:
在已停止的网桥网络接口 br0 上启动
执行 /etc/init.d/isc-dhcp-server 停止
我在其他地方发现人们说在启动网络时启动 dhcp,而不是停止网络。这本质上是错误的,因为接口仅在命令退出后配置ifup -a
,而不是在命令生效时配置。它只是偶然地对他们起作用,因为与 dhcp 并行执行的 ifup 完成得相当快。
归档时间: |
|
查看次数: |
26873 次 |
最近记录: |