OpenWRT. Настройка сети

Маршрутизатор мы перепрошили в прошлой статье, а теперь давайте рассмотрим, что из себя представляет сама OpenWRT.

В качестве командной оболочки, ввиду предположительно малого количества встроенной памяти, используется ash (вместо привычного многим bash). Ash имеет 24 встроенные команды, 10 опций командной строки, и является одной из самых маленьких оболочек для Unix.

В качестве пакетного менеджера, для загрузки и установки пакетов из репозитория OpenWRT, используется легковесный opkg (форк ipkg), вместо привычных apt-get, pacman, yum и т. д.

О команднах opkg можно почитать здесь: http://wiki.openwrt.org/doc/techref/opkg

В качестве редактора по умолчанию, используется vi, который довольно непривычен для начинающих (например, для выхода нужно ввести :q! , для выхода с сохранением :wq ). Прежде чем работать с vi, ознакомьтесь с данной статьей:

http://docs.altlinux.org/archive/2.3/junior/alt-docs-extras-linuxnovice/ch02s10.html

Если вам привычней работать с более простым nano — установите его, он не так много весит. Для начала обновим список пакетов:

 

:~# opkg update

 

И установим nano:

 

:~# opkg install nano

 

Работать с OpenWRT, как вы уже догадались, можно через командную оболочку, подключаясь по ssh, или же через веб-интерфейс LuCI — второй гораздо проще и интуитивно понятней, отлично подходит повседневной работы, но не имеет всей гибкости, достигаемой правкой конфига.

Настройка Wi-Fi

По умолчанию, в OpenWRT отключает Wi-Fi передатчик, так что подключим и настроим, для начала, его.

Перейдите на вкладку Network → Wi-Fi.

openwrt 6

На вкладке «scan» доступны все найденные в области доступа сети. Таким образом, марщрутизатор на OpenWRT можно использовать как клиент, подключающийся к другой сети, и раздающий трафик на ваши устройства (в базовой прошивке TP-Link такой функции нет).

На вкладке «Add» - создадим собственную сеть:

openwrt 7

Channel — канал по умолчанию. Если вкратце: на частоте 2.4GHz, имеется 11 каналов, и если, к примеру, ваш сосед замет 1-й канал, то работая на первом канале, вы получите куда худшее качество связи, чем при работе на 6-м. Полностью непересекающихся каналов только три — 1/6/11. Лучше выбрать режим auto — тогда роутер будет анализировать качество связи на каждом канале, и сам выбирать оптимальный вариант.

Transmit Power — мощность передатчика. Для такого бюджетного роутера, как у нас, рекомендуется понизить её с 27dBm до, хотя-бы, 24-25dBm, в особенности при обслуживании большого количества Wi-Fi клиентов, иначе он будет перегреваться и может периодически зависать.

ESSID — имя вашей сети.

Mode — режим работы (в большинстве случаев вам нужен Access Point, если же вы организуете mesh-сеть или большую домашнуюю Wi-Fi сеть из нескольких взаимных устройств, то вы и так знаете, какой режим вам нужен).

WMM — протокол QoS для обеспечения лучшего качества передачи мультимедийных файлов (распознавая трафик, в режиме WMM маршрутизатор будет присваивать файлам потокового видео/голоса высокий приоритет, что повысит их качество).

В Advanced Settings вы можете выбрать протокол, в котором работает ваш передатчик, а также ширину канала. Современные устройства работают на 802.11n, те что постарее — на b/g, так что выбирайте 802.11g+n, и ширину канала 40MHz.

На вкладке Wireless Security вы найдете настройки шифрования. Желательно выбрать WPA-PSK/WPA2-PSK Mixed Mode, а во вкладке Key — ваш пароль от сети.

Вот и все базовые настройки — жмите «Save & Apply» и в вашем доме вновь заработает Wi-Fi.

UCI

В OpenWRT есть собственная централизованная система для управления всеми элементами системы, также она имеет свой, довольно простой синтаксис. То есть вместо привычных конфигов Linux, используются файлы конфига UCI, в целом похожие на конфиги в вашем Linux. Стоит разобраться с UCI, и работать с OpenWRT станет гораздо легче.

