- Чулан*
На работе возникла необходимость разделить общую сеть на несколько сетей по отделам, с возможностью обмена информацией только некоторым компьютерам сети между собой. Cisco покупать никто не собирался, поэтому погуглив в интернете и не найдя решение для D-Link-а решил сделать сам, методом проб и ошибок, вот в заключении получилась такая конфигурация. Может кому пригодится. Средствами коммутатора D-Link DES-1228 и маршрутизатора под управлением FreeBSD, делим сеть фирмы на три виртуальные сети на канальном уровне, с доступом из одной сети в любую другую сеть только через маршрутизатор FreeBSD на котором мы можем назначить любые права доступа. Решение: VID — vlan ID name — имя vlan ip-address — ip адрес сети для vlan numbers — количество компьютерных портов vlan trunk port — транковый порт который соединяет коммутатор с роутером ports — номера портов участвующих в vlan Теперь как это всё выглядит на практике: Здесь у меня показан DSL модем через который все эти три сети могут выходить в интернет с различной или одинаковой скоростью что кому необходимо. На настройках FreeBSD я подробно не останавливаюсь т. к. целью рассказать как реализовать router on stick на D-Link DES-1228. Если кто не знает это когда виртуальные сети идут по одному физическому кабелю, тем самым экономя порты и роутера и коммутатора. Для трех сетей и в коммутаторе и в роутере используется только один порт, вместо трех для физических соединений. Конфигурирование D-Link DES-1228 Итак начнем с коммутатора. Заходим на коммутатор через web-интерфейс заводские настройки: ip 192.168.0.1 pass: admin Настраиваем под себя меняем ip-адрес, меняем пароль если нужно, в секции System. Далее идём в секцию Configuration 802.1Q VLAN. Заходим в единственную пока vlan 01 Vlan 01 по умолчанию, вот так мы её правим. Все порты участвующие в других vlan-ах, не участвуют в vlan 01, за исключением транкового порта в данном случае порт 25. Далее добавляем свою vlan 10 отмечаем порты которые в неё входят как Untag применяем «apply» Vlan 10 в ней участвуют порты с 1 по 8 и транковый порт 25 но тут он уже тегированный. Так же добавляем Vlan 20 в ней участвуют порты с 9 по 16 и тегированный порт 25. В vlan 30 участвуют порты с 17 по 24 и тегированный порт 25. В результате такого деления мы имеем три vlan-а по 8 портов в каждом, и четыре порта участвующие в vlan 01 т. е. эти порты работают как обычный свич, 25-й порт из этих четырех участвует также и во всех vlan-ах, но уже как тегированный, кроме vlan 01. Через 25 порт от коммутатора на роутер идет тегированный трафик от наших трёх vlan-ов и не тегированный трафик vlan 01. Всё на этом настройка коммутатора завершена. Настраиваем роутер на FreeBSD: В /boot/loader.conf добавляем строку: if_vlan_load=”YES” #или компилируем ядро с этой опцией В /etc/rc.conf прописываем следующие строки: ifconfig_fxp0 = «up» #Поднимаем интерфейс если не назначен сетевой адрес. Если #назначен то по нему будет ходить не только тегированый но и не тегированый #трафик, который мы в vlan-е 01 #обозначили как Untag cloned_interfaces = «vlan10 vlan20 vlan30» ifconfig_vlan10 = «inet 172.16.10.0 netmask 255.255.255.0 vlan 10 vlandev fxp0» ifconfig_vlan20 = «inet 172.16.20.0 netmask 255.255.255.0 vlan 20 vlandev fxp0» ifconfig_vlan30 = «inet 172.16.30.0 netmask 255.255.255.0 vlan 30 vlandev fxp0 Все перезагружаемся пишем правила доступа и работаем. Существуют сетевые платы которые поддерживают vlan аппаратно. Для включения этого режима добавляется опция vlanhwtag или если не поддерживается тогда убирается – vlanhwtag. У меня все заработало по умолчанию на интеловской сетевухе во FreeBSD она видится как fxp0.Используемые источники:
- https://habr.com/sandbox/16909/