通过3个Raspberry Pi桥连接到Internet-可以ping但不能在浏览器中加载


0

我有如下设置:

                Internet
                    |
                    |                                                           192.168.0.3
PC1                 |                                                             Laptop1                                                  
   |---------------Switch(Gateway)---------------Pi1-------Pi2---------Pi3------------|
PC2                192.168.0.1              192.168.0.*(DHCP)     192.168.0.2     Laptop2                  
                                                                                192.168.0.4

从笔记本电脑上,我可以ping诸如“ 176.34.131.233”(DuckDuckGo)之类的外部网站,但是,当我尝试通过浏览器连接到这些服务器时(通过在URL栏中粘贴IP地址),我得到“找不到服务器”。

在台式机上,一切正常。

因此,显然问题一定出在Pi或笔记本电脑上。

便携式计算机未运行DNS,因此将IP粘贴到URL中。

我在wireshark上注意到笔记本电脑能够完成3种方式的握手(SYN> SYN,ACK> ACK),但是由于某种原因,它似乎可以完成2种(具有相同的dst端口和不同的src端口)。

握手完成后,连接将立即通过笔记本电脑的FIN,ACK终止,然后正常关闭另一个FIN,服务器的ACK,然后是最终的ACK(此关闭也将在2个不同的端口上重复进行) 。

没有HTTP GET数据包发送到服务器。

Pi正在运行我用python编写的桥接软件,从该事实来看,笔记本电脑可以ping外部服务器并且可以完成3种握手方式,看来该软件可以正常工作。

所以问题是,为什么地球上会有2组3种方式的握手在进行,为什么我可以ping网站,但不能将其加载到浏览器中?

如果有人有任何想法或建议,将不胜感激。

我的想法是笔记本电脑的配置方式(运行linux),路由器中的某种防火墙阻止了数据,或者根本上是我的代码有问题。我无视了一切。


您能否解释一下pi的连接方式以及桥接的含义。您也许意味着转播?
大卫

所有通过无线接口,通过桥接,我的意思是Pi充当了网桥。Pi1已连接到交换机,就像您将笔记本电脑连接到接入点一样。然后,Pis和Pi3s far接口之间存在临时连接,是笔记本电脑要连接的接入点。 en.wikipedia.org/wiki/Bridging_(networking)–
Slinky

您的每个Pi设备都有2个无线接口吗?如果没有,则说明您没有在桥接,而是在重复。这可以解释多个相同的数据包。
大卫

是的,每个都有2个接口,感谢您的帮助,非常感谢!但是gronostaj击中了钉子
Slinky

Answers:


2

这部分可能是您问题的核心:

便携式计算机未运行DNS,因此将IP粘贴到URL中。

当浏览器通过HTTP请求文档时,它将发送Host标头,该标头指定了所请求的域。此标头对于运行“虚拟主机”很有用,该虚拟主机在单个IP地址上托管多个网站。Web服务器检查传入的Host标头,以确定哪个网站客户端尝试联系并相应地处理请求。

直接在浏览器的地址栏中输入IP地址Host不会发送任何标题。如果将服务器配置为在虚拟主机设置中运行(即使对于承载单个站点的服务器来说也很常见),它将无法确定您要连接到的虚拟主机,并且它将以一些通用错误进行回复响应类似404。

如果您不想使用真实的DNS,则有一个简单的解决方法:将实际域添加到hosts文件中。您尚未指定有问题的计算机上正在运行哪种操作系统,因此这里是通用指南。该hosts文件位于%SystemRoot%\System32\drivers\etc\hostsWindows和/etc/hostsLinux上(有关详细列表,请参阅Wikipedia )。这是一个纯文本文件,但是您需要管理权限才能对其进行编辑。只需在末尾添加一行格式即可<ip> <domain>,例如:

151.101.193.69 superuser.com

保存文件。此项将覆盖该域的DNS解析。现在,所有使用操作系统提供的DNS的HTTP客户端都将解析superuser.com151.101.193.69,因此浏览器将发送适当的Host标头。


您绝对是英雄,这就是问题所在!
Slinky

我只需要确保DNS正常运行即可
Slinky
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.