Создание VLAN-ов
# uname-r
9.1-RELEASE-p2
Первый вариант:
# less /etc/rc.conf
cloned_interfaces="vlan10 vlan11"
ifconfig_vlan10="inet 10.0.10.1 netmask 255.255.255.0 vlan 10 vlandev em1"
ifconfig_vlan11="inet 10.0.20.1 netmask 255.255.255.0 vlan 20 vlandev em1"
Для поддержки нетегированных (нативных) кадров необходимо назначить IP-адрес на физический интерфейс.
ifconfig_em1="inet 192.168.1.0 netmask 255.255.255.0"
Далее через ifconfig создаем VLAN-ы или перегружаем сервер.
#ifconfig vlan10 create
#ifconfig vlan20 create
#ifconfig vlan10
vlan10: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=3<RXCSUM,TXCSUM> ether 00:0e:0c:08:90:e7 inet 10.0.10.1 netmask 0xffffff00 broadcast 10.0.10.255 media: Ethernet autoselect (1000baseT ) status: active vlan: 10 parent interface: em1
При создании VLAN-ов информация берется из /etc/rc.conf
Второй вариант:
#less /etc/rc.confifconfig_em0="up"
ifconfig_em1="up"
vlans_em0="10 20"
vlans_em1="30 40"
ifconfig_em0_10=”inet 10.0.10.1/24″
ifconfig_em0_20=”inet 10.0.20.1/24″
ifconfig_em1_30=”inet 10.0.30.1/24″
ifconfig_em1_40=”inet 10.0.40.1/24″
Третий вариант:
#less /etc/rc.confifconfig_em0="up"
ifconfig_em1="up"
cloned_interfaces=”bridge0 em0.100 em1.100“
ifconfig_bridge0=”inet 10.0.10.1/24 addm em0.100 addm em1.100 up”
В данном случае объединяем (делаем бридж) 100-ых VLAN-ов на физических интерфейсах em0, em1 и назначаем IP-адрес бриджу.
Если em0 и em1 уйдут в состояние down, то IP-адрес на бридже все равно будет активен:
#ifconfig em0 down
#ifconfig em1 down
#ping 10.0.10.1
64 bytes from 10.0.10.1: icmp_seq=0 ttl=64 time=0.671 ms
64 bytes from 10.0.10.1: icmp_seq=1 ttl=64 time=0.680 ms
64 bytes from 10.0.10.1: icmp_seq=2 ttl=64 time=0.674 ms
Четвертый вариант:
#less /etc/rc.confifconfig_em0="up"
ifconfig_em1="up"
vlans_em0="10 20 30"
vlans_em1="10 20 30"
cloned_interfaces=”bridge0 bridge1 bridge2″
ifconfig_bridge0=”inet 10.0.10.1/24 addm em0.10 addm em1.20 up”
ifconfig_bridge1=”inet 10.0.20.1/24 addm em1.10 addm em0.20 up”
ifconfig_bridge2=”inet 10.0.30.1/24 addm em0.30 addm em0.30 up”
Делаем бридж VLAN-ов em0.10<->em1.20, em1.10<->em0.20, em0.30<->em1.30
Маршрутизация между VLAN-и
# echo 'gateway_enable="YES"' >> /etc/rc.con
и далее включаем маршрутизацию без перезагрузки сервера
# sysctl net.inet.ip.forwarding=1