Всем привет. Я решил закрепить результат, написав статью.
И этот результат — объединение нескольких точек доступа WiFi в сети в одну непрерывную сеть, называемую также бесшовной.
Смысл этого действия заключался в том, что моя «локальная» домашняя сеть разрослась до нескольких точек WiFi из-за своей (сети) большой площади и невозможности добиться должного качества всего с одной точкой.
Первым и самым простым решением было установить еще несколько точек доступа Wi-Fi с тем же BSSID и вроде все заработало, но как оказалось, не все работало.
Например, мой телефон на базе Android нормально переварил эту ситуацию, перескакивая с точки на точку при потере сигнала с одной и обнаружении сигнала с другой, но у пользователей замечательного iPhone с этим возникла проблема, эти устройства напрочь отказывались отключаться от одного точку, которая уже исчезла из диапазона, и подключиться к новой, пусть и с более жирным сигналом.
Ну как и положено среди этого контингента (никакой враждебности - только сухие факты), началась вонь, что все вокруг Г.
мой замечательный телефон не может работать с этим барахлом.
И я начал искать методы борьбы с этим.
Мои поиски привели меня к стандарту 802.11р .
В котором нам обещают полную прозрачность работы WiFi-устройств в сети из нескольких точек доступа.
И даже Apple подтверждает что может это сделать.
Ну да ладно, ради душевного спокойствия наших и любителей яблок, освоим новую дисциплину.
Беглое изучение теории и практики показало, что хостапд, похоже, способен на это чудо.
Все мои роутеры уже давно используют Lede (для тех, кто не знает, это бывший OpenWRT), и в этом плане настройка не должна создать проблем.
Но как всегда не все так просто, или я слишком тупой :) Начнем с того, что в леде по умолчанию установлен пакет wpad-mini; он содержит базовую поддержку Wi-Fi AP с минимально возможным для ее работы.
Я не доволен таким раскладом.
Поэтому необходимо заменить пакет на wpad. В самом простом случае для этого нужно выполнить команду:
Пакет принесет с собой все необходимое и заменит wpad-mini. В идеале неплохо было бы просто пересобрать образ прошивки с помощью ImageBuilder. После установки пакета его необходимо настроить.opkg install wpad
Если вы используете интерфейс luci, в настройках сети WiFi в разделе «Безопасность беспроводной сети» появится галочка.
Обеспечивает быстрый роуминг между точками доступа, принадлежащими одному домену мобильности.
.
Включив его, нам предоставляется куча полей для настройки функции роуминга между точками доступа.
Если у вас нет luci или вы предпочитаете настраивать железо путем изменения конфигов, то это делается строкой: option ieee80211r '1'
в разделе настроить Wi-Fi-iface Файл конфигурации /etc/config/беспроводная связь .
Надеюсь, не нужно объяснять, что это необходимо сделать на всех ТД, участвующих в роуминге.
Это было самое простое.
И тут началось веселье.
Чтобы объяснить всем точкам, что они в одном роуминге, это дело надо как-то настроить.
Все мануалы, которые мне удалось найти, упорно сводятся к настройке всего этого дела с использованием RADIUS-авторизации.
Но RADIUS у меня нет и он мне не нужен, как я думаю большинству из нас.
Поэтому мне пришлось экспериментировать.
Пройдемся по полям, которые luci предлагает нам заполнить: Идентификатор NAS — я так понимаю идентификатор текущей точки доступа на RADIUS-сервере.
И оно не нужно, если последнее отсутствует, но Люси не позволяет сохранять настройки, если это поле не заполнено.
Что ж, давайте заполним его.
Обычно все рекомендуют вводить туда MAC-адрес устройства без разделителей.
Домен мобильности — идентификатор вашей конкретной сети.
Он должен быть у всех точек, участвующих в роуминге.
Это 16-битное число в шестнадцатеричной (HEX) форме.
Список держателей внешних ключей R0 - вот где они будут участвовать Идентификатор NAS , но сказали, что он нужен только для RADIUS. Или эта функция без RADIUS не работает? Объясните, кто знает? Здесь я добавил столько строк, сколько у меня точек доступа к сети.
В формате: MAC-адрес, NAS-ID, 128-битный ключ в виде шестнадцатеричной строки.
Например: 12:fe:ed:6d:bf:ea, 12feed6dbfea, 8a7fcc966ed0691ff2809e1f38c16996
И так несколько раз с каждой точкой доступа я использовал один и тот же ключ.
И еще, если кто-нибудь знает, как это сделать правильно? Список держателей внешних ключей R1 - аналогично предыдущему разделу, только вместо NAS-ID стоит некий R1KH-ID.
Я заполнял это так: 12:fe:ed:6d:bf:ea, 12:fe:ed:6d:bf:ea, 8a7fcc966ed0691ff2809e1f38c16996
В итоге получилось примерно так:
В конфиге все это выглядит так: option ieee80211r '1'
option mobility_domain '4f57'
option pmk_r1_push '1'
list r0kh '12:fe:ed:6d:bf:ea,12feed6dbfea,8a7fcc966ed0691ff2809e1f38c16996'
list r0kh 'e8:94:f6:e5:46:72,e894f6e54672,8a7fcc966ed0691ff2809e1f38c16996'
list r1kh '12:fe:ed:6d:bf:ea,12:fe:ed:6d:bf:ea,8a7fcc966ed0691ff2809e1f38c16996'
list r1kh 'e8:94:f6:e5:46:72,e8:94:f6:e5:46:72,8a7fcc966ed0691ff2809e1f38c16996'
option nasid '12feed6dbfea'
option r1_key_holder '12feed6dbfea'
После сохранения и перезагрузки всех устройств на первый взгляд все продолжало работать.
Кажется, на моем телефоне Android ничего не изменилось.
Владельцы iPhone пока довольны — посмотрим.
WiFi Analyzer по-прежнему видит мою сеть как несколько точек, но помимо авторизации WPA-PSK добавлена FT-PSK. Статью написал, чтобы не потерять найденное и получить критику и помощь в понимании сделанного :) Буду благодарен за любые комментарии.
Теги: #Беспроводные технологии #Сетевые технологии #Настройка Linux #OpenWRT #wpad #lede #hostapd
-
Adobe Photoshop Cs Один На Один: Обзор
19 Oct, 24 -
Текст Любой Ценой: Miette
19 Oct, 24 -
3D-Движок На Основе Js + Холст
19 Oct, 24 -
Галерея Скриншотов Рабочего Стола
19 Oct, 24