跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 管理:网络接口和网络虚拟化 Oracle Solaris 11 Information Library (简体中文) |
随着在系统配置中越来越多地采用虚拟化,主机管理员可能对来宾虚拟机 (virtual machines, VM) 授予对某物理或虚拟链路的专用访问权限。这种配置可以将虚拟环境的网络通信流量与主机系统接收或发送的更广泛的通信流量隔离开来,从而提高网络性能。同时,这种配置会使系统和整个网络暴露于来宾环境可能生成的有害数据包,带来一定的风险。
链路保护旨在防止潜在的恶意来宾 VM 可能对网络造成损害。该功能提供了针对以下基本威胁的保护:
IP 和 MAC 欺骗
L2 帧欺骗,例如网桥协议数据单元 (ridge Protocol Data Unit, BPDU) 攻击
注 - 链路保护不应取代防火墙部署,特别是对于具有更复杂的过滤要求的配置。
缺省情况下,链路保护机制处于禁用状态。要启用链路保护,请将以下一个或多个保护类型指定为 protection 链路属性的值:
启用针对 MAC 欺骗的保护。传出包的源 MAC 地址必须与数据链路的已配置 MAC 地址匹配。否则,数据包被丢弃。如果链路属于某个区域,启用 mac-nospoof 将防止该区域的所有者修改该链路的 MAC 地址。
启用针对 IP 欺骗的保护。任何传出的 IP、ARP 或 NDP 数据包必须有一个地址字段,该字段要么与 DHCP 配置的 IP 地址相匹配,要么与 allowed-ips 链路属性中列出的地址之一相匹配。否则,数据包被丢弃。
allowed-ips 链路属性适用于 ip-nospoof 保护类型。缺省情况下,此属性指定的列表为空。如果该属性为空或未配置,该属性中会隐式包含以下 IP 地址。这些 IP 地址与外发数据包的 IP 地址进行匹配,以确定是允许数据包通过还是丢弃这些数据包。
DHCP 配置的 IPv4 或 IPv6 地址(动态获悉)
本地链路 IPv6 地址(符合 RFC 2464 要求并且从链路的 MAC 地址派生)
下面列出了协议和相应的传出数据包的关联地址字段,该字段必须与 allowed-ips 属性中的地址匹配。如果此属性为空,则数据包的地址必须与 DHCP 配置的 IP 地址匹配。
IP(IPv4 或 IPv6)-数据包的源地址
ARP-数据包的发送方协议地址。
将外发数据包限定为只能是 IPv4、IPv6 和 ARP 协议类型的数据包。其他不属于所列出类型的数据包将被丢弃。使用这种保护类型可阻止链路生成可能有害的 L2 控制帧。
注 - 以下内核统计数据会跟踪由于链路保护而被丢弃的数据包:mac_spoofed、ip_spoofed 和 restricted。这些统计数据对应于三种保护类型。使用 kstat 命令检索这些基于链路的统计数据。有关检索这些统计数据的更多详细信息,请参见kstat(1M) 手册页。