如何通过网络管理器从 DHCP 服务器获取主机名?

如何通过网络管理器从 DHCP 服务器获取主机名?

我可以通过调用目录下的脚本从 DHCP 服务器获取主机名和 IP 地址,/etc/dhcp/dhclient-exit-hooks.d/如所述这里在客户端。

編輯:/etc/dhcp/dhcpd.conf我在服务器端分配了主机名和 IP 地址:

...
host slave1 {
    hardware ethernet 00:50:56:89:A5:90;
    fixed-address 192.168.1.100;
    option host-name "slave1";
}
...

但在安装网络管理器后它停止了。我意识到网络管理器不会调用目录下的脚本。经过一番研究,我发现我可以按照说明/etc/dhcp/dhclient-exit-hooks.d/运行目录下的脚本/etc/NetworkManager/dispatcher.d/这里。我试过了(移动文件,然后授予权限),但没有成功。因为我无法访问$reason, $interface, hostname etc.该目录下的变量。我被困在这里了。那么有没有办法通过网络管理器从 dhcp 服务器获取主机名?或者如何在启动时运行目录下的脚本,dhclient-exit-hooks.d即使网络管理器正在运行?

答案1

我花了大约 8 天的时间寻找解决方案,但一无所获。我开发了自己的方法。这不是最好的方法,但它有效。

第一步:Ubuntu 总是显示“正在等待网络配置...”,并等待 2 分钟才能通过。我更改了两行failsafe.conf并禁用了“睡眠”功能来解决这个问题。

* sudo nano /etc/init/failsafe.conf

... 
$PLYMOUTH message –text=”Waiting for network configuration…” 
#sleep 40 

$PLYMOUTH message –text=”Waiting up to 60 more seconds for network…”
#sleep 59 
...

第二步:关闭休眠功能后网络失效,我改成登录前先rc.local运行/etc/init.d/networking restart正确配置网络。

* sudo nano /etc/init/rc.local

/etc/init.d/networking restart
exit 0

我希望它对遇到同样问题的人有用。

相关内容