我已经安装了 DHCP 服务器(isc-dhcp 服务器) 在我的 Ubuntu 20.04 上。客户端计算机(也是一台 Ubuntu 20.04 台式机)获得了分配的 IP 地址,但 id 没有获得分配的域名(通过 定义option domain-name "example.local";
)
我的 dhcpd.conf 文件如下所示:
default-lease-time 600;
max-lease-time 7200;
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;
# DHCP configuration for dynamic IP assignment:
subnet 192.168.5.0 netmask 255.255.255.0 {
option routers 192.168.5.3;
option subnet-mask 255.255.255.0;
option domain-search "example.local";
option domain-name-servers 8.8.8.8, 4.4.4.4;
option domain-name "example.local";
range 192.168.5.10 192.168.5.15;
}
# Static IP assignment
host moj-klient-so-statickou-ipeckou {
hardware ethernet 08:00:27:29:09:9F;
fixed-address 192.168.5.240;
server-name "myclient.example.local";
}
ddns-update-style none;
我曾尝试注释掉静态 IP 分配,以尝试动态 IP 分配是否可以解决问题,但结果总是一样的,具体来说,导致客户端计算机上出现此输出(这证明客户端机器没有分配域名):
client@client-VirtualBox:~$ hostname
client-VirtualBox
client@client-VirtualBox:~$ hostname -f
client-VirtualBox
client@client-VirtualBox:~$ hostname -A
client@client-VirtualBox:~$ domainname
(none)
client@client-VirtualBox:~$ dnsdomainname
client@client-VirtualBox:~$ ypdomainname
ypdomainname: Local domain name not set
client@client-VirtualBox:~$
有人知道为什么会发生这种情况吗?
谢谢
答案1
ISC domain-name
DHCP 用于 DNS 配置(也是domain-name-servers
选项),而不是用于配置本地主机名。此选项导致客户端的 DNS 查找可以忽略域,因此
host mywebsite
被解释为
host mywebsite.example.local
据我所知,没有简单的远程机制来更改主机的内部主机名(对于 Linux/Unices,存储在 中/etc/hostname
并由管理员在安装期间配置)。无论如何,即使我们在主机名文件中添加了域,它也不会用于内部处理。在操作系统配置中指定主机名的另一个位置是在文件中/etc/hosts
,该文件用于对主机进行静态 DNS 解析,并将主机的 IP 本地地址与主机名关联。
在某些情况下,主机会将自己的名称报告给 DNS 服务器,以便于从其他主机进行解析/访问,但由于这是一种外部的、不安全的操作,并且容易出现名称重复,因此不鼓励这样做(我认为在 Windows AD 中不是这样),并且也不会更改本地配置。