我的内部网络上有两台机器,其中一台(服务器)通过路由器上的端口转发向Internet公开。如果我尝试使用服务器的静态内部IP地址从我的笔记本电脑ssh到服务器(或从笔记本电脑ping服务器),我经常得到"No route to host“。
一旦发生这种情况,为了让服务器响应其内部静态IP地址,我必须通过其面向互联网的域名ssh进入服务器,然后从服务器ping我的笔记本电脑。服务器需要一段时间才能找到笔记本电脑,但一旦找到,我就可以退出服务器,然后我的笔记本电脑就能够使用内部静态IP ping和/或ssh到服务器几天,直到问题再次出现。
是什么导致了这种情况?我甚至不确定要看什么配置才能调试这个问题。
服务器和笔记本电脑都在运行Lubuntu10.16。
发布于 2017-03-21 11:14:53
我猜它与路由或arp相关。笔记本电脑最初是否从您的笔记本电脑发送arp请求?
当您不知道本地子网上的某个东西位于哪个硬件地址时,您可以执行以太网级“广播”来询问给定的IP地址位于何处。这称为ARP请求。
从MAC发送带有IP的ARP应答。如果其中任何一个失败了,都不会有什么好结果。
另一个问题可能是如果笔记本电脑或其他设备不知道它的本地子网是什么。例如,如果我有一台子网掩码为255.255.255.255的192.168.1.4,另一台子网掩码为255.255.255.128的192.168.1.208,那么第一台和第二台将不会相互通信,因为第一台会认为第二台是本地的,而第二台会认为第一台是外来的。
如果不在缓存中并且地址在本地广播网段中,则以太网层以上的所有内容都会执行ARP。
在Ubuntu上使用以下命令检查面具:
ifconfig -a这就是我开始解开谜团的地方,以及
route printhttps://stackoverflow.com/questions/42639980
复制相似问题