如何在不指定IP的情况下使用PuTTY连接到DHCPnetworking中的本地服务器?

我不想指定一个IP地址,因为它可以在DHCP LAN中更改。 我试图连接到Linux服务器的名称,但既没有腻子也没有Windows的Ping.exe可以解决它。

我可以看到几个类别的解决scheme:

  1. 静态IP:
    1. 修复Linux机器上的IP,并从DHCP服务器中排除该IP。
    2. 获取DHCP服务器(您的路由器?)给Linux服务器的MAC地址一个固定的地址。
    3. 对于其中任何一个,将静态IP地址放在客户端的主机文件中。
  2. dynamicIP与DNS。
    1. find让Linux机器通过DHCP请求发送主机名的方法,并让DHCP服务器/ DNS服务器公开这个名称,以便DNSparsing工作。 取决于DHCP和DNS服务器。
    2. 将Linux服务器的当前IP放在一些固定的共享资源(例如外部网页)上。 并在客户端上编写一些黑客程序,以便将其作为服务器IP地址使用。

您可以configurationdhcp使用dhcp请求发送主机名。 很明显,你需要你的dhcpd和nameserver来支持这个function,但是很多路由器都支持这个function,所以它的值得检查一下。

不幸的是,你运气不好。 为了做到这一点,你需要使用像mDNS的东西。 它在OSX中被称为Bonjour,但在苹果以外还没有达到临界质量。 如果您控制DHCP服务器,则可以为特定系统设置DHCP保留。 在这种情况下,具有特定MAC地址的NIC将始终与DHCP服务器获得相同的,静态定义的地址。

除非是在某个DNS服务器上,否则你不可能解决这个问题。 您需要知道IP地址,或者您可以使用某些服务(如No-IP)将FQDN更新到服务器的当前IP地址。 当然,这只适用于具有公共IP地址的服务器。

对于内部地址,您可能需要在服务器上编写一个脚本,该脚本将向您发送在某个时间点具有的IP。

在你的问题中有些事情还不清楚,但我会尽量给出一个广泛的答案。

为了通过主机名连接到机器,您需要在networking上激活一个名称parsing服务 – 即DNS或WINS服务器。 看到你说你的机器不能通过名字互相ping通,看起来你在networking中没有DNS服务器(或者这两台机器都没有设置主DNS服务器)。 这就引出了一个问题 – 什么networking环境会有DHCP,但没有DNS?

如果在networking上有一个DNS服务器,那么你只需要设置两台机器来联系它(在Windows中的networking连接属性,god-knows-where.conf在Linux中),你就完成了。

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

假设您可以控制networking中的DHCP服务器,最简单的解决scheme是在DHCP服务器中设置静态IP映射。 让它每次给linux服务器相同的ip(绑定一个特定的IP到服务器的NIC的MAC地址)。 然后你可以编辑Windows工作站上的主机文件(在%systemroot%\ system32 \ drivers \ etc中find),并将特定的名称映射到该地址,并享受自己的乐趣。

如果你不能控制DHCP …那么,我个人而言,我只是去做那些做的人(并告诉他们在那里得到一个DNS服务器为上帝!)

我可以想到其他一些可能会绕过这个问题的疯狂的东西(编写一个脚本来ping整个子网,运行arp -a到一个文件,然后扫描它find服务器的MAC地址,从而解决它的IP。 Sheesh,这是生病的)。 认真地说,我会尝试获得一个体面的名称parsing服务启动和运行。

我也有一个DHCPnetworking上的Linux服务器。 我发现使用DHCP最简单的方法,仍然能够轻松连接到服务器是给它一个静态IP。 您仍然可以为其他客户端使用DHCP,但为您的服务器使用静态IP。

你不会说你使用的是什么Linux发行版,但是这里是Arch Linux的rc.conf的相关部分。

lo="lo 127.0.0.1" eth0="eth0 192.168.1.11 netmask 255.255.255.0 broadcast 192.168.0.255" INTERFACES=(lo eth0) gateway="default gw 192.168.1.1" ROUTES=(gateway) 

正如其他人指出的那样,问题在于名称parsing,而不是SSH。

但最好的解决scheme是configurationDNS,DHCP服务器和DHCP客户端,以便为所有DHCP客户端自动创buildDNS条目。 这很容易用微软的DHCP服务器完成(我应该能够提供指导,如果这是有帮助的),但也应该可以与其他服务器。

基本上你需要:

  1. 接受dynamic更新的DNS服务器(您可能希望保证这一点)。
  2. 为所有客户端发送dynamic更新的DHCP服务器(MS DHCP服务器将执行此操作,但不会默认)。
  3. 一个DHCP客户端,它告诉DHCP服务器它的名字(大多数是自动的,但它可能是一个需要打开的选项)。