我有以下设置:
- 具有 2 个网卡的 Hyper-V 主机(Windows 2012 核心)
- 一块网卡仅用于管理,具有本地可访问的私有 IP 地址。称为“管理”。
- 另一个配置为“允许管理操作系统共享此网络适配器”,未选中。称为“公共”。
- 我创建的所有虚拟机在公共网络中只有一张网卡。
虚拟机的配置和限制:
- 虚拟机是通过 syspreped 映像配置的。
- Unattend.xml 包含我需要的一切,即:网络配置、扩展根分区、密码、启用远程桌面等等。
- 虚拟机启动后,它将由其他人管理。这意味着我将无法访问该虚拟机。
不,我的问题是: 管理虚拟机的人可以配置客户机内的任何 IP 地址。有没有办法将特定 IP 地址绑定到虚拟机?也许可以在主机上进行过滤?
例如在具有桥接器的 Linux 中可以这样做:
ebtables -A FORWARD -i ${DEVICE} -s ! ${MACADDR} -j DROP
ebtables -A FORWARD -s ${MACADDR} -p IPv4 --ip-src ! ${IPADDR} -j DROP
在 Hyper-V 上我发现:http://msdn.microsoft.com/en-us/library/windows/hardware/hh598161(v=vs.85).aspx 但我无法弄清楚它是如何工作的,以及它是否可以用于我的需要。
答案1
好的,我明白了:
Add-VMNetworkAdapterAcl -VMName $vmName -LocalIPAddress $vmIP -Direction Both -Action Allow
Add-VMNetworkAdapterAcl -VMName $vmName -LocalIPAddress Any -Direction Both -Action Deny
这将限制 VM 客户机仅使用特定的 IP 地址。如果他更改 IP,他将无法访问互联网或该特定 Hyper-V 节点上其他客户机 VM 上的任何其他本地 IP 地址。
以下是文档:http://technet.microsoft.com/en-us/library/jj679878.aspx#bkmk_portacls