我有两台笔记本电脑:一台 Windows 10 盒子和一台 SuSE Linux 盒子(2011-02-21 版本 2.6.37)。他们位于无线局域网上,并且都通过同一个集线器浏览互联网。然而 TCP 在它们之间不起作用。原因可能是什么?
我编写了一个等待连接的服务器进程。我编写了一个简单的客户端进程来建立该连接。当我在同一个机器上运行它们时,它们连接得很好,无论它们都在 Windows 上还是都在 Linux 上。
但是,当我尝试将 Windows 上的客户端连接到 SuSE 上的服务器时,SuSE 盒子无法获得连接。
确实,当我使用该实用程序时Test-NetConnection -ComputerName 10.226.12.12 -Port 8777
,这个Windows 10标准测试程序也无法连接。因此,这甚至将我自己的客户端软件排除在外。在尝试 TCP 后,Test-NetConnection 然后尝试 ping/ICMP,但也失败了。最终报告是:
WARNING: TCP connect to (10.226.12.12 : 8777) failed
WARNING: Ping to 10.226.11.30 failed with status: DestinationHostUnreachable
在 SuSE 盒子上,netstat -l
显示端口 8777 确实正在被监听。 /usr/sbin/iptables -L -v|grep policy
显示Chain INPUT (policy ACCEPT)
INPUT 下没有像我那样更具体的规则iptables -F INPUT
。 (我后来也尝试过iptables -I INPUT -p tcp --dport 8765 -j ACCEPT
,但没有任何改善。)
回到我自己的软件,我将数字地址提供给10.226.12.12
并且gethostbyname()
它正在工作。
但是,connect()
我收到“连接超时”。
如果我将客户端设置为连接yahoo.com:80
,则连接成功。 (我的软件与 HTTP 无关;我只是用它作为读者熟悉的监听端口的示例,并表明我的笔记本电脑确实已连接到 WiFi 并且能够建立连接。)
同时,如果我在 Linux 上运行客户端(它是可移植编写的 C),它会连接到服务器,因此我知道端口号是正确的。
查看 Linux 盒子的开始菜单-->控制中心-->网络连接,我没有看到任何其他设置,例如“不信任我的 LAN”或其他设置。
我的猜测是可能有一些安全层阻止了这一点,但是什么安全性呢?
-- Windows 10 会以某种方式阻止我连接吗?我将网络配置文件设置为“私有”:“对于您信任的网络,例如家里或工作的网络”
——枢纽会吗?我对此一无所知:我不仅不了解网络硬件,而且我还是一名短期承包商……在一家从“联合办公网站”公司租用空间的公司,而该公司又从一家租用阁楼的更大公司那里租用空间场所并进行网络连接。因此,甚至很难找到对网络硬件有所了解的人。
-- SuSE 会吗?我没有看到它的网络配置上有任何类似“不信任 LAN 上的计算机”的内容