User Tools

Site Tools


ru:doc:uci:network:switch

Коммутатор (Switch)

FIXME: Эта страница предполагает что вы знаете "что это ? " и "зачем это надо?".

Если ваше устройство имеет более чем 1 LAN порт, это значит что существует специальное подключение между различными портами, называемое коммутатором. Скорее всего, схема внутренних портов будет такая (на примере ASUS WL-500g):

Если вы хотите изменить настройки подключения портов, нужно настроить коммутатор вашего роутера(читаем network.interfaces)

Настройка UCI, swconfig

Предположим

  • устройство работает на ядре 2.6 или 3
  • устройство использует swconfig для настройки коммутатора
  • Коммутатор на порту eth1 (Большинство на eth0),и так же на чипе типа rtl8366s
  • 5-ти портовый коммутатор с подключенными внешними портами 0-3, 4 не подключен, и 5 подключен к ЦПУ в eth1 интерфейс (в итоге 6-ть портов, где 4-ый не считается )
  • vlan0 все внешние порты кроме последнего
  • vlan1 только последний внешний порт
  • vlan0 стандартный vlan, т.е. если пакет не имеет тэгов, то он относиться к vlan0

Настройка

Коммутатор

В файле /etc/config/network

config 'switch' 'eth1'
   option 'enable'      '1'
   option 'enable_vlan' '1'
   option 'reset'       '1'

VLAN: настройка коммутатора

В файле /etc/config/network

Заметки

Здесь eth1 — название интерфейса куда подключен коммутатор. В первой секции включаем коммутатор и включаем поддержку теггированного(трафика с вланом) трафика. Каждая секция switch_vlan отвечает за определенный VLAN указанный в опции vlan. Этот тег будет использоваться для добавления метки для портов указанных в секции ports. Буква t у порта обозначает что трафик в этот порт должен быть передан теггированным(с меткой), в остальные перечисленные порты он попадет без метки. Запись '0 1 2 5t' нужно читать так: передай нетегированный трафик с портов 0, 1, 2 в порт 5 с меткой 0. Так как VLAN с меткой 0 это тоже самое что трафик без метки, то на нашем порту eth0 мы получим трафик с портов 0, 1, 2 без всяких вланов. В следующей секции написано: ports='3 5t', vlan=1. Это значит что нетегированный трафик с порта 3 придет на eth0 с vlan-id=1(не рекомендую использовать vlan-id=1).

В документе, который описывает стандарт 801.2q, говорится, что значения VID 0 и 4095 не могут использоваться для теггированного трафика, так как эти значения зарезервированы: VID 0 'родной' vlan по умолчанию - оставляя диапазон из 4094 доступных значений, хотя VID 1 обычно зарезервирован для управления сетью (например, как у Dell 2708). Это означает, что vlan0 можно использовать как VLAN внутри или между устройствами, но им нельзя тегировать пакеты.

The config sections

config 'switch_vlan'
   option 'vlan'       '0'
   option 'device'     'eth1'
   option 'ports'      '0 1 2 5t'

config 'switch_vlan'
   option 'vlan'       '1'
   option 'device'     'eth1'
   option 'ports'      '3 5t'

config 'switch_port'
    option 'port'      '3'
    option 'pvid'      '1'

VLAN: interface/network config

Разделы интерфейса VLAN выглядят как обычные разделы интерфейсов, кроме того что вместо eth1 (или eth0, или как угодно ещё), указано eth1.0, eth1.1, и так далее, где цифра после . является номером VLAN. (это верно для ядра версии 2.6; в ядре 2.4 сделано по-другому).

Следующий пример описывает двух-интерфейсный роутер, где eth0 отведён под WAN и eth1 работает как пяти портовый свитч, сконфигурированный, как указано выше. Это находится в /etc/config/network

например

config 'interface' 'lan'
    option 'ifname' 'eth1.0'
    option 'proto' 'static'
    option 'ipaddr' '192.168.1.1'
    option 'netmask' '255.255.255.0'
    option 'defaultroute' '0'
    option 'peerdns' '0'
    option 'nat'    '1'

config 'interface' 'extranet'
    option 'ifname'  'eth1.1'
    option 'proto'   'dhcp'

config 'interface'  'wan'
   option 'ifname'  'eth0.2'
   option 'proto'   'pppoe'
   option 'username' 'szabozsolt-em'
   option 'password' 'M3IuWBt4'

Конечно же, если у вас на eth0 лишь свитч на пять портов (и никаких других интерфейсов), вы можете сделать интерфейс wan в eth0.1 и lan eth0.0 соответственно совпадающей с switch, switch_vlan и switch_port разделами.

Также смотрите backplane.

ru/doc/uci/network/switch.txt · Last modified: 2016/07/03 15:03 by abrynn