我的内部网络上有两台计算机,其中一台(服务器)通过路由器上的端口转发暴露给Internet。如果我尝试使用服务器的静态内部IP地址从我的笔记本电脑(或从笔记本电脑ping服务器)ssh到服务器,我经常得到"没有到主机的路由"。
为了让服务器响应它的内部静态IP地址,一旦发生这种情况,我必须通过面向互联网的域名进入服务器,然后从服务器ping我的笔记本电脑。服务器需要一段时间才能找到笔记本电脑,但一旦它完成,我就可以从服务器退出,然后我的笔记本电脑能够使用内部静态IP ping服务器和/或ssh到服务器几天,直到问题再次重演。
是什么导致这个?我不确定甚至会看到尝试调试问题的配置。
服务器和笔记本电脑都在运行Lubuntu 10.16。
答案 0 :(得分:0)
我的猜测是路线或arp相关。笔记本电脑是否首先从您的笔记本电脑发送arp请求?
当您不知道本地子网上的硬件地址是什么时,您可以进行以太网级别"广播"询问给定IP地址的位置。这称为ARP请求。
从MAC发送ARP回复,其中包含IP。如果其中任何一个失败,没有bueno。
另一个问题可能是笔记本电脑或某些东西不知道它的本地子网是什么。例如,如果我有192.168.1.4的子网掩码为255.255.255.255,另一台机器的192.168.1.208的子网掩码为255.255.255.128,则第一个和第二个不会互相通话,因为第一个会认为第二个是本地的,但第二个是第一个是外国的。
如果以太网层以上的所有内容都在ARP中,如果它不在缓存中并且该地址在本地广播网段上。
使用以下方法检查Ubuntu上的掩码:
ifconfig -a
我开始解开这个谜团的地方,以及
route print