LINUX.ORG.RU
ФорумAdmin

openwrt и VLAN

 ,


0

1

Здравствуйте.

1. Имеется маршрутизатор TL-WR842N.

2. Конфигурация по умолчанию.

  
$ cat /etc/config/network
...
  config switch
          option name 'switch0'
          option reset '1'
          option enable_vlan '1'
  config switch_vlan
          option device 'switch0'
          option vlan '1'
          option ports '1 2 3 4 0'

3. Ещё пара команд:

   $ ls -l /sys/class/net
     lrwxrwxrwx   1 root   root     0 Feb 23 07:06 br-lan -> ../../devices/virtual/net/br-lan
     lrwxrwxrwx   1 root   root     0 Jan  1  1970 eth0 -> ../../devices/platform/ag71xx.1/net/eth0
     lrwxrwxrwx   1 root   root     0 Jan  1  1970 eth1 -> ../../devices/platform/ag71xx.0/net/eth1
     lrwxrwxrwx   1 root   root     0 Jan  1  1970 lo -> ../../devices/virtual/net/lo
     lrwxrwxrwx   1 root   root     0 Feb 23 07:06 wlan0 -> ../../devices/platform/qca953x_wmac/net/wlan0

  $ swconfig list
    Found: switch0 - eth0

  $ swconfig dev switch0 show
    Global attributes:
            enable_vlan: 1
    Port 0:
            pvid: 1
            link: port:0 link:up speed:1000baseT full-duplex txflow rxflow 
    Port 1:
            pvid: 1
            link: port:1 link:down
    Port 2:
            pvid: 1
            link: port:2 link:down
    Port 3:
            pvid: 1
            link: port:3 link:down
    Port 4:
            pvid: 1
            link: port:4 link:up speed:100baseT full-duplex auto
    VLAN 1:
            vid: 1
            ports: 0 1 2 3 4
Тут видно, что присутствует 2 физических интерфейса, Port1 (ЦП) и 4 LAN порта.

Вопросы:

1. Не понятно как стандартная конфигурация ссылается на интерфейс eth0 который она описывает? В примерах из руководства вместо switch0 написано eth0.

2. Как надо изменить конфигурационный файл что бы один из LAN портов, объединить с WAN. Если я правильно понимаю, хотелось бы получить следующую схему:

|            |     eth0      |                  physical ports               |    eth1   |
|            |CPU            |LAN 1      |LAN 2      |LAN 3      |LAN4       |WAN        |
|1           |tagged         |off        |untagged   |untagged   |untagged   |off        |  
|2           |tagged         |untagged   |off        |off        |off        |untagged   |

Но исходя из выше приведённых команд я ни где не вижу что мне доступен 5ый порт (предположительно WAN), что бы его можно было забить в VLAN скажем с первым портом.


У тебя switch0 подключён к eth0, поэтому к eth1 он отношения не имеет и никаких вланов с ним создавать не может. Можешь посредством brctl объединить eth1 с каким-нибудь eth0.2 сотворённым посредством тегированного port1. Будет у тебя какой-нибудь br-wan с портами eth1 и eth0.2

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от Stanson

Как именно он подключён? Это некое внутреннее физическое оборудование? Типо внутри идёт встроенный коммутатор на 4 порта, который подключён к eth0, а eth1 сам по себе с одним портом? И этот 5ый wan порт ни как никуда не засунуть и не увидеть кроме как eth1?

garcol
() автор топика
Ответ на: комментарий от garcol

Как именно он подключён? Это некое внутреннее физическое оборудование? Типо внутри идёт встроенный коммутатор на 4 порта, который подключён к eth0, а eth1 сам по себе с одним портом? И этот 5ый wan порт ни как никуда не засунуть и не увидеть кроме как eth1?

Совершенно верно. eth0 никуда не выведен, только подключен к одному из портов свитча. Остальные порты свитча выведены как LAN порты. eth1 напрямую выведен наружу как WAN.

Достаточно распространённая схема. Есть вторая, не менее распространённая, когда eth в SoC только один, а WAN порт, это всего лишь один из портов свитча, который по умолчанию просто запихивается в отдельный vlan и интерфейсы в системе выглядят как eth0.1 для портов LAN и eth0.2 для порта WAN.

У тебя просто свитч не той конструкции попался. В общем, делай для дополнительного WAN порта отдельный vlan (нумер x > 1) в свитче, а потом делай бридж из eth1 и eth0.x и обзови его br-wan например.

Если тебе не надо гонять данные гигабитами между портами WAN (eth1 и eth0.x), то потерь производительности не заметишь, по сравнению с тем вариантом, когда оба порта в свитче.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 2)
Ответ на: комментарий от garcol

Тебе надо что-то типа:

config switch_vlan
        option device 'switch0'
        option vlan '1'
        option ports '2 3 4 0t'

config switch_vlan
        option device 'switch0'
        option vlan '2'
        option ports '1 0t'

config interface 'lan'
        option ifname 'eth0.1'
        option type 'bridge'
        option proto 'static'
        option netmask '255.255.255.0'
        option ipaddr '192.168.1.1'

config interface 'wan'
        option ifname 'eth0.2 eth1'
        option type 'bridge'
        option proto 'dhcp'

Это если eth0 подключен к порту 0 свитча. Если подключен к другому порту, то измени строчки option ports соответственно.

Кстати, номера портов в option ports могут не совпадать с номерами написанными на жопе свитча, так что может понадобится методом тыка выяснить, где на жопе port 1 на самом деле.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 2)
Ответ на: комментарий от Stanson

то есть то что я принял за порт ЦП, является портом по которому соединяется коммутатор с интерфейсом eth0? А порт ЦП тогда где?

garcol
() автор топика
Ответ на: комментарий от garcol

И eth0 и eth1 оба «порты ЦП». Только eth0 не выведен наружу, а подключен к одному из портов свитча. А eth1 выведен наружу как WAN.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Помоги прояснить ещё пару моментов:

1. wlan0 подозреваю в данном случае работает так так же как и eth1 и имеет свой «радиопорт»?

2. За что отвечает параметр «option reset '1'»?

config switch
    option name 'switch0'
    option reset '1'
    option enable_vlan '1'

3. За что отвечает секция порта? Если в секции switch_vlan уже всё раскидано и всё работает, то в чём суть например этого?

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

garcol
() автор топика
Ответ на: комментарий от garcol

1. Да. Только настраивать его надо в /etc/config/wireless, можно там же указать в какой бридж его пихнуть.

2. Очевидно reset свитча при инициализации.

3. primary vlan id.

Вообще, смотри действительные параметры твоего свитча через swconfig

# swconfig dev switch0 help
Вывалит портянку возможных опций для свитча, вланов и портов с пояснениями

Stanson ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.