Windows 的防火墙能为 Hyperv 内的虚拟机器单独配置规则吗?

106 天前
 fantasy0v0

我的最终目的是做到类似 PVE 里面的,可以为虚拟机单独设置防火墙配置的效果。想在 Windows Server 2025 下也做到类似的效果。

例如以下,已经在 PVE 上实现

我已经在自己电脑上测试过了,直接在防火墙中的添加规则,可以对本机生效,但是对虚拟机无效。

于是我上网搜了相关的文章

配置 Hyper-V 防火墙

但是文章里面提到的"Get-NetFirewallHyperVVMCreator",只返回了一个 WSL ,看不到其他虚拟机的,难道目前只能对 WSL 进行配置吗?

请问有办法做到我想要的效果吗?

1359 次点击
所在节点    Windows
6 条回复
guochao
106 天前
用 Hyper-V 不多,问 Gemini 是这么说的

https://gist.github.com/jeffguorg/b39aa629a378949f35a2e98ed17bb29e
fantasy0v0
106 天前
@guochao 感谢!我来试试看
cxxlxx
106 天前
pve 使用桥接模式也可以设置防火墙规则吗
guochao
106 天前
@cxxlxx

不熟悉 pve ,我就当他是正常的 kvm 虚拟机平台了。我自己是直接用 libvirtd 的

使用 bridge 的话,应该是需要 br_netfilter 模块。pve 应该是自带的,查了一下个别版本可能有 bug 缺少模块,内核升级或者降级试试。

https://wiki.archlinux.org/title/QEMU/Advanced_networking
https://unix.stackexchange.com/a/757030

无关,我自己用的 libvirt 的资料
https://libvirt.org/formatnwfilter.html
Yanlongli
106 天前
可以的呀,刚好我前段时间弄过
具体规则可以参考 add-VMNetworkAdapterExtendedAcl

下面是演示

add-VMNetworkAdapterExtendedAcl -VMName "Node2" -Action Deny -Direction Outbound -RemoteIPAddress "10.0.0.0/8" -Weight 51
Node2 是虚拟机的名称,10.0.0.0/8 是内网网段 -Weight 51 是规则权重,数值越大的优先级越高。

如果想针对特定主机允许访问,可以放行:

Add-VMNetworkAdapterExtendedAcl -VMName "Node2" -Action Allow -Direction Outbound -RemoteIPAddress "10.0.0.5" -Weight 200
注意:-Weight 目前看是不能重复的,也就是不能出现两个相同权重的规则。
lostc
105 天前
开个网桥 做个禁止访问 哇哇叫

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1132900

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX