Hyper-V中的访问控制列表

微软在Windows Server 2012中对虚拟交换机做了很多的改进和增强,其中不但增加了诸如RSS、dVMQ、端口映射以及支持PVLAN等技术,还提供了非常实用的访问控制列表(ACL)功能。

在Technet中可以查看到Windows Server 2012中对于ACL的称谓叫做Port Access Control Lists,它是基于源/目的地址、方向和动作(允许/拒绝)来进行规则筛选的:

Local or Remote AddressDirectionAction

12-34-56-78-9A-BC

Inbound

Allow

12-34-56-78-9A-BC

Outbound

Allow

FF-FF-FF-FF-FF-FF

Inbound

Allow

Any

Inbound

Deny

Any

Outbound

Deny

通过上面的列表可以看到在2012的ACL功能当中是支持IP与MAC地址的,并且像“Any”这类通配指令也是支持的,所以对于熟悉主流网络设备的童鞋来讲不需要适应过程,可谓是极易于上手的。

那么在Windows Server 2012R2中,ACL功能又得到了加强,被称为“Extended Port Access Control Lists”即扩展端口访问控制列表,不难看出这就好比网络设备上的标准ACL与扩展ACL一样,后者在原有基础上增加支持源/目的端口、协议、权重等,,下面就实际演示一下Windows Server操作系统中的ACL功能:

##########################################################################################

演示环境:

主机:Windows 8.1

虚拟机:Windows Server 2008R2 SP1 Standard

因为ACL功能对操作系统版本没有过分的要求,它是属于Hypervisor层的技术,所以我就用自己的笔记本电脑(Windows8.1)启用Hyper-V功能即可,如下图所示我准备了两台测试虚机,一台叫做SQL2008R2(运行SQL2008R2),另一台叫做WIN2008R2(运行IIS7)

接着再试一下Stateful ACL的效果,同样是刚才的命令,只不过在后面追加了一个“-Stateful”并赋予$true,如下图:

由于Stateful ACL会自动打开返回流量的端口,并根据timeout值维护这个会话,因此WIN2008R2可以telnet到SQL2008R2的1433端口了。

同样对于Web访问类请求也适用,下图中SQL2008R2受到ACL的限制是无法访问WIN2008R2的IIS站点的。

通过-Stateful参数允许SQL2008R2出方向的TCP80请求,如下图:

ACL生效,拖Stateful的福,可以访问WIN2008R2的默认站点了。

###########################################################################################

Hyper-V的ACL使虚拟机的网络安全性得到了多一层的保护,在上面的测试中我没有添加“-timeout”参数,有需要的筒子可以自行查看get-help;不过遗憾的是,我没有找到在大范围环境中批量执行ACL的途径,纵然VMM可以集成Cisco Nexus 1000v之类的第三方产品,但是一方面需要投入额外成本,另一方面又增加了维护开销;当然如果纯粹使用PS脚本应该也是可行的,但要是能在今后增加图形化界面的全局配置想必是极好的。

本文出自 “技术不宅” 博客,请务必保留此出处

天才就是这样,终身努力,便是天才。

Hyper-V中的访问控制列表

相关文章:

你感兴趣的文章:

标签云: