跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 管理:网络接口和网络虚拟化 Oracle Solaris 11 Information Library (简体中文) |
虚拟局域网 (virtual local area network, VLAN) 是在 TCP/IP 协议栈的数据链路层上对局域网的细分。可以为采用交换机技术的局域网创建 VLAN。通过将用户组指定给 VLAN,可以加强整个本地网络的网络管理和安全性。还可以将同一系统上的接口指定给不同的 VLAN。
如果需要实现以下目的,请考虑将本地网络划分为多个 VLAN:
创建工作组的逻辑分区。
例如,假定某楼层的所有主机都连接到一个基于交换的本地网络。可以为该楼层的每个工作组创建单独的 VLAN。
对各个工作组强制实施不同的安全策略。
例如,财务部和信息技术部的安全需求大不相同。如果这两个部门的系统共享同一本地网络,则可以为每个部门创建单独的 VLAN。然后,基于每个 VLAN 强制实施适当的安全策略。
将工作组拆分为易管理的广播域。
使用 VLAN 可减小广播域的大小并提高网络效率。
使用交换 LAN 技术,可以将本地网络中的系统组织到 VLAN 中。将本地网络划分为 VLAN 之前,必须先获取支持 VLAN 技术的交换机。可以对交换机上的所有端口进行配置,使其为单个 VLAN 或多个 VLAN 提供服务,具体取决于 VLAN 拓扑设计。配置交换机端口的过程因交换机制造商而异。
下图显示了子网地址为 192.168.84.0 的局域网。此 LAN 已细分为三个 VLAN:红 VLAN、黄 VLAN 和蓝 VLAN。
图 13-1 具有三个 VLAN 的局域网
LAN 192.168.84.0 上的连通性由交换机 1 和交换机 2 处理。红 VLAN 包含会计工作组中的系统。人力资源工作组的系统位于黄 VLAN 中。信息技术工作组的系统被指定给蓝 VLAN。
区域上的 VLAN 允许您在单个网络单元(如一个交换机)内配置多个虚拟网络。以具有三个物理 NIC 的系统为例,如下图所示:
图 13-2 具有多个 VLAN 的系统
在没有 VLAN 情况下,您需要配置不同的系统来执行特定功能并将这些系统连接到单独的网络。例如,将 Web 服务器连接到一个 LAN,将验证服务器连接到另一个 LAN,并将应用服务器连接到第三个网络。使用 VLAN 和区域,您可以“折叠”所有八个系统并将它们作为区域配置在单个系统中。然后,您使用 VLAN 标记或 VLAN ID (VID) 将 VLAN 指定给执行相同功能的每组区域。图中提供的信息可列表如下:
|
要创建图中所示的配置,请参阅示例 13-1。
在 Oracle Solaris 中,您可以为 VLAN 接口指定有意义的名称。VLAN 名称由一个链路名称和 VLAN ID 号 (VLAN ID number, VID) 组成,如 sales0。您应该在创建 VLAN 时指定定制名称。有关定制名称的更多信息,请参见网络设备和数据链路名称。有关有效的定制名称的更多信息,请参见有效链路名称的规则。
下表中提供了指向不同的 VLAN 管理任务的链接。
|
使用以下过程可规划网络上的 VLAN。
有关此类拓扑的基本示例,请参阅图 13-1。
注 - VLAN 编号方案可能已存在于网络中。如果是这样,则必须在现有的 VLAN 编号方案中创建 VID。
# dladm show-link
记下每个接口的 VID 以及每个接口所连接到的交换机端口。
有关配置说明,请参阅交换机制造商的文档。
以下过程说明如何创建和配置 VLAN。在 Oracle Solaris 中,所有以太网设备都可以支持 VLAN。然而,特定设备存在一些限制。有关这些例外情况,请参阅传统设备上的 VLAN。
开始之前
您的系统上必须已配置数据链路,您才可以创建 VLAN。请参见如何配置 IP 接口。
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
# dladm show-link
# dladm create-vlan -l link -v VID vlan-link
指定正在其上创建 VLAN 接口的链路。
表示 VLAN ID 号
指定 VLAN 的名称,也可以是通过管理行为选择的名称。
# dladm show-vlan
# ipadm create-ip interface
其中 interface 使用 VLAN 名称。
# ipadm create-addr -T static -a IP-address addrobj
其中 addrobj 使用命名约定 interface/user-defined-string。
示例 13-1 配置 VLAN
本示例创建如图 13-2 所示的 VLAN 配置。本示例假定您已在系统中配置不同的区域。有关配置区域的更多信息,请参见《Oracle Solaris 管理:Oracle Solaris Zones、Oracle Solaris 10 Zones 和资源管理》中的第 II 部分, "Oracle Solaris Zones"。
global# dladm show-link LINK CLASS MTU STATE BRIDGE OVER e1000g0 phys 1500 up -- -- e1000g1 phys 1500 up -- -- e1000g2 phys 1500 up -- -- global# dladm create-vlan -l e1000g0 -v 111 web1 global# dladm create-vlan -l e1000g0 -v 112 auth1 global# dladm create-vlan -l e1000g0 -v 113 app1 global# dladm create-vlan -l e1000g1 -v 111 web2 global# dladm create-vlan -l e1000g1 -v 112 auth2 global# dladm create-vlan -l e1000g1 -v 113 app2 global# dladm create-vlan -l e1000g2 -v 111 web3 global# dladm create-vlan -l e1000g2 -v 112 auth3 global# dladm show-vlan LINK VID OVER FLAGS web1 111 e1000g0 ---- auth1 112 e1000g0 ---- app1 113 e1000g0 ---- web2 111 e1000g1 ---- auth2 112 e1000g1 ---- app2 113 e1000g1 ---- web3 111 e1000g2 ---- auth3 113 e1000g2 ----
当显示链路信息时,列表中包含 VLAN。
global# dladm show-link LINK CLASS MTU STATE BRIDGE OVER e1000g0 phys 1500 up -- -- e1000g1 phys 1500 up -- -- e1000g2 phys 1500 up -- -- web1 vlan 1500 up -- e1000g0 auth1 vlan 1500 up -- e1000g0 app1 vlan 1500 up -- e1000g0 web2 vlan 1500 up -- e1000g1 auth2 vlan 1500 up -- e1000g1 app2 vlan 1500 up -- e1000g1 web3 vlan 1500 up -- e1000g2 auth3 vlan 1500 up -- e1000g2
您将 VLAN 指定给其各自区域。例如,当您检查有关各个区域的网络信息时,对每个区域显示类似于以下内容的数据:
global# zonecfg -z webzone1 info net net: address not specified physical: web1 global# zonecfg -z authzone1 info net net: address not specified physical: auth1 global# zonecfg -z appzone2 info net net: address not specified physical: app2
属性 physical 的值表示为给定区域设置的 VLAN。
您登录到每个非全局区域以配置 VLAN 的 IP 地址。
在 webzone1 中:
webzone1# ipadm create-ip web1 webzone1# ipadm create-addr -T static -a 10.1.111.0/24 web1/v4
在 webzone2 中:
webzone2# ipadm create-ip web2 webzone2# ipadm create-addr -T static -a 10.1.111.0/24 web2/v4
在 webzone3 中:
webzone3# ipadm create-ip web3 webzone3# ipadm create-addr -T static -a 10.1.111.0/24 web3/v4
在 authzone1 中:
authzone1# ipadm create-ip auth1 authzone1# ipadm create-addr -T static -a 10.1.112.0/24 auth1/v4
在 authzone2 中:
authzone2# ipadm create-ip auth2 autzone2# ipadm create-addr -T static -a 10.1.112.0/24 auth2/v4
在 authzone3 中:
authzone3# ipadm create-ip auth3 authzone3# ipadm create-addr -T static -a 10.1.112.0/24 auth3/v4
在 appzone1 中:
appzone1# ipadm create-ip app1 appzone1# ipadm create-addr -T static -a 10.1.113.0/24 app1/v4
在 appzone2 中:
appzone2# ipadm create-ip app2 appzone2# ipadm create-addr -T static -a 10.1.113.0/24 app2/v4
与通过接口配置 VLAN 的方式一样,也可以基于链路聚合创建 VLAN。链路聚合在第 12 章中描述。本节综合介绍了如何配置 VLAN 和链路聚合。
开始之前
首先创建链路聚合并使用有效的 IP 地址配置它。要创建链路聚合,请参阅如何创建链路聚合。
# dladm show-link
# dladm create-vlan -l link -v VID vlan-link
其中
指定正在其上创建 VLAN 接口的链路。在本例中,该链路指链路聚合。
表示 VLAN ID 号
指定 VLAN 的名称,也可以是通过管理行为选择的名称。
# ipadm create-ip interface
其中 interface 使用 VLAN 名称。
# ipadm create-addr -T static -a IP-address addrobj
其中 addrobj 必须遵循命名约定 vlan-int/user-defined-string
示例 13-2 通过链路聚合配置多个 VLAN
在此示例中,基于链路聚合配置了两个 VLAN。为 VLAN 指定的 VID 分别为 193 和 194。
# dladm show-link LINK CLASS MTU STATE BRIDGE OVER subvideo0 phys 1500 up -- ---- subvideo1 phys 1500 up -- ---- video0 aggr 1500 up -- subvideo0, subvideo1 # dladm create-vlan -l video0 -v 193 salesregion1 # dladm create-vlan -l video0 -v 194 salesregion2 # ipadm create-ip salesregion1 # ipadm create-ip salesregion2 # ipadm create-addr -T static -a 192.168.10.5/24 salesregion1/v4static # ipadm create-addr -T static -a 192.168.10.25/24 salesregion2/v4static
某些传统设备只处理其最大帧大小为 1514 字节的数据包。帧大小超出此最大限制的数据包将被丢弃。对于这种情况,请按照如何配置 VLAN中列出的过程执行操作。但是,当创建 VLAN 时,请使用 -f 选项强制创建 VLAN。
要执行的一般步骤如下所示:
使用 -f 选项创建 VLAN。
# dladm create-vlan -f -l link -v VID [vlan-link]
为最大传输单元 (MTU) 设置一个较低的大小,如 1496 字节。
# dladm set-linkprop -p default_mtu=1496 vlan-link
较低的 MTU 值提供了在传输之前插入 VLAN 头的链路层空间。
执行相同的步骤,为 VLAN 中每个节点的 MTU 大小设置相同的较低值。
有关更改链路属性值的更多信息,请参阅数据链路的配置(任务)。
本节介绍用于其他 VLAN 任务的新 dladm 子命令的用法。这些 dladm 命令还使用链路名称。
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
# dladm show-vlan [vlan-link]
如果您不指定 VLAN 链路,该命令将显示所有已配置的 VLAN 的有关信息。
示例 13-3 显示 VLAN 信息
以下示例基于图 13-2 所示的具有多个 VLAN 的系统,并显示系统中可用的 VLAN。
# dladm show-vlan LINK VID OVER FLAGS web1 111 e1000g0 ---- auth1 112 e1000g0 ---- app1 113 e1000g0 ---- web2 111 e1000g1 ---- auth2 112 e1000g1 ---- app2 113 e1000g1 ---- web3 111 e1000g2 ---- auth3 113 e1000g2 ----
当您发出 dladm show-link 命令时,也会出现配置的 VLAN。在命令输出中,VLAN 在 CLASS 列中适当标识。
# dladm show-link LINK CLASS MTU STATE BRIDGE OVER e1000g0 phys 1500 up -- -- e1000g1 phys 1500 up -- -- e1000g2 phys 1500 up -- -- web1 vlan 1500 up -- e1000g0 auth1 vlan 1500 up -- e1000g0 app1 vlan 1500 up -- e1000g0 web2 vlan 1500 up -- e1000g1 auth2 vlan 1500 up -- e1000g1 app2 vlan 1500 up -- e1000g1 web3 vlan 1500 up -- e1000g2 auth3 vlan 1500 up -- e1000g2
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
# dladm show-vlan
# ipadm delete-ip vlan-interface
其中 vlan-interface 是在 VLAN 上配置的 IP 接口。
注 - 您不能删除当前正在使用的 VLAN。
要临时删除 VLAN,请使用 -t 选项,如下所示:
# dladm delete-vlan -t vlan
要执行永久性删除,请执行以下操作:
删除 VLAN。
# dladm delete-vlan vlan
示例 13-4 删除 VLAN
# dladm show-vlan LINK VID OVER FLAGS web1 111 e1000g0 ---- auth1 112 e1000g0 ---- app1 113 e1000g0 ---- web2 111 e1000g1 ---- auth2 112 e1000g1 ---- app2 113 e1000g1 ---- web3 111 e1000g2 ---- auth3 113 e1000g2 ---- # ipadm delete-ip web1 # dladm delete-vlan web1
本节提供了一个示例,它使用定制名称将前面几章中有关配置链路、链路聚合和 VLAN 的所有过程合并在一起。有关使用定制名称的其他网络方案的说明,请参见 http://www.oracle.com/us/sun/index.htm 中的文章。
示例 13-5 配置链路、VLAN 和链路聚合
在本示例中,需要将使用 4 个 NIC 的系统配置为针对 8 个单独子网的路由器。为了实现这一目标,将配置 8 个链路,分别用于每个子网。首先,在所有 4 个 NIC 上创建一个链路聚合。此不带标记的链路将成为缺省路由指向的网络的缺省不带标记的子网。
然后,在链路聚合上为其他子网配置 VLAN 接口。子网的命名基于一种颜色编码方案。因此,VLAN 名称也采用类似命名方式以对应其各自的子网。最终配置包括分别针对八个子网的 8 个链路:1 个不带标记的链路,以及 7 个带标记的 VLAN 链路。
为了使配置在重新引导后保持不变,这些过程也适用于 Oracle Solaris 早期发行版。例如,需要将 IP 地址添加到配置文件,如 /etc/inet/ndpd.conf。或者,需要在规则文件中包含接口的过滤器规则。示例中不包括这些最终步骤。有关这些步骤,请参阅《Oracle Solaris 管理:IP 服务》中的相应章节,尤其是TCP/IP 管理和 DHCP。
# dladm show-link LINK CLASS MTU STATE BRIDGE OVER nge0 phys 1500 up -- -- nge1 phys 1500 up -- -- e1000g0 phys 1500 up -- -- e1000g1 phys 1500 up -- -- # dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE nge0 Ethernet up 1000Mb full nge0 nge1 Ethernet up 1000Mb full nge1 e1000g0 Ethernet up 1000Mb full e1000g0 e1000g1 Ethernet up 1000Mb full e1000g1 # ipadm delete-ip nge0 # ipadm delete-ip nge1 # ipadm delete-ip e1000g0 # ipadm delete-ip e1000g1 # dladm rename-link nge0 net0 # dladm rename-link nge1 net1 # dladm rename-link e1000g0 net2 # dladm rename-link e1000g1 net3 # dladm show-link LINK CLASS MTU STATE BRIDGE OVER net0 phys 1500 up -- -- net1 phys 1500 up -- -- net2 phys 1500 up -- -- net3 phys 1500 up -- -- # dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE net0 Ethernet up 1000Mb full nge0 net1 Ethernet up 1000Mb full nge1 net2 Ethernet up 1000Mb full e1000g0 net3 Ethernet up 1000Mb full e1000g1 # dladm create-aggr -P L2,L3 -l net0 -l net1 -l net2 -l net3 default0 # dladm show-link LINK CLASS MTU STATE BRIDGE OVER net0 phys 1500 up -- -- net1 phys 1500 up -- -- net2 phys 1500 up -- -- net3 phys 1500 up -- -- default0 aggr 1500 up -- net0 net1 net2 net3 # dladm create-vlan -v 2 -l default0 orange0 # dladm create-vlan -v 3 -l default0 green0 # dladm create-vlan -v 4 -l default0 blue0 # dladm create-vlan -v 5 -l default0 white0 # dladm create-vlan -v 6 -l default0 yellow0 # dladm create-vlan -v 7 -l default0 red0 # dladm create-vlan -v 8 -l default0 cyan0 # dladm show-link LINK CLASS MTU STATE BRIDGE OVER net0 phys 1500 up -- -- net1 phys 1500 up -- -- net2 phys 1500 up -- -- net3 phys 1500 up -- -- default0 aggr 1500 up -- net0 net1 net2 net3 orange0 vlan 1500 up -- default0 green0 vlan 1500 up -- default0 blue0 vlan 1500 up -- default0 white0 vlan 1500 up -- default0 yellow0 vlan 1500 up -- default0 red0 vlan 1500 up -- default0 cyan0 vlan 1500 up -- default0 # dladm show-vlan LINK VID OVER FLAGS orange0 2 default0 ----- green0 3 default0 ----- blue0 4 default0 ----- white0 5 default0 ----- yellow0 6 default0 ----- red0 7 default0 ----- cyan0 8 default0 ----- # ipadm create-ip orange0 # ipadm create-ip green0 # ipadm create-ip blue0 # ipadm create-ip white0 # ipadm create-ip yellow0 # ipadm create-ip red0 # ipadm create-ip cyan0 # ipadm create-addr -T static -a IP-address orange0/v4 # ipadm create-addr -T static -a IP-address green0/v4 # ipadm create-addr -T static -a IP-address blue0/v4 # ipadm create-addr -T static -a IP-address white0/v4 # ipadm create-addr -T static -a IP-address yellow0/v4 # ipadm create-addr -T static -a IP-address red0/v4 # ipadm create-addr -T static -a IP-address cyan0/v4