使用 pfSense 排除传输层连接问题

使用 pfSense 排除传输层连接问题

我正在构建一个虚拟主机虚拟网络,该网络通过 pfSense NAT 到互联网。由于某种原因,虚拟主机无法与外界建立连接,但较低层的操作(如ping和)traceroute可以正常运行。

堆栈

装置粗略图

  • 物理机是 Asrock Intel J4105-ITX 主板,带有 2 个 NIC(其中 1 个是 USB 加密狗)。
  • Proxmox 6.2-15 作为虚拟机管理程序。
  • pfSense:
    • VM 连接了 3 个 Linux 桥:

      • vmbr0- 绑定到连接到本地 /24 子网的 NIC1,网关为动态公共 IP
      • vmbr1- 仅适用于虚拟主机的虚拟 192.168.111.0/24 子网
      • vmbr2- 绑定到 NIC2,该 NIC2 连接到具有静态公共 IP 的 /24 WAN
    • vmbr0分配给和的接口vmbr2都设置了网关,因此被视为 WAN 类型接口

    • 出站 NAT 模式为自动

    • vLAN 接口仅有一条防火墙规则:允许来自源 vLAN 网络的所有数据包

  • 其他虚拟主机
    • 使用 vmbr1 作为其网络设备,并使用该接口的 pfSense ip(192.168.111.1)作为其网关。
    • 我测试了 Debian 10 LXC 容器和 Manjaro XFCE 最小 VM。它们表现出相同的网络问题

双 WAN 设置令人困惑的原因是,同一子网中的其他设备vmbr0最终应该能够本地连接,而无需通过互联网路由。但这个问题与此无关

问题

连接到vmbr1Linux Bridge 的虚拟机和 LXC 容器的传出连接具有功能性的低级网络,但无法建立连接。这意味着:

  • ping 8.8.8.8✅ 有效
  • ping pfsense.org✅ 有效
  • traceroute pfsense.org✅ 有效
  • curl pfsense.org❌ 连接超时

观察结果

  • 很确定问题出在我的 pfSense 配置中。如果我绕过 pfSense,将虚拟主机直接放在其他桥接器上,网络就可以完美运行。
  • 我尝试完全禁用 pfSense 防火墙(数据包过滤),但问题仍然存在。
  • 我尝试更改默认网关
  • pfSense 本身具有完整的连接性,能够curl等等
  • 虽然 DNS 在vmbr1LAN 内工作,但延迟过高。不确定是否相关
  • vhost->internet 连接的状态表CLOSED:SYN_SENT在状态列中说明。

我不明白那里发生了什么。现在我觉得我已经阅读了大部分 pfSense 手册,在互联网上搜索了所有内容,并尝试了所有我能想到的方法。而且我之前也设置过类似的系统,通常它应该只与自动出站 NAT 配合使用......?

我希望有人能有个主意,因为这快让我抓狂了

答案1

解决方案是Disable hardware checksum offload在 pfSense 高级/网络设置中启用该选项。

相关内容