我家里的局域网 (Netgear WNR2000v2 wifi) 里有 2 台机器。其中一台是笔记本电脑 ("客户机”),将始终分配 192.168.1.1 至 192.168.1.50 范围内的随机 IP。另一个是台式机(“构建服务器“),我想为其设置一个“专用”IP 地址;至少在我的 LAN 内。
因此,我将路由器配置为始终将构建服务器的 MAC 地址绑定到特定 IP,即 192.168.1.52。显然,这称为“持久 DHCP 保留”。
我在从客户端计算机通过 SSH 连接到构建服务器时遇到了麻烦。我注意到,除非构建服务器在某个短时间内(大约 30 秒或 60 秒)发出传出 TCP 请求(到路由器),否则路由器将不再“看到”构建服务器,并且尝试从客户端计算机通过 SSH 连接到构建服务器会产生No route to host
失败消息。
总结一下:
- 让构建服务器处于空闲/休眠状态(几分钟内没有网络活动)。
- 在客户端机器上打开终端:
ssh [email protected]
- 这会产生
No route to host
错误。 - 在构建服务器(Ubuntu 12.04 桌面版,所以实际上不算是服务器!)上,打开 Web 浏览器,并访问几个网站(生成网络活动)
- 回到客户端机器:
ssh [email protected]
- 成功!
因此,几乎就像在一段时间后,构建服务器和我的路由器之间超时了,路由器挂断了。当这种情况发生时,我尝试通过 SSH 进入构建服务器,因为路由器不再“知道”它No route to host
。
此外,如果我尝试在构建服务器空闲/休眠时对其进行 ping,则 ping 会失败。如果我尝试在构建服务器不空闲时对其进行 ping(这样我就可以通过 SSH 进入),则 ping 会很顺利。有什么想法吗?
答案1
这个问题似乎是由路由器引起的,而不是服务器本身,除非服务器端有奇怪的设置。如果不知道两个盒子之间有什么样的网络设备,很难猜测你的问题是什么。
作为初次尝试,您是否已从持久 DHCP 保留(基于 MAC)转换为静态 IP 配置?您可以将相同的 IP 地址(即 xxx52)放入构建机器作为其静态地址,看看它是否有助于解决超时问题。
答案2
我建议不要纠结于手头现有的路由器(以后可能会发生变化),而是从完全不同的角度解决问题 —— 忘记不可靠/不合逻辑的路由器及其设置,而是构建自己的家庭 DNS/DHCP 系统。忘记使用 IP 地址寻址您的机器,而是开始使用有意义的主机名。这就是我一直在做的事情。
我认为网络上最全面的家庭 DNS/DHCP 服务器设置指南是:
使用 DNSMasq 提供 DHCP 和 DNS 服务
http://sfxpt.wordpress.com/2011/02/06/providing-dhcp-and-dns-services-with-dnsmasq/
因此,我只需配置一次家庭 DNS/DHCP 服务器,它便会愉快地为我的家庭网络提供可靠的 DNS/DHCP 服务,即使服务器操作系统已升级多次,即使在此期间有多个路由器来来去去。