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"