如何使用 PuTTY 连接到 DHCP 网络中的本地服务器而不指定 IP?

如何使用 PuTTY 连接到 DHCP 网络中的本地服务器而不指定 IP?

我不想指定 IP 地址,因为它可以在 DHCP LAN 中更改。我尝试连接到 Linux 服务器的名称,但 Putty 和 Windows 的 ping.exe 都无法解析它。

答案1

我可以看到以下几类解决方案:

  1. 静态IP:
    1. 修复 Linux 机器上的 IP 并从 DHCP 服务器中排除该 IP。
    2. 让 DHCP 服务器(您的路由器?)为 Linux 服务器的 MAC 地址提供固定地址。
    3. 对于其中任何一种,请将静态 IP 地址放在客户端的主机文件中。
  2. 带有 DNS 的动态 IP。
    1. 找到某种方法让 Linux 计算机通过其 DHCP 请求发送主机名,并让 DHCP 服务器/DNS 服务器公开此名称,以便 DNS 解析可以正常工作。取决于 DHCP 和 DNS 服务器。
    2. 将 Linux 服务器的当前 IP 放在某个固定的共享资源上(例如外部网页)。然后在客户端编写一些 hack 脚本来获取该 IP 并将其用作服务器 IP 地址。

答案2

您可以配置 dhcp 以使用 dhcp 请求发送主机名。显然,您需要 dhcpd 和名称服务器来支持此功能,但许多路由器都支持此功能,因此值得检查您的路由器是否支持此功能。

答案3

不幸的是,你运气不太好。为了做到这一点,你需要使用类似 mDNS 的东西。它是 OSX 中开箱即用的,称为 Bonjour,但在 Apple 之外尚未达到临界规模。如果你控制 DHCP 服务器,你可以为特定系统设置 DHCP 预留。在这种情况下,具有特定 MAC 地址的网卡将始终从 DHCP 服务器获得相同的、静态定义的地址。

答案4

您的问题中有些内容仍不清楚,但我会尽力给出一个大致的答案。

为了通过主机名连接到计算机,您需要网络上启用名称解析服务 - 即 DNS 或 WINS 服务器。看到您说您的计算机无法通过名称相互 ping 通,似乎您的网络中没有 DNS 服务器(或者两台计算机都没有设置主 DNS 服务器)。这引出了一个问题 - 什么网络环境会有 DHCP 但没有 DNS?

如果网络上有 DNS 服务器,那么您只需设置两台机器以联系它(Windows 中的网络连接属性,Linux 中的 god-knows-where.conf),一切就完成了。

那么我们假设没有 DNS 服务器。

假设您可以控制网络中的 DHCP 服务器,最简单的解决方案就是在 DHCP 服务器中设置静态 IP 映射。让它每次都为 Linux 服务器提供相同的 IP(将特定 IP 绑定到服务器网卡的 MAC 地址)。然后,您可以编辑 Windows 工作站上的 hosts 文件(位于 %systemroot%\system32\drivers\etc)并将特定名称映射到该地址,然后尽情享受吧。

如果您无法控制 DHCP...好吧,就我个人而言,我会去找那些可以控制 DHCP 的人(并告诉他们看在上帝的份上,在那里获取 DNS 服务器!)

我能想到其他可以规避这个问题的疯狂方法(编写一个脚本,ping 整个子网,将 arp -a 运行到文件中,然后扫描它以找到服务器的 MAC 地址,从而解析它的 IP。。。天哪,这太恶心了)。不过说真的,我会尝试启动并运行一个不错的名称解析服务。

相关内容