34.12.VLANs =========== VLAN 是一种将网络虚拟划分为许多不同子网(也称为分段)的方法。每个网段都有自己的广播域,并与其他 VLAN 隔离。 在 FreeBSD 上,网卡驱动程序必须支持 VLAN。要查看哪些驱动程序支持 vlan,请参阅 `vlan(4) `__ 手册页。 配置 VLAN 时,必须知道几条信息。首先,哪个网络接口?其次,什么是 VLAN 标记? 要在运行时配置 VLAN,网卡为 ``em0``\ ,VLAN 标签为 ``5``\ ,命令如下。 .. raw:: latex \diilbookstyleinputcell .. code:: shell-session # ifconfig em0.5 create vlan 5 vlandev em0 inet 192.168.20.20/24 .. **注意** 了解接口名称如何包含 NIC 驱动程序名称和 VLAN 标记(以句点分隔)?这是一种最佳做法,用于在计算机上存在许多 VLAN 时轻松维护 VLAN 配置。 要在引导时配置 VLAN,必须更新 **/etc/rc.conf**\ 。要复制上述配置,需要添加以下内容: .. raw:: latex \diilbookstyleinputcell .. code:: shell-session 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``*\ ,请使用此命令: .. raw:: latex \diilbookstyleinputcell .. code:: shell-session # ifconfig em0.5 create vlan 5 vlandev em0 name cameras inet 192.168.20.20/24 对于名为 ``video`` 的接口,请使用以下命令: .. raw:: latex \diilbookstyleinputcell .. code:: shell-session # ifconfig video.5 create vlan 5 vlandev video name cameras inet 192.168.20.20/24 要在引导时应用更改,请将以下行添加到 **/etc/rc.conf**\ : .. raw:: latex \diilbookstyleinputcell .. code:: shell-session vlans_video="cameras" create_args_cameras="vlan 5" ifconfig_cameras="inet 192.168.20.20/24"