我有一个Proxmox 5.1-35服务器运行HP Proliant ML350 Gen9。在使用 USB 棒安装 Proxmox 后,我创建了一个普富思虚拟机(VM)并定义了三个网络接口(vmbr0,虚拟机1和虚拟机)pfSense 上的每个网络接口的命名如下局域网,广域网和服务器。
网络接口和子网名称之间的关系:
- vmbr0为了服务器
- 虚拟机1为了广域网
- 虚拟机为了局域网
刚刚安装 pfSense 时能够访问互联网来自 LAN 子网 (192.168.1.0/24)。但从 LAN 子网 ping SERVER 子网(172.16.10.0/24)收到来自一台服务器的回复(代理人)但不是来自另一个(自由网络存储)。但是,防火墙 (172.16.10.254) 可以 ping 通任何服务器,这很少见,因为防火墙如何能够 ping FreeNAS (172.16.10.10),并且无法将来自 LAN 的 ICMP 数据包转发到 FreeNAS。正如我之前所说,他确实允许 LAN 到达代理 (172.16.10.2) 使用 ICMP 位于 FreeNAS 的服务器子网中。此外,LAN 可以 ping普罗克斯莫克斯(172.16.10.101)
我想澄清一下,LAN 和服务器之间没有交换机。所有通信(WAN 除外)都在 HP Proliant ML350 Gen9 服务器本身上进行(下图)
欲了解更多信息,我将从头开始发布以下步骤:
1- 安装后没有 VM 或容器 (CT) 的 Proxmox
2-创建 pfSense VM
3- pfSense 安装顺利。选中红色框(版本检查和 NTP 请求有效)。因此 pfSense 正在通过 WAN 访问互联网
4-我从未修改过 pfSense 中任何子网的任何规则规则标签。几乎所有的采用默认值
5-创建代理服务器 CT
6-FreeNAS 是一个物理服务器通过灰色 UTP Cat5e 线连接到 HP Proliant 服务器。
到目前为止,我已经创建了一个 VM (pfSense) 和一个 CT (代理)。现在我要展示ping 测试. 同样,从 LAN 访问互联网没有问题。服务器无法 ping 子网外的任何内容,但我猜是因为服务器规则选项卡为空白. pfSense 默认拒绝来自服务器的数据包。
从 LAN PING
从防火墙 PING(172.16.10.254)
防火墙(172.16.10.254)-> 172.16.10.2
防火墙(172.16.10.254)-> 172.16.10.10
防火墙(172.16.10.254)-> 172.16.10.101
防火墙可以使用 ping 到达整个 SERVERS 子网甚至 FreeNAS,那么为什么不转发 LAN -> FreeNAS?
从代理 (172.16.10.2) 执行 PING
代理(172.16.10.2)-> 172.16.10.10
代理(172.16.10.2)-> 172.16.10.101
代理(172.16.10.2)-> 172.16.10.254
从 FreeNAS (172.16.10.10) 进行 PING
FreeNAS(172.16.10.10)-> 172.16.10.2
FreeNAS(172.16.10.10)-> 172.16.10.101
FreeNAS(172.16.10.10)-> 172.16.10.254
没有发布对 172.16.10.101 的 PING 测试,因为这篇帖子上有很多图片。
最后,这是pfSense 上的数据包捕获功能从来源 192.168.1.111到目的地 172.16.10.10
pfSense 正在接收请求,但 FreeNAS 没有回复。这个问题对我来说非常严重,因为 pfSense(作为防火墙)是任何网络的基础。我不得不说,这个例子是为了诊断,我从头开始创建了所有图片,因为这个问题在我之前发生过Windows Server 2012 R2就像 FreeNAS 一样。我把 Windows Server 2012 R2 放在一边,因为我认为这是 VM 设置中的 Virtio 适配器问题。现在我发现有问题,或者我对网络概念不太了解。
网络架构非常基础,为什么我会遇到这个问题?我决定停下来问一问,因为现在解决这个问题比以后出现更严重的问题要好。
答案1
“细节”是我没有为 FreeNAS 定义网关,而代理(在 proxmox 中创建容器时)确实有一个网关配置(172.16.10.254)。更改此配置后,我能够收到来自 FreeNAS 的回复 ICMP 数据包。更多信息可以在这里找到:pfSense 关于此问题的论坛帖子