Может ли компьютер Linux работать как беспроводной клиент, так и точка доступа одновременно с использованием одного физического интерфейса WLAN?
Если у меня только один физический интерфейс WLAN, есть ли какая-то хакерская атака, которая может быть клиентом существующей точки доступа и в то же время действовать как точка доступа для других клиентов?
У меня есть существующий маршрутизатор ADSL 802.11g, и я собираюсь построить HTPC, который будет иметь 802.11n. Мой ноутбук также имеет 802.11n, но на данный момент он подключается только со скоростью 54 Мбит / с, потому что это то, что поддерживает AP. Я бы хотел, чтобы HTPC был клиентом моего ADSL-маршрутизатора, но мой ноутбук был клиентом HTPC, поэтому копирование файлов на него будет быстрее.
Возможное?
- Повторение вывода в файл при одновременном просмотре его в консоли
- Как добавить в файл как sudo?
- Как анализировать использование диска в командной строке linux?
- Менеджер оконной плитки
- Могут ли два пользователя одновременно делиться одним ПК
Редактирование: очевидно, я могу подключить HTPC к ADSL-маршрутизатору с помощью Ethernet и отключить Wi-Fi на маршрутизаторе, но позволяет просто игнорировать этот параметр. 🙂
- Ssh через маршрутизатор без переадресации портов
- Принудительное сведение к моно на Linux
- Проложить трафик через определенный интерфейс для процесса в Linux
- Как подсчитать количество папок на диске с помощью Linux?
- Проблема Grub с двойной загрузкой Ubuntu & XP (сначала установлен Ubuntu)
- Когда я инвертирую цвета экрана, почему он не инвертируется через пару секунд?
- Как настроить Linux на работу как сервер RFCOMM SPP?
- Преобразование видео в формат, который, скорее всего, воспроизводится в системе Windows
Я не делал этого раньше лично, но вот некоторая информация, чтобы заставить вас идти в правильном направлении.
С точки зрения протокола, возможно, что одно радио работает как AP, так и клиентская STA. Он работает лучше всего (или, может быть, почти обязательно), если создаваемая вами AP и тот, с кем вы присоединяетесь как клиент, находятся на одном канале. Наличие радиокарты для сохранения каналов переключения для обслуживания запросов – это рецепт потерянных кадров и ужасная производительность.
Программно, это становится возможным. Несколько драйверов карт 802.11 в Linux поддерживают концепцию VAP (виртуальных точек доступа), которая позволяет одной карте одновременно действовать как несколько точек доступа (несколько SSID, даже BSSID). Контринтетитивно термин VAP стал означать любые виртуальные интерфейсы на одной и той же карте 802.11, независимо от того, находится ли виртуальный интерфейс в режиме AP или нет. Итак, на этих комбинациях карт / драйверов вы можете создать два VAP – STAP-режим VAP
Драйвер MadWifi для карт на базе Atheros – это тот, который поддерживает VAP. Если на вашей плате 802.11 используется чипсет Atheros, и вы установите правильную версию драйвера MadWifi, вы можете настроить свою карту для одновременного режима STA + AP примерно так:
wlanconfig ath0 create wlandev wifi0 wlanmode sta wlanconfig ath1 create wlandev wifi0 wlanmode ap
Обратите внимание, что это не полные инструкции по настройке всего, а просто попытка начать работу.
Вы можете захотеть в Google получить что-то вроде « wifi vap » для получения дополнительной информации. Я скопировал приведенные выше команды.
О, и некоторые мифы busting: карты Atheros не редкость в потребительских машинах. Они являются основным игроком на чипсете 802.11, а также Broadcom, Marvell, Intel и Ralink. И только потому, что я использовал пример MadWifi / Atheros, не означает, что нет драйверов Linux для других чипов основных игроков, которые могут сделать аналогичную вещь. Кроме того, для этого не требуется 802.11s. Утверждение, что вы должны сделать 802.11s, чтобы сделать это, похоже на то, что вам нужно поддерживать протокол Spanning Tree только для пересылки кадров с одного интерфейса на другой.
Драйвер nl80211 имеет что-то, называемое «управляемым» интерфейсом. Вы можете настроить его с помощью утилиты «iw», например:
Интерфейс iw phy phy0 добавляет тип wlan1
Подробнее об этом можно узнать на странице https://wireless.wiki.kernel.org/en/users/documentation/iw . Phy0 ссылается на то, что вы видите в / sys / class / ieee80211 /.
Я также видел, что rPI3 делает что-то подобное, но с более теневым интерфейсом «__ap» . Таким образом, пользователь создает второй интерфейс, который работает только в режиме AP, и использует начальный интерфейс в качестве клиентского режима.
Независимо от того, каким образом вы это понимаете (драйвер, очевидно, должен его поддерживать), вам понадобятся два интерфейса (с одного физического устройства). Один интерфейс может просто запустить wpa_supplicant в качестве клиентского режима, другой (режим AP) обычно использует hostapd для воспроизведения точки доступа.
[РЕДАКТИРОВАТЬ:]
Исходный код инструмента iw дает много четкого представления о теневом режиме __ap:
.. } else if (strcmp(tpstr, "__ap") == 0) { *type = NL80211_IFTYPE_AP; return 0; } else if (strcmp(tpstr, "__ap_vlan") == 0) { *type = NL80211_IFTYPE_AP_VLAN; return 0; } else if (strcmp(tpstr, "wds") == 0) { *type = NL80211_IFTYPE_WDS; return 0; } else if (strcmp(tpstr, "managed") == 0 || strcmp(tpstr, "mgd") == 0 || strcmp(tpstr, "station") == 0) { *type = NL80211_IFTYPE_STATION; return 0; } ..
Режим __ap преобразуется в тип netlink NL80211_IFTYPE_AP. Я также тестировал это, и это отлично работает. Странно, что документация по документации ядра не соответствует этому.