пятница, 13 августа 2010 г.

802.1Q Vlan в FreeBSD

Для создания и управления VLAN во FreeBSD не используются какие-то специальные программы. Всё делается с помощью программы ifconfig.

Есть сетевые карты, которые поддерживают vlan на аппаратном уровне, а есть которые не поддерживаются. Если сетевая карта не поддерживает vlan, во FreeBSD предусмотрена software поддержка, но карточка должна поддерживать oversized пакеты. Этим требованиям удовлетворяет большинство современных сетевых карт.



Для поддержки 802.1Q VLAN на уровне ядра, необходимо наличие в конфигурационном файле ядра наличие следующей строки:

device vlan


Но если поддержки 802.1Q VLAN на уровне ядра нету, то ничего страшного, поддержка 802.1Q VLAN подгрузится в виде модуля:


# kldstat | grep vlan

4 1 0xffffffff80822000 2306 if_vlan.ko

Создать интерфейс vlan4:


# ifconfig vlan4 create

Указать, что созданный интерфейс соответствует трафику, тегированному VLAN 4 и приходящему через физический интерфейс fxp0:


# ifconfig vlan4 vlan 4 vlandev fxp0

Теперь можно работать с vlan4 как с обычным интерфейсом. Этому интерфейсу нужно назначить адрес. Машина будет видна в VLAN 4 по этому адресу:


# ifconfig vlan4 192.168.16.14/24

Предыдущие команды можно было бы совместить в одну.

Просмотреть информацию об интерфейсе:

# ifconfig vlan4

vlan4: flags=8843 mtu 1500
inet 192.168.16.14 netmask 0xffffff00 broadcast 192.168.16.15
inet6 fe80::204:79ff:fe67:9671%vlan4 prefixlen 64 scopeid 0x6
ether 00:07:e9:45:0d:2c
media: Ethernet autoselect (100baseTX )
status: active
vlan: 4 parent interface: fxp0

Видно, что в описании интерфейса появилась строка:


vlan: 4 parent interface: fxp0


которая говорит о том, что интерфейс vlan4 соответствует VLANу 4 на родительском сетевом интерфейсе fxp0.
Для того чтобы интерфейсы поднимались автоматически при старте, нужно добавить в

/etc/rc.conf:

cloned_interfaces="fxp0"
ifconfig_vlan4="inet 192.168.16.14 netmask 255.255.255.0 vlan 4 vlandev fxp0"


Комментариев нет:

Отправить комментарий