Файлы конфигурации UCI лежат в /etc/config:

openwrt 8

Для примера, настроим беспроводную сеть, конфиг которой лежит в файле wireless:

 

rm -f /etc/config/wireless

wifi detect > /etc/config/wireless

 

rm -f — удаляет имеющийся файл с настройкой.

Wifi detect — определяет информацию по железу (все авто-детектируемые опции файла wireless) и создает такой же файл, какой был у нас изначально, до настойки в веб.

Откроем /etc/config/wireless:

openwrt 9

На примере этого файла, рассмотрим синтаксис uci.

 

config wifi-device radio0

option type mac80211

option channel 11

option macaddr b0:f3:c1:7e:4e:30

 

config — обозначает начало секции.

Wifi-device — тип объясняющий uci что что именно мы редактируем.

radio0 — имя, или идентификатор (то, какое именно устройство/интерфейс мы редактируем)

option — тип настроек, в данном случае опция. Также может быть list — составные настройки, в которые могут быть включены опции с множественными значениями

type/channel/macaddr — всё это типы настройки, которые входят в блок опций wi-fi-device.

Опции могут быть заключены в кавычки, двойные и одинарные (заключающая кавычка должна быть такой же, как и начинающая). И даже должны быть заключены, если в имени опции имеется пробел.

Теперь редактирует сам файл wireless:

Первый блок настроек отвечает за физическую составляющую, такую как mac-адрес, канал и его ширину, используемый стандарт и т. д. Все они детектируются автоматически, и большинство из них, кроме mac-адреса, можно поменять.

Option channel 11 — используемый канал. Допустимые значения — от 0 до 11, или «auto» (желательно) для автоматического определения канала.

Option hwmode 11ng — используемый стандарт, оставим без изменений. Допустимые значения: 11b, 11g, 11a и 11ng.

option htmode HT20 — ширина канала. В особо зашумленных сетях (в многоквартирном доме, например) не рекомендуется использовать широкий канал, но если ваша сеть единственная в округе, то можете сменить на HT40 — канал шириной 40MHz. Для стандартов 802.11ac (не в нашем случае) допустмы значения VHT80 / VHT160.

option disabled 1 — по умолчанию радиопередатчик заблокирован. Смените значение на 0, или просто удалите строку, чтобы его разблокировать.

Добавим также строку:

option txpower 25 — txpower принимает как аргумент численное значение равное мощности вашего передатчика в dBm.

Блок config 'wifi-iface' — задает настройки интерфейса, такие как режим работы, имя устройства и пароль:

option device radio0 — указывает, для какого устройства мы настраиваем интерфейс.

option mode ap — задает режим работы. Допустимые значения: ap — точка доступа / sta — клиент / adhoc / wds / monitor / mesh)

option ssid OpenWrt — задает имя (SSID) сети. Смените на желаемое (не забывая про кавычки)

option encryption none — настройки шифрования, по умолчанию отключены. Допустимые значения - wep для WEP, psk для WPA-PSK, или psk2 для WPA2-PSK. Желательно выбрать psk2.

option key 'пароль' — в режиме WPA2-PSK, задает пароль для сети.

Вот мы и настроили сеть также, как и настроили её ранее в веб-интерфейсе. Теперь, сохраните файл и примените настройки:

 

uci get wireless

 

И перезагрузить демон настройки сети:

 

/etc/init.d/network restart

 

После, беспроводная сеть вновь должна заработать.

Надеемся, на этом примере вы поняли базовые принциапы работы с UCI и настройки путем правки конфига. Выше, перечислены далеко не все функции, но многие из них специфичны и требуют особых драйверов. Больше о настройке файла wireless и полный список опций:

http://wiki.openwrt.org/doc/uci/wireless

Больше о работе и функций самой подсистемы UCI:

http://wiki.openwrt.org/ru/doc/uci 

Компьютерный портал "Компаньон" © 2016.
В случае перепечатки материалов обязательна прямая ссылка на сайт cs-companion.ru.