В этой статье я расскажу о том, как настроить сеть в OpenWRT. В частности, я расскажу, как сделать несколько SSID на одной радиокарте, настроить WPA2-Enterprise, поднять VLAN и как настроить программный коммутатор (swconfig).
UCI
Все настройки будем осуществлять через консоль, так как она не ограничена в возможностях, в отличие от веб-интерфейса.Для настройки системы OpenWRT использует подсистему UCI (Unified Configuration Interface), которая позволяет централизованно настраивать все виды сервисов, от службы монтирования файловой системы до службы QoS. Все настройки UCI расположены в каталоге «/etc/config/» и имеют одинаковый синтаксис.
Программа используется для управления системой UCI. учи .
С его помощью можно редактировать файлы конфигурации, просматривать текущие настройки и т. д. uci очень удобно использовать для настройки системы из скриптов.
Также возможно писать расширения для uci. Синтаксис файлов конфигурации:
config 'example' 'test' option 'string' 'some value' option 'boolean' '1' list 'collection' 'first item' list 'collection' 'second item'config 'example' 'test' — начало раздела, example — тип, по которому uci поймет, как интерпретировать опции в этом разделе, test — идентификатор раздела.
опция или список определяет тип настроек, список — составные настройки (например, список интерфейсов для прослушивания Apache).
строка, логическое значение, коллекция — имена переменных.
Настройка сетевых интерфейсов
Файл конфигурации — /etc/config/network. В простейшем случае настройка сети выглядит так:config interface lan option ifname eth1 option proto static option ipaddr 192.168.0.10 option netmask 255.255.255.0 option gateway 192.168.0.1 option dns 192.168.0.1Где lan — роль этого интерфейса.
Он нужен для того, чтобы можно было абстрагироваться от названий интерфейсов.
Например, в фаерволе можно указать разрешить весь входящий трафик из локальной сети.
Пример добавления статического маршрута:
config route option interface lan option target 10.1.1.1 option netmask 255.255.255.255 option gateway 192.168.0.100Отмечу, что интерфейс должен быть указан.
Пример настройки влана и добавления его в бридж:
config interface guest option ifname "eth1.123" option type bridge option proto static option netmask 255.255.255.0 option ipaddr 192.168.2.2Создает интерфейс «br-guest» и включает в него интерфейс eth1.123 (123 vlan-id на интерфейсе eth1).
Ниже приведен пример того, как добавить беспроводной интерфейс к этому мосту.
Поскольку чипсеты, используемые в роутерах, обычно имеют 1-2 Ethernet-порта, а хочется больше, то для Ethernet используется отдельный контроллер.
Он подключен одним портом к основному чипсету, а остальным снаружи.
Такой программный коммутатор не представлен непосредственно в сетевой системе.
Коммутатор можно настроить через утилиту SWconfig или через uci. Предположим, у нас есть один порт Ethernet eth0, подключенный к порту 5 управляемого коммутатора:
config 'switch' 'eth0' option 'enable' '1' option 'enable_vlan' '1' option 'reset' '1' config 'switch_vlan' option 'vlan' '0' option 'device' 'eth0' option 'ports' '0 1 2 5t' config 'switch_vlan' option 'vlan' '1' option 'device' 'eth0' option 'ports' '3 5t' config 'switch_vlan' option 'vlan' '124' option 'device' 'eth0' option 'ports' '6t 5t'Здесь eth0 — имя интерфейса, к которому подключен коммутатор.
В первом разделе включаем переключатель и включаем поддержку тегированного (трафика с вланом) трафика.
Каждая секция switch_vlan отвечает за конкретную VLAN, указанную в опции vlan. Этот тег будет использоваться для добавления меток к портам, указанным в разделе портов.
Письмо т at port означает, что трафик на этот порт должен отправляться тегированным (с меткой); он перейдет к другим перечисленным портам без метки.
Запись '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).
В последнем разделе написано vlan=124, port="6t 5t" — это значит, что трафик, идущий на порт6 с тегом 124, будет приходить на eth0 с тегом 124.
В сети вы можете настроить такие соединения, как PPTP, PPPoE и даже 6to4.
Настройка Wi-Fi:
Файл конфигурации находится здесь — /etc/config/wireless. Настройка радиоинтерфейсов разделена на две части: настройки физического уровня (физика) и настройки интерфейса.Минимальные настройки выглядят так:
config 'wifi-device' 'radio0' option 'type' 'mac80211' option 'channel' '6' config 'wifi-iface' option 'device' 'radio0' option 'network' 'guest' option 'mode' 'ap' option 'ssid' 'guest' option 'encryption' 'none'В первом разделе мы указали, что тип чипсета/драйвера — mac80211 (определяется при загрузке), используемый канал — 6. Также можно указать используемые стандарты, мощность передатчика, используемые антенны и т. д. Во втором разделе мы уже опишите сам интерфейс.
Интерфейсов может быть несколько, например с разными SSID. В опции устройства необходимо указать идентификатор раздела с описанием устройства, в данном случае radio0. network=guest означает, что вам необходимо подключить это устройство к гостевому интерфейсу, используемому в сети.
Поскольку мы (см.
выше) в описании сети говорим, что интерфейс=гость — это мост, то добавим этот беспроводной интерфейс в мост br-guest. Пример настройки multi-ssid с шифрованием wpa2-enterprise+ccmp:
config 'wifi-iface' option 'device' 'radio1' option 'network' 'wlan' option 'mode' 'ap' option 'ssid' 'super' option 'encryption' 'wpa2' option 'server' '192.168.0.11' option 'port' '1812' option 'key' 'secret' config 'wifi-iface' option 'device' 'radio1' option 'network' 'wlan' option 'mode' 'ap' option 'ssid' 'puper' option 'encryption' 'wpa2' option 'server' '192.168.0.11' option 'port' '1812' option 'key' 'secret'OpenWRT создаст два интерфейса с разными ssid (super и puper) и авторизует их через RADIUS-сервер 192.168.0.11. ключ — это ключ RADIUS. Обычно можно поднять до 4 SSID, в зависимости от радиокарты.
Еще отмечу, что OpenWRT для каждого wifi-устройства автоматически создает устройства типа монитора, с помощью которых можно ловить заголовки уровня 802.11. Ссылки по теме: wiki.openwrt.org/doc/uci wiki.openwrt.org/doc/uci/network wiki.openwrt.org/doc/uci/wireless wiki.openwrt.org/doc/uci/network/switch Теги: #*nix #OpenWRT #wi-fi #UCI #multi-ssid #swconfig
-
Вакуумное Напыление «На Коленке»
19 Oct, 24 -
Codraw — Стартап За Неделю
19 Oct, 24