3

WAN-соединение моего маршрутизатора настроено для подключения к общедоступной сети Wi-Fi на основе подписки. Я эффективно расширяю общедоступную сеть WiFi.

Я определил, что общедоступная сеть имеет три разных точки доступа в диапазоне моего маршрутизатора (все используют один и тот же SSID, но на разных каналах)

Я определил, что одна из общедоступных точек доступа WiFi для общедоступного SSID WiFi неисправна. WAN-соединение моего маршрутизатора без проблем перемещается между хорошими AP, но когда оно переходит к плохой AP, доступ в Интернет падает, пока маршрутизатор не переходит к одной из хороших AP.

Я идентифицировал MAC-адреса хороших и плохих AP.

Учитывая, что общедоступная сеть Wi-Fi не находится под моим контролем, есть ли способ на моем маршрутизаторе внести в черный список / заблокировать неисправную точку доступа, используя ее MAC-адрес?

Мой роутер Netgear WNDR3700v4, и я прошил с DD-WRT 06-23-2014-r24461

http://manpages.ubuntu.com/manpages/hardy/man8/iwconfig.8.html

Опция ap для iwconfig звучит многообещающе:

man iwconfig(8) ap

Заставьте карту зарегистрироваться в точке доступа, заданной адресом, если это возможно. Этот адрес является идентификатором ячейки точки доступа, сообщаемой беспроводным сканированием, которая может отличаться от ее сетевого MAC-адреса. Если беспроводная связь является двухточечной, установите адрес другого конца ссылки. Если ссылка является специальной, установите идентификатор ячейки специальной сети. Когда качество соединения становится слишком низким, драйвер может вернуться в автоматический режим (карта выбирает лучшую точку доступа в диапазоне). Вы также можете использовать выключение, чтобы повторно включить автоматический режим без изменения текущей точки доступа, или вы можете использовать любую или авто, чтобы принудительно установить связь карты с лучшей на данный момент точкой доступа. Пример: iwconfig eth0 ap 00: 60: 1D: 01: 23: 45

Даже при ручной настройке AP для подключения, соединение все еще перемещается на мошенническую AP.

Я попытался использовать параметры «Фильтр беспроводного MAC-адреса» в Wireless-Security на панели управления DD-WRT, и хотя они сохраняются, они, похоже, не оказывают никакого влияния. Я подозреваю, что это потому, что адаптер находится в режиме клиента, поэтому настройки не применяются.

Я также пробовал различные команды iw как это:

iw dev ath0 station del aA:BB:CC:DD:EE:FF

Я пролил /proc/net/ надежде найти что-то для чтения и записи значений от и до, но все же не повезло.

Бег:

iw dev ath0 disconnect

вызывает сброс соединения, и в моем тестировании адаптер всегда автоматически переподключается к одной из хороших точек доступа. Но затем, через неопределенное время, адаптер переходит обратно к неисправной точке доступа, и доступ в интернет умирает.

Единственное решение, которое я вижу на данный момент, - написать свой собственный менеджер соединений, но без выяснения, как использовать инструменты для правильной работы, это будет непросто.

2 ответа2

1

Согласно комментарию Дэниела, startup.sh может изменить /tmp/ath0_wpa_supplicant.conf для включения переменной bssid=<mac of good ap> в объявление network{} , за которым следует # kill -HUP "$(pidof "wpa_supplicant")" для сигнал wpa_supplicant, что он должен перезагрузить конфигурацию.

Это позволяет адаптеру подключаться к точке доступа, блокируя роуминг с другими точками доступа.

1

Чтобы дать вам прямой ответ, чтобы вам не пришлось тратить время на чтение всего словаря:

На устройстве DDWRT на базе ATHEROS - так что это не работает на Broadcom, оно будет работать на вашем, если telnetting в маршрутизатор и запуск «ps» приведут к процессу wpa_supplicant .

Перейдите в Администрирование, Команды и вставьте это и сохраните как пользовательский скрипт:

sed -i '7ibssid=xx:xx:xx:xx:xx:xx' /tmp/ath0_wpa_supplicant.conf

kill -HUP "$(pidof "wpa_supplicant")"

Первая строка вставляет строку bssid=(mac address of upstream router) в строку 7 в wpa_supplicant , которая должна быть указана в разделе о сети. Вы можете использовать less ath0_wpa_supplicant.conf чтобы увидеть, в каком диапазоне находится сеть, в приглашении telnet в папке /tmp

Вторая строка, как утверждает первый ответчик, перезапускает wpa_supplicant .

Команды копируются и вставляются, как есть. Единственное изменение, которое вам нужно сделать, это заменить MAC восходящего AP на xx:xx ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .