Як "правильна" операційна система, FreeBSD вміє працювати з 802.1Q VLAN. Напевне буде зайвим пояснювати що це і для чого використовується, оскільки якщо Ви сюди попали, то напевне вже знаєте що то таке.
Почнемо з того, що для використання функціоналу ВЛАНів, в ядро має бути завантажений модуль if_vlan.ko. Його можна підключити командою
kldload /boot/kernel/if_vlan.ko
або вкомпілювати в ядро, додавши
device vlan
в конфіг ядра.
Оскільки VLAN це окремий віртуальний інтерфейс, його необхідно створити. І для цього в нас є 2 шляхи: псевдоінтерфейс vlan або cisco-like інтерфейс.
Псевдоінтерфейс vlan
Для створення ВЛАН 100 на інтерфейсі em0 пишем команду:
ifconfig vlan100 create vlan 100 vlandev em0
де:
ifconfig - відома всім команда для конфігурування мережевих інтерфейсів;
vlan100 - назва нового псевдоінтерфейсу (називати можна як завгодно, але зручно так, зразу видно що то ВЛАН і його номер);
create - вказує на те що ми хочемо створити щось нове;
vlan 100 - службове слово vlan вказує що ми створюємо саме ВЛАН, а номер після нього, власне, його номер. Номер, як пише "матчасть", може бути від 1 до 4096.
vlandev em0 - службове слово vlandev вказує на інтерфейс над яким ми створюємо ВЛАН, після нього вказується ім'я інтерфейсу. Важливо! В якості інтерфейсу не можна вказувати ВЛАН!
Для збереження внесених змін після перезавантаження машини необхідно вписати нові інтерфейси в файл /etc/rc.conf
cloned_interfaces="vlan100"
ifconfig_vlan100="vlan 100 vlandev em0"
Окреме слово про строчку cloned_interfaces - в неї вносяться всі віртуальні інтерфейси, які створюються при запуску ОС, розділяються пробілами.
також в строці ifconfig_vlan100 можна одразу задавати додаткові налаштування інтерфейсу (ІП, Маску, тощо..)
Коли потреба в наявності інтерфейса пропадає, або ж його необхідно перенести на інший фізичний інтерфейс, ВЛАН потрібно знищити командою
ifconfig vlan100 destroy
після чого, звісно, варто зробити відповідні зміни в файлі /etc/rc.conf
Сisco-like інтерфейс
Другий варіант створення ВЛАН-інтерфейсів, це створення підінтерфейсу на фізичному інтерфейсі, причому тут вже однозначно в імені вказується ідентефікатор ВЛАНу.
ifconfig em0.100 create
що є рівнозначно тому що ми робили в першому варіанті
Як і в попередньому варіанті, для збереження змін вносимо правки в файл /etc/rc.conf
cloned_interfaces="em0.100"
ifconfig_em0_100="up"
Знищення віртуального інтерфейсу відбувається командою
ifconfig em0.100 destroy
Всім бобра!
Коментарі