34.12.VLANs

VLAN 是一种将网络虚拟划分为许多不同子网(也称为分段)的方法。每个网段都有自己的广播域,并与其他 VLAN 隔离。

在 FreeBSD 上,网卡驱动程序必须支持 VLAN。要查看哪些驱动程序支持 vlan,请参阅 vlan(4) 手册页。

配置 VLAN 时,必须知道几条信息。首先,哪个网络接口?其次,什么是 VLAN 标记?

要在运行时配置 VLAN,网卡为 em0,VLAN 标签为 5,命令如下。

# ifconfig em0.5 create vlan 5 vlandev em0 inet 192.168.20.20/24

注意

了解接口名称如何包含 NIC 驱动程序名称和 VLAN 标记(以句点分隔)?这是一种最佳做法,用于在计算机上存在许多 VLAN 时轻松维护 VLAN 配置。

要在引导时配置 VLAN,必须更新 /etc/rc.conf。要复制上述配置,需要添加以下内容:

vlans_em0="5"
ifconfig_em0_5="inet 192.168.20.20/24"

可以添加额外的 VLAN,只需在 vlans_em0 字段中添加标签,并在该 VLAN 标签的接口上增加一行配置网络的内容。

为一个接口指定一个符号名称是很有用的,这样当相关的硬件被改变时,只需要更新一些配置变量。例如,安全摄像机需要在 em0 的 VLAN 1 上运行。以后,如果 em0 卡被替换成使用 ixgb(4) 驱动的卡,所有对 em0.1 的引用就不必改为 ixgb0.1 了。

要在网卡 em0 上配置 VLAN 5,指定接口名称为 cameras,并为该接口分配一个 24 位前缀的 IP 地址 ``192.168.20.20``,请使用此命令:

# ifconfig em0.5 create vlan 5 vlandev em0 name cameras inet 192.168.20.20/24

对于名为 video 的接口,请使用以下命令:

# ifconfig video.5 create vlan 5 vlandev video name cameras inet 192.168.20.20/24

要在引导时应用更改,请将以下行添加到 /etc/rc.conf

vlans_video="cameras"
create_args_cameras="vlan 5"
ifconfig_cameras="inet 192.168.20.20/24"