已收到请求数据包但未发送到 aiohttp 服务器

问题描述 投票:0回答:1

我的设置需要一个 HTTP 服务器通过 OpenVPN 连接侦听特定的 IP 地址。为了实现该服务器,我在 Ubuntu 22.04 下使用 python 3.11 和 aiohttp 库。 问题是,即使我的机器正确接收数据包(我已经通过 Wireshark 检查过),发送到该服务器的请求也不会被它接收。相反,当在 Windows(或 Ubuntu 24)下通过相同的 OpenVPN 连接运行相同的服务器时,不会出现此问题,并且 HTTP 服务器可以正确处理数据包。同样的行为也适用于其他协议,例如 CoAP。在这一点上,我相信 Linux 网络堆栈做错了什么。 Ubuntu 22 有可能修复吗?

VPN 接口的

ifconfig
的输出如下:

tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1500
        inet 10.0.3.6  netmask 255.255.255.255  destination 10.0.3.5
        inet6 fe80::1935:7dee:341:eaa8  prefixlen 64  scopeid 0x20<link>
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 500

服务器监听地址10.0.3.6

http ubuntu networking aiohttp coap
1个回答
0
投票

Ubuntu 22 上的 Ubuntu 防火墙在操作系统级别阻止请求(这就是 Wireshark 检测到它们的原因)。我不得不用

sudo ufw disable
完全禁用它,没有规则允许数据包以某种方式通过

© www.soinside.com 2019 - 2024. All rights reserved.