Настройка Сети В Openwrt

В этой статье я расскажу о том, как настроить сеть в 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

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.