我在 PC 上使用 Ubuntu 12.04。当 PC 配置为使用 时DHCP
,可以通过其 访问 PC hostname
。但当我设置 时static ip
,我无法通过主机名访问 PC。问题是什么?如何修复?
答案1
DHCP 服务器似乎也是 DNS 服务器(可能是您的路由器)。
当它向 PC 提供 DHCP IP 地址时,它还会在其自己的 DNS 系统中注册名称/IP 地址组合。
该 DNS 可帮助您 LAN 中的其他计算机通过名称找到该机器。
当您为其指定静态地址时,它将不会在 DNS 中注册。
其他计算机知道 Linux 计算机应使用哪个 IP 地址的唯一方法是:
- 手动将其放入 DNS(如果您的路由器支持)。
- 在每台 PC 的 hosts 文件中手动添加一个条目。
- 确保 Linux 计算机在网络上广播其名称,以便其他 PC 能够看到它。这可以通过多种方式实现:在所有计算机上启用 ipv6 即可实现。如果其他计算机是 Windows 和/或 OSX 系统,则在 Linux 计算机上运行 Samba(即使您不使用 Samba 共享内容)也将启用广播机制。
顺便问一下,你为什么要使用静态 IP 地址?如果你希望地址为固定值,最好让 DHCP 服务器为这台 Linux 机器分配一个保留地址。在这种情况下,你仍然可以从 DHCP 服务器的 DNS 处理中获益。
答案2
按照您的描述,DHCP 服务器会在租约发放时更新 DNS 服务器。在这种情况下,如果您不使用 DHCP,则需要在 DNS 服务器中手动配置主机名。