嗨,我刚开始了解网络和虚拟交换机设置,所以请耐心等待。我在 Windows 10 Pro Host 笔记本电脑上安装了 VMWare Workstation 17。我正在创建一个用于网络安全测试的实验室环境。到目前为止,我的虚拟机设置如下:
PFSense:1 个 NAT NIC 1 个 vmnet2 仅主机 NIC
在 PFSense 中,我配置了 3 个 VLAN,分别标记为 VLAN10、VLAN20、VLAN30。这些 VLAN 使用 DHCP。目前的默认防火墙规则是允许 VLAN 的任何传入/传出。
由于 VMWare Workstation 没有专门用于连接标记的 VLAN ID 的配置选项,因此我找到了一种使用 Hyper-V 的解决方法。
我创建了一个桥接到 VMware 虚拟适配器 vmnet2 的外部 vswitch,与 PFSense NIC 2 连接的相同。然后,我运行 powershell 命令来创建使用外部交换机的其他 3 个适配器:
Add-VMNetworkAdapter -ManagementOS -Name “VLANX” -SwitchName “External” -Passthru | Set-VMNetworkAdapterVlan -Access -VlanId X
其中 X 是我在 pfSense 中设置的 vlan ID #。我对所有 3 个 VLAN 都执行了此操作。
在 VMWares 虚拟网络编辑器中,我添加了 vmnet3、4 和 5,并与我创建的每个 hyper-v vlan 适配器建立桥接连接。
- Vmnet3=VLAN10
- Vmnet4=VLAN20
- Vmnet5=VLAN30
我有一个 Ubuntu 服务器虚拟机并将其连接到 vmnet3 NIC,当我检查它的 IP 时,它根据我的 VLAN10 配置正确分配了 IP,并且 ping 测试从 Ubuntu 到 PFSense 有效,反之亦然。
我将 Kali Linux VM 连接到 vmnet4,再次,正确的 IP 地址分配和 ping 测试从 kali 到 PFSense,以及从 Kali 到 Ubuntu 都有效。
我现在的问题是 PFSense 上的 NAT NIC 无法连接到互联网。不仅如此,我的主机 Windows 10 笔记本电脑也间歇性地无法连接到互联网。我尝试禁用 WIFI 适配器上的数据包合并,并根据其他论坛答案在设备管理器设置中的 hyper-v 适配器中禁用任何显示“合并”的内容,我还尝试在 services.msc 中重新启动 VMware NAT。我尝试关闭所有设备并重新启动我的整个笔记本电脑,互联网连接恢复了,但是当我连接到 VMware 中的虚拟机时,NAT 会工作 5 分钟,然后它会停止工作,我的主机互联网也会再次停止工作。
这让我想到,我配置 Vswitch 和 VLAN 的方式可能存在问题,或者只是 hyper-v 和 VMware 同时运行存在问题。但我没有在 hyper-v 中运行任何虚拟机,只是将其用于外部 vswitch。
非常感谢您的帮助和建议!另外,我不知道这是否是发布此内容的合适论坛,但如果有人可以提供更好的建议论坛,我也将不胜感激。
答案1
所有“NAT”流量都通过主机操作系统路由。如果您的主机从 pfSense 的 VLAN 中获取 DHCP 租约,并且如果其中一个接口成为主机的默认路由,那么通过“NAT”接口退出 pfSense 的所有流量都会……通过“VLAN10”接口直接反馈回 pfSense。(当然,来自主机的所有流量都会执行相同的操作 - 通过 VLAN10 传出,通过 NAT 传入,通过 VLAN10 传出,通过 NAT 传入,以此类推。)
为了避免这种情况,主持人不应该使用 DHCP 并在任意 VLAN 桥接接口上拥有一个 IP 地址。
我建议对虚拟机也使用 Hyper-V,因为您已经安装了它?
答案2
谢谢你的帮助。我的设置把一个简单的问题搞得太复杂了,我使用 hyper-v 陷入了困境,才意识到这是不必要的。
当连接到 Ubuntu 和 Kali VM 时,为了使 pfSense 中的 VLAN 配置正常工作,我需要做的就是使用自定义 vmnet 主机仅选项添加 3 个 NIC,并且在我重新分配 pfSense 中的接口后,它会自动将我的 VLAN 配置映射到每个 NIC。
然后,我只需使用我在 ubuntu 和 kali 机器上创建的相应 vmnet,它就会成功地将 IP 映射到我在 pfsense VLAN 配置中指定的范围内的每个虚拟机。所有虚拟机的 Ping 测试均成功。