Роутер wifi linux: Наш рецепт отказоустойчивого Linux-роутера / Блог компании Флант / Хабр
Роутер на базе PC или ноутбука за пару минут / Хабр
Помните пост о временном переключении WIFI в режим точки доступа? Конечно же нет, давно было. Вот он: habrahabr.ru/blogs/linux/122876.
Сегодня речь пойдёт не о точке доступа, а о режиме работы компьютера, в котором он выступает в качестве маршрутизатора. Это может пригодится в том случае, когда есть всего одна точка выхода в интернет, а компьютеров нужно подключить несколько. Или, например, интернет раздаётся по WIFI, есть один ноутбук с WIFI, а второе устройство имеет только Ethernet-интерфейс.
Имеем
— Ноутбук с Ubuntu 11.10 и беспроводным сетевым адаптером
— Беспроводной интернет
— Комьютер с Ethernet-интерфейсом
Задача
— Получить с компьютера доступ в интернет
Решение
До недавнего времени для решения поставленной задачи я копировал скрипты из топика про точку доступа и правил их. Но частая необходимость в таком доступе превратилась новый небольшой скрипт.
Первый скрипт установит необходимые пакеты, а именно dnsmasq, которвый выступает в качестве dns/dhcp-сервера.
install.sh
#!/bin/bash
# Install dns/dhcp server
apt-get install dnsmasq
# Stop installed service
service dnsmasq stop
# Disable autostart on boot
update-rc.d dnsmasq disable
И второй скрипт, который перводит ноутбук в режим роутера и обратно.
start.sh
#!/bin/bash
INT=eth0
EXT=wlan0
INT_IP=192.168.2.2
INT_RANGE=192.168.2.10,192.168.2.50
# Start
ifconfig $INT $INT_IP
sysctl net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o $EXT -j MASQUERADE
dnsmasq -d -zi $INT -F $INT_RANGE -C /dev/null -l /tmp/dnsmasq.leases
# Stop
iptables -D POSTROUTING -t nat -o $EXT -j MASQUERADE
sysctl net.ipv4.ip_forward=0
Протестировано в Ubuntu 11.10, но может быть использовано в любом дистрибутиве, в котором доступен для установки dnsmasq.
Приятных экспериментов!
UPDATE:
Хабравчане не одобряют, переехало на Help Linux.
Обзор Wi-Fi менеджеров для Linux — /dev/mem
Оригинал: «Linux Wi-Fi Manager Roundup»
Автор: Эрик Гайер (Eric Geier)
Дата публикации: 21 октября 2008
Перевод: Н.Ромоданов
Дата перевода: сентябрь 2009 г.
Существует много Wi-Fi менеджеров для Linux
Мы поставили перед собой задачу найти, проверить на практике и оценить программы для Linux, которые помогут нам управлять Wi-Fi соединениями. Мы нашли много различных сетевых утилит. В большинстве из них в основном используется конфигурирование профиля, где хранятся все настройки подключения, такие как ключи шифрования, необходимые для восстановления соединений. В некоторых из них даже поддерживается распределение IP адресов в сети и настройка DNS. Это здорово, например, если вашей домашней сети требуется статический IP, а в вашем домашним маршрутизаторе используется DHCP сервер – информация об IP адресе сохранится в профиле каждой сети. В добавок к простым индикаторам наличия сигнала беспроводной сети, в некоторых утилитах выдаются дополнительные данные, такие как графики уровней сигнала и шума и указываются каналы, используемые беспроводными сетями.
В процессе нашего поиска мы нашли много утилит, поддерживающих сетевые соединения: NetworkManager, Wicd, KWiFiManger, WaveSelect, AP Radar, NetChoose, gWireless. Мы рассмотрим следующие из них: Network Manager, Wicd и KWifiManager.
NetworkManager
Первая сетевая утилита, которую мы рассмотрим, это утилита NetworkManager, устанавливаемая по умолчанию в Ubuntu, которая является интерфейсом как для проводных, так и для беспроводных соединений. Хотя в NetworkManager отсутствует дополнительная функциональность, такая как настройка IP адресов сети и просмотр информации о каналах, в нем есть базовые функции.
Посмотрим на рис.1.
Рис.1
Щелчок мышки по иконке, расположенной в трее, открывает окно, где будут показаны все обнаруженные Wi-Fi сети и будет перечислены операции с сетями. Если Вы щелкните мышкой по какой-нибудь из беспроводных сетей, то в случае, если нужен ключ шифрования, будет выдан запрос на ввод ключей, а затем произойдет соединение. Для сети автоматически будет создан профиль, содержащий ключи шифрования, которые Вы ввели.
Чтобы подключиться к сетям, не использующих широковещательную рассылку пакетов, или к скрытым сетям, Вы можете щелкнуть мышкой по ссылке Connect to Other Wireless Network (Подключиться к другой беспроводной сети), а затем вручную ввести имя сети (SSID) и тип используемой секретности. Если щелкните по ссылке Create New Wireless Network (Создать новую беспроводную сеть), то вдобавок Вы можете создать свою собственную сеть вида ad-hoc (без точки доступа) или прямое соединение компьютер-компьютер.
Посмотрим на рис.2.
Рис.2
Щелчок правой кнопкой мыши по иконке, расположенной в трее, позволит вам отменить /восстановить подключение к проводной или беспроводной сети. Щелчок мышкой по пункту меню Connection Information (Информация о подключении) выдаст вам детальную информацию о текущем подключении, такую как скорость передачи данных, настройку IP и аппаратный адрес (адрес MAC). Для того, чтобы просмотреть или изменить профили, созданные для сетей, к которым Вы подключаетесь, щелкните мышкой по пункту Edit Wireless Networks (Редактировать беспроводные сети). На рис.3 видно, что для каждого профиля можно изменить настройки секретности / шифрования, а для сетей с несколькими точками доступа (точки доступа AP) можно добавить MAC адреса всех точек доступа, имеющих одно и то же имя сети (BSSID).
Рис.3
Мы выяснили, что NetworkManager не требует сложных навыков работы в случае, если работа ведется с простыми сетями. Вам придется воспользоваться чем-нибудь другим в случае, если Вы работаете сразу с несколькими сетями, для каждой из которой нужна дополнительная настройка (такая, как ввод статических IP адресов), либо если вам нужен инструмент, который предоставит детализированную информации о силе сигнала и о каналах.
Утилита Wicd
Wicd – другая утилита, которая поможет вам управлять подключениями к проводным и беспроводным сетям. У нее нет зависимостей от Gnome (хотя она требует GTK) и она должна работать на любых дистибутивах Linux. Ее можно получить с ее вебсайта или взять из репозитория вашего дистрибутива. Инструкции по установке для конкретных дистибутивов можно получить по ссылке скачать Wicd.
После установки щелчком мышкой по иконке Wicd, расположенной в трее, откроем менеджер Wicd, где будем выполнять все необходимые действия. На рис.4 видно, что для каждой проводной сети и каждой сети Wi-Fi создается запись, где указывается сила сигнала (в процентах или dBm), статус шифрования и физический (MAC) адрес.
Рис.4
В каждой записи есть маленький треугольник – если щелкнуть мышкой по нему, то можно открыть детализацию так, как это, например, показано на рис.4 для сети dlink. Для беспроводных сетей вам будет показана дополнительная информация, номер канала и появятся две кнопки: кнопка конфигурирования специальных сетевых скриптов и кнопка установки таких дополнительных настроек, как статический IP адрес, адрес DNS и ключ шифрования. На рис.5 показана такая детализация: менеджер Wicd с детализированными данными о сети, окно настройки скриптов и окно дополнительных настроек. Настройки, которые Вы вводите в этих окнах, сохраняются, так что если Вы выйдите из зоны действия сети, а затем сеть будет снова обнаружена, настройки восстановятся – используется схема профиля, допускающая пропадание сети. Для проводного соединения детализированные данные будут аналогичными, но дополнительно будет присутствовать поле, в котором можно задать / выбрать различные профили для проводных адаптеров и для каждого профиля указать статический IP адрес и адрес DNS.
Рис.5
Теперь – о панели инструментов приложения. В меню Network (Сеть) имеется ссылка на подключение к скрытым беспроводным сетям и ссылка на создание сети вида ad-hoc (без точки доступа). Ясно, что с помощью кнопки Disconnect (Отключение) Вы отключитесь от сети, а с помощью кнопки Refresh (Обновить)Вы заново просканируете окружающее вас пространство и обновите список имеющихся Wi-Fi сигналов. С помощью кнопки Preferences (Настройки) Вы перейдете в режим, где Вы сможете изменить расширенные настройки утилиты. Здесь, вероятно, Вы захотите настроить глобальный DNS и переключится в режим изображения сигнала в dBm, а от остальных настроек будете держаться подальше.
Хотя в утилите Wicd предоставлены расширенные возможности, такие как настройки профиля с указанием IP, силы сигнала и канала, в ней отсутствует окно, отображающее обычные данные о соединении, такие как IP настройки и MAC адреса. Хотя для выяснения этих данных можно воспользоваться другими средствами, например, командой ifconfig -a или iwconfig.
KWiFiManager
Последняя сетевая утилита, которую мы рассмотрим, это — KWiFiManager, предназначенная для управления беспроводными соединениями. Мы выяснили, что хотя в ней отсутствует поддержка проводных сетей, она предоставляет несколько возможностей, которые делают ее достаточно полезной на сцене беспроводных сетей. Давайте продолжим и увидим все сами.
Подобно другим, утилита KWiFiManager помещает свою иконку в системный трей, однако только она показывает численное значение силы сигнала вдобавок к анимированной шкале силы сигнала. Так что Вы всегда с первого взгляда будете иметь точное представление о силе сигнала. И это на иконке. Щелкните мышкой по иконке и перейдите в KWiFiManager.
На рис.6 показано, что с помощью Scan for Networks… (Сканирование сетей…) можно открыть список ближайших к нам Wi-Fi сетей. Зная имя сети, силу сигнала и настройки шифрования, Вы можете выбрать одну из них, а затем щелкнуть мышкой по Switch to Network…. (Подключение к сети…). После этого в окошке появится скорость подключения (скорость передачи данных), имя сети или SSID, MAC адрес точки доступа и номер канала. Вдобавок слева Вы увидите анимированную шкалу силы сигнала и его числовое значение.
Рис.6
В меню File (Файл) Вы можете включать / выключать передатчик радиосигнала, а также открыть окно Connection Statistics (Статистика подключений). В этом окне в режиме реального времени изображается график сигнала и уровни шумов, если таковые имеются. В случае, если с подключением возникают проблемы, то это отличная возможность проверить наличие интерференции. Плюс эту возможность можно применить для грубой оценки состояния беспроводной сети.
В меню Settings (Настройки) имеется еще более эксцентричные возможности настроек. Когда включен режим Acoustic Scanning (Акустическое сканирование), программа издает тональные сигналы (более низкий тон при слабых сигналах и более высокий – при более мощных сигналах) с тем, чтобы помочь вам найти наилучшее «пятно» подключения, либо даже саму точку доступа. Кроме того, именно здесь Вы можете указать, что надо изображать иконку в системном трее и указывать на ней числовое значение силы сигнала.
В меню Settings (Настройки) Вы также можете запустить Configuration Editor (Конфигурационный редактор, см. Рис.7), где можно создать профили беспроводных сетей. Хотя в сравнении с другими утилитами интерфейс немного сырой и поддерживается только WEP шифрование, программа дает возможность управления по профилям. Вы можете ввести имя сети (SSID), ключи WEP, настройки адаптера, указывающие желаемую скорость передачи и мощность сигнала, а также указать скрипты, которые запустятся при успешном соединении.
Рис.7
Подытожим
Теперь Вы должны знать, что предлагают три различные сетевые утилиты Linux и как ими пользоваться. В конце нам бы хотелось рекомендовать, что новичкам в Linux и в беспроводных технологиях и тем, кто пользуется Ubuntu, может оказаться достаточно возможностей утилиты NetworkManager. Однако тем, кто пользуется несколькими беспроводными сетями, и тем, кому нужна утилита, дающая немного больше подробностей об Wi-Fi, подойдет утилита Wicd. А тем, кому нужно еще больше возможностей в беспроводных технологиях, гораздо больше подойдет KWiFiManager совместно с другими утилитами, управляющими проводными соединениями.
Программная точка доступа | Русскоязычная документация по Ubuntu
[WiFi Hostapd AP] Программа для создания точки доступа WiFi
Эта программа создана с целью облегчить создание точки доступа WiFi на основе Hostapd и DNSMASQ.
Возможности программы
Создание точки доступа в пару кликов.
Поддержка WAP3 (WPA-PSK+WPA2).
Поддержка скрытых сетей.
Готовые настройки по-умолчанию.
Поддержка 802.11 b/g/n.
Язык интерфейса: русский и английский.
Отображение статистики (трафик, клиенты).
В данный момент актуальна версия 1.1
Установка программы
$ sudo apt-add-repository ppa:ekozincew/ppa $ sudo apt-get update $ sudo apt-get install wifi-hostapd-ap
Настройка программы
У меня заработало с такими параметрами:
Также в настройках DNSMASQ’a выберите правильный интерфейс подключения к интернету, иначе у вас его не будет.
Проблемы с Network Manager
Обнаружилось, что довольно часто Network Manager мешает нормальному запуску программной точки доступа. Есть два варианта решения данной проблемы:
1) отключить Network Manager, как это сделать описано ниже в этой статье
2) запретить ему управлять WI-FI модулем. Дя этого потребуется добавить в конфигурационный файл /etc/NetworkManager/NetworkManager.conf следующие строки:
[keyfile] unmanaged-devices=mac:<здесь пишем MAC-адрес нашего wi-fi модуля>
После этого выполняем
restart network-manager
Теперь NetworkManager не управляет wi-fi модулем и не мешает нормально работать hostapd
Тема на форуме: WiFi Hosapd AP
Старый способ
Работоспособность руководства проверена на Ubuntu Server 9.10 i386 и Ubuntu Desktop 9.10 i386. При условии поддержки оборудования более старыми ядрами должно работать и на более ранних версиях.
Краткое описание руководства
В данном руководстве объясняется, как организовать программный Wi-Fi-роутер на основе Wi-Fi адаптера и компьютера под управлением Ubuntu. Все действия описаны для CLI интерфейса и подходят к воспроизведению на серверной версии дистрибутива. Если вы используете desktop версию с GUI — просто выполняйте все в терминале. Подразумевается, что вы имеете уже настроенное интернет-соединение, доступ к которому вы хотите предоставить некой локальной сети, в которую входят клиенты подключенные как через ethernet (проводная сеть), так и через Wi-Fi .
Прежде чем начать
Внимательно прочитайте этот раздел, прежде чем начнете настраивать ваш роутер.
Совместимость оборудования
В качестве точки доступа 1) в данном примере выступает обыкновенная Wi-Fi плата, которая может быть встроенной в вашу материнскую плату, или быть подключена через PCI или USB. За программную часть ТД отвечает специальный демон hostapd и драйвер самого Wi-Fi адаптера. Несмотря на достаточно хорошую поддержку беспроводного оборудования в linux, некоторые свободные реализации драйверов не обеспечивают стопроцентной поддержки своих устройств. И если в случае, когда Wi-Fi адаптер выступает в качестве клиента, большинство устройств работают хорошо, то в случае с AP-режимом 2)некоторые устройства вообще невозможно использовать в режиме точки доступа. Поэтому прежде чем начать — убедитесь, что вы настраиваете устройство, поддерживающее AP-Mode. Для этого нужно сначала узнать что это за устройство. Сделать это можно так:
$ lspci | grep Ethernet # или $ lspci | grep Wireless # или для usb адаптера $ lsusb | grep Wireless
Вывод должен быть примерно таким:
$ lspci -vnn | grep Ethernet 01:00.0 Ethernet controller [0200]: Atheros Communications Inc. AR5001 Wireless Network Adapter [168c:001c] (rev 01) 03:00.0 Ethernet controller [0200]: Attansic Technology Corp. Atheros AR8121/AR8113/AR8114 PCI-E Ethernet Controller [1969:1026] (rev b0)
В моем случае это Atheros Communications Inc. AR5001 Wireless Network Adapter [168c:001c] (rev 01)
. Теперь зная название устройства, можно посмотреть на используемый драйвер:
dmesg | grep Atheros
Ответ должен быть примерно таким:
$ dmesg | grep Atheros [23728.560014] ath5k phy0: Atheros AR2425 chip found (MAC: 0xe2, PHY: 0x70)
Где ath5k и есть используемый драйвер. Далее нужно обратиться к ресурсу wireless.kernel.org и узнать, что работает для вашего устройства, а что нет. Продолжая пример про ath5k мне нужно перейти wireless.kernel.org по вкладкам: Users → Devices → PCI devices…. и в списке Device list найти и выбрать ath5k. Затем нужно обратиться к таблице «Currently supported PCI ID list with respective status report on basic-testing as defined above» в которой по своему значению PCI ID 3) узнать, что ваш адаптер может, а что нет. Если вы обнаружили, что по той или иной причине ваш драйвер не поддерживает режим ТД — не стоит отчаиваться. В некоторых случаях, например, в случае с адаптерами от Atheros, вы можете использовать другой драйвер, например Madwifi, который скорее всего будет нормально работать в режиме ТД, но имеет ряд особенностей в настройке с hostapd .
Network Manager
На десктопных системах по умолчанию установлен менеджер сетевых соединений — NetworkManager. Его автоматическая работа может помешать процедуре настройки, поэтому настоятельно рекомендуется его отключить. Как это сделать — описано в статье Отключение Network Manager’а.
Другие интерфейсы
Перед началом настройки, убедитесь, что все остальные сетевые интерфейсы подключены и работают нормально. Если вы еще не настроили интерфейс, отвечающий за интернет соединение — самое время сделать это сейчас. Более подробно про настройку сетевых интерфейсов можно почитать тут.
Скорость передачи данных
Реальная скорость передачи данных по каналу WiFi значительно отличается от заявленных производителем, кроме того- чем больше устройств работает на одной точке доступа- тем меньше пропускная способность (канал делится на количество клиентов). Ниже приведена таблица, отображающая технические характеристики различных протоколов передачи данных интерфейса WiFi, для одного устройства.
Протокол | Используемая частота | Максимальная теоретическая скорость | Типичная скорость на практике | Дальность связи в помещении | Дальность связи на открытой местности |
---|---|---|---|---|---|
802.11b | 2.4ГГц | 11Мбит/сек | 0.4Мбайт/сек | 38 | 140 |
802.11a | 5ГГц | 54Мбит/сек | 2.3Мбайт/сек | 35 | 120 |
802.11g | 2.4ГГц | 54Мбит/сек | 1.9Мбайт/сек | 38 | 140 |
802.11n | 2.4ГГц,5ГГц | 600Мбит/сек | 7.4Мбайт/сек | 70 | 250 |
Установка необходимых пакетов и обновление
Для настройки нам понадобятся утилиты для работы с беспроводным сетевым оборудованием wireless-tools
(которые скорее всего уже установлены в вашей системе), утилиты для работы с сетевым мостом bridge-utils
, собственно сам демон ТД hostapd
, какой нибудь DHCP сервер (я предпочитаю dnsmasq
, т.к. он одновременно может выступать как DNS-форвардер и как DHCP сервер, и к тому же, обладает удобным и хорошо комментированным файлом настройки). Обязательно стоит обновить систему, т.к. скорее всего в комплекте обновления будет новое linux ядро, а с каждой новой версией ядра вы получаете и новые версии драйверов, что может заметно расширить возможности вашего адаптера. 4)
Обновляем систему:
sudo apt-get update sudo apt-get upgrade
Затем перезагружаемся:
sudo shutdown -r now
или
sudo reboot
И ставим необходимые пакеты:
sudo apt-get install wireless-tools bridge-utils hostapd dnsmasq
Настройка интерфейсов
Все инструкции в интернете, к которым я обращался в процессе написания этой статьи требуют сначала настроить сетевые интерфейсы — т.е. перевести Wi-Fi адаптер в режим точки доступа, соединить его со свободным Ethernet адаптером в мост и поднять эти интерфейсы до того, как запустится hostapd, т.е. прописать все необходимое в /etc/network/interfaces, однако, из комментариев в hostapd.conf следует, что он сам переводит беспроводной адаптер в режим ТД, и сам поднимает соединение-мост. Как правильно делать — я не знаю, однако описанный ниже способ проверен на работоспособность на двух различных конфигурациях и все хорошо работает. Мне к сожалению, не довелось настраивать ТД на основе драйверов madwifi
, которые несколько специфичны в настройке. В любом случае — эта статья в wiki разделе, если вы обладаете бОльшей информацией на эту тему — пожалуйста, не проходите мимо… [MadKox]
Настройка беспроводного интерфейса
Прежде всего вам нужно перевести беспроводной адаптер в режим точки доступа. В зависимости от драйвера вам нужно попробовать несколько способов. В принципе — адаптер переводится в режим ТД командой:
sudo iwconfig wlan0 mode Master
Где wlan0 — имя вашего беспроводного интерфейса.
Однако, в некоторых случаях, этот способ не сработает, тогда вам нужно сначала «удалить» старый интерфейс и «создать» новый, с режимом ТД. Для этого вам понадобится утилита iw
установить которую можно например так:
sudo apt-get install iw
Далее выполните:
sudo iw dev wlan0 del sudo iw phy phy0 interface add wlan0 type __ap
Где wlan0 — имя вашего интерфейса. Обратите внимание на конец второй строчки приведенной команды — _ _ a p — перед символами ap два символа подчеркивания.
Если у вас madwifi
перевод адаптера в режим ТД выглядит так:
sudo wlanconfig ath0 destroy sudo wlanconfig ath0 create wlandev wifi0 wlanmode ap sudo iwconfig wlan0 mode Master
В любом случае, после этих действий, команда iwconfig
, запущенная без параметров, должна выдать примерно следующее:
wlan0 IEEE 802.11bg Mode:Master Frequency:2.462 GHz Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Power Management:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Обратите внимание на значение Mode:Master — это значит, что адаптер работает в режиме точки доступа.
Для закрепления результата необходимо внести изменения в файл /etc/network/interfaces 5) и добавить настройки вашего беспроводного интерфейса:
iface wlan0 inet manual pre-up iw dev wlan0 del pre-up iw phy phy0 interface add wlan0 type __ap
Настройка моста
Для того, чтобы объединить вашу проводную локальную сеть с беспроводной 6) в одну — вам нужно создать сетевой мост между ними. Таким образом вы сможете подключать компьютеры-клиенты к общей сети как через Wi-Fi, так и через обычный Ethernet 7).
Для этого вам нужно отредактировать файл /etc/network/interfaces и внести в него следующие настройки:
iface br0 inet static address 192.168.0.1 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255 bridge_ports eth2 wlan0
Где: br0 — имя интерфейса-моста, eth2 — интерфейс, «смотрящий» в локальную сеть, wlan0 — беспроводной интерфейс, а самой локальной сети назначается адресация 192.168.0.0/24.
Стоит заметить, что интерфейс eth2 не нужно дополнительно описывать в файле interfaces , т.к. ifupdown разберется с ним автоматически, при включении интерфейса br0.
Итоговый interfaces
В итоге, после всех приведенных выше манипуляций вы должны были получить файл /etc/network/interfaces примерно такого содержания:
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # loopback-интерфейс auto lo iface lo inet loopback # Интернет-интерфейс. Он подключен к провайдеру. auto eth0 iface eth0 inet static address 192.168.254.35 netmask 255.255.255.0 gateway 192.168.254.1 auto wlan0 br0 # Беспроводной интерфейс iface wlan0 inet manual pre-up iw dev wlan0 del pre-up iw phy phy0 interface add wlan0 type __ap # Мост. iface br0 inet static address 192.168.0.1 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255 bridge_ports eth2 wlan0
Теперь вы можете перезапустить сеть командой:
sudo /etc/init.d/networking restart
И посмотреть, что из этого получилось при помощи ifconfig
. Если вы нигде не ошиблись — вы увидите все свои интерфейсы, в том числе не описанный в interfaces
eth2 и br0. Для просмотра информации о сетевом мосте можно использовать:
brctl show
Настройка hostapd
Теперь, когда все подготовительные действия выполнены нужно настроить собственно точку доступа — hostapd . Основной файл настроек hostapd — /etc/hostapd/hostapd.conf
. Лучше сразу создать его резервную копию, т.к. сам файл содержит большое количество подробных комментариев о настройке, и в случае, если вы что-то удалите — вы всегда сможете обратиться к оригиналу:
sudo cp /etc/hostapd/hostapd.conf /etc/hostapd/hostapd.conf.original
Файл hostapd.conf
содержит в себе список опций, которые принимают то или иное значения и все вместе влияют на конфигурацию hostapd . Каждая опция снабжена достаточно подробным комментарием 8). Вот некоторые основные опции:
Параметр | Описание | Значение по умолчанию |
---|---|---|
interface | Устройство точки доступа. Т.е. то сетевое устройство, которое является Wi-Fi адаптером. Например, wlan0 или, например, ath0 в случае madwifi. | n/a |
bridge | Если используются madwifi, atheros, или nl80211 — может быть использован дополнительный параметр — bridge. С его помощью можно сказать hostapd что используемый интерфейс включен в сетевой мост. Если параметр не задан — драйверы автоматически определят интерфейс моста. | n/a |
driver | Тип драйвера. (hostap/wired/madwifi/test/none/nl80211/bsd). nl80211 для всех «Linux mac80211 drivers». madwifi для madwifi (кто бы мог подумать?) Если задать none — hostapd будет работать как выделенный RADIUS сервер, не управляя каким либо интерфейсом. | hostap |
logger_syslog logger_syslog_level logger_stdout logger_stdout_level | Опции журналирования. Два метода вывода сообщений: syslog и stdout (последний полезен только в случае простого запуска hostapd — не в режиме демона). Возможные значения: -1 = все модули. 0 = IEEE 802.11 1 = IEEE 802.1X 2 = RADIUS 3 = WPA 4 = driver interface 5 = IAPP 6 = MLME Уровни журналов: 0 = verbose debugging 1 = debugging 2 = informational messages 3 = notification 4 = warning | logger_syslog=-1 logger_syslog_level=2 logger_stdout=-1 logger_stdout_level=2 |
ssid | SSID (имя точки доступа) | test |
country_code | Country code (ISO/IEC 3166-1). Используется для установки региональных ограничений. Задает страну, в которой работает точка доступа. В зависимости от выбранной страны может влиять на количество и номера доспупных каналов и мощность сигнала. | US |
ieee80211d | Включить IEEE 802.11d (Интернациональные роуминговые расширения (2001)). В зависимости от параметра country_code задает список доступных каналов и устанавливает мощность сигнала на основе ограничений, действующих в этой стране. | 0 = выключено |
hw_mode | Режим работы. (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g) | b |
channel | Номер канала (IEEE 802.11). Стоит заметить, что некоторые драйверы (например madwifi) не используют это значение из hostapd и в таком случае канал должен быть задан отдельно через утилиту iwconfig. | 0, т.е. не задан |
macaddr_acl accept_mac_file deny_mac_file | Аутентификация на основе MAC адресов клиентских станций. Cтоит заметить, что подобный вид аутентификации требует драйвер, использующий hostapd для управления обработки кадров, т.е. это может быть использовано с driver=hostap или driver=nl80211, но не с driver=madwifi. 0 = принимать клиента, если его нет в «черном списке» 1 = отклонять клиента, если его нет в «белом списке» 2 = использовать внешний RADIUS сервер. (черные/белые списки обрабатываются первыми). Черные/белые списки читаются из отдельных файлов (которые содержат MAC адреса — по одному на строку). Необходимо указывать абсолютный путь. | macaddr_acl=0 accept_mac_file=/etc/hostapd.accept deny_mac_file=/etc/hostapd.deny |
auth_algs | IEEE 802.11 описывает 2 алгоритма аутентификации. hostapd может работать с обоими. «Открытая система» (Open system authentication) должна быть использована с IEEE 802.1X. Значения: 0 = Open System Authentication 1 = Shared Key Authentication (требуется WEP) | 3 |
ignore_broadcast_ssid | Посылать пустое поле SSID в широковещательных сообщениях и игнорировать запросы от клиентов, запрашивающие имя ТД. Т.е. то, что в Wi-Fi роутерах называется «скрывать точку доступа» — клиент должен знать SSID для соединения. 1 = посылать пустой (length=0) SSID и игнорировать probe запросы на имя ТД. 2 = очистить SSID (ASCII 0), но сохранить оригинальную длину поля (требуется для некоторых клиентов, которые не поддерживают пустой SSID) и игнорировать probe запросы. | выключено (0) |
ap_max_inactivity | Лимит неактивности клиентской станции. Если клиент ничего не передает в течение времени, указанном в ap_max_inactivity (секунды), посылается пустой дата-фрейм клиенту с целью проверки «А доступен ли он еще?» (Например, клиент мог покинуть зону покрытия ТД). Если на запрос на было ответа (ACK), станция клиента отключается (сначала деассоциируется, затем деаутентифицируется). Эта функция используется для очистки таблицы активных станций от старых («мертвых») записей. | 300 (т.е., 5 минут) |
wpa | Опции WPA. Указание этого параметра требуется чтобы заставить ТД требовать от клиентов WPA аутентификации. (WPA-PSK или WPA-RADIUS/EAP). Для WPA-PSK, нужно указать wpa_psk или wpa_passphrase и включить WPA-PSK в wpa_key_mgmt. Для WPA-RADIUS/EAP, дожен быть настроен ieee8021x (без динамических WEP ключей), должен быть сконфигурирован RADIUS сервер и включено WPA-EAP в wpa_key_mgmt. Возможные значения: 0 = без WPA/WPA2 (не рекомендуется) 1 = WPA (не рекомендуется) 2 = IEEE 802.11i/RSN (WPA2) — на сегодня безопаснее всего. 3 = разрешена как WPA, так и WPA2 аутентификация | 1 |
wpa_psk wpa_passphrase wpa_psk_file | Ключи WPA для WPA-PSK. Могут быть заданы как 256-битным ключем в шестнадцатиричном формате (64 hex digits), так и в виде wpa_psk (в виде ASCII фразы 8..63 символа). В полседнем случае фраза будет сконвертирована в PSK, при этом используется SSID, таким образом, PSK меняется каждый раз когда меняется SSID. Дополнительно, есть возможность счтывать WPA PSK из файла, содержащего список MAC адресов и PSK (по паре MAC — PSK на строку). Таким образом можно настроить несколько PSK. Нужно указывать абсолютный путь до файла с ключами. | n/a n/a /etc/hostapd.wpa_psk |
wpa_key_mgmt | Список принимаемых алгоритмов управления ключами. (WPA-PSK, WPA-EAP, или оба). Записи разделются проблами. Можно использовать WPA-PSK-SHA256 и WPA-EAP-SHA256 для# более стойких алгоритмов, основанных на SHA256. | WPA-PSK WPA-EAP |
wpa_pairwise rsn_pairwise | Набор принимаемых алгоритмов шифрования. Разделенный пробелами список алгоритмов: CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0] TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0] | Парные алгоритмы шифрования для WPA (v1) (по умолчанию: TKIP) wpa_pairwise=TKIP CCMP Парные алгоритмы шифрования для RSN/WPA2 (по умолчанию: используется значение wpa_pairwise) rsn_pairwise=CCMP |
Пример конфигурационных файлов для точки доступа со скрытым SSID и авторизацией WPA2 на основе MAC адресов клиентских станций:
hostapd.conf
interface=wlan0 bridge=br0 driver=nl80211 hw_mode=g channel=11 logger_syslog=-1 logger_syslog_level=2 logger_stdout=-1 logger_stdout_level=2 debug=0 dump_file=/tmp/hostapd.dump ctrl_interface=/var/run/hostapd ctrl_interface_group=0 ssid=Ubuntu ignore_broadcast_ssid=1 auth_algs=3 eapol_key_index_workaround=0 eap_server=0 wpa=3 wpa_psk_file=/etc/hostapd/wpa_psk wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP
/etc/hostapd/wpa_psk
# Мой ноут: 00:0A:1B:2C:3D:4E my_big_secret # Все остальные: 00:00:00:00:00:00 secret_password_for_everyone # А удобно, правда?
Теперь, когда мы настроили hostapd самое время установить его на автоматический запуск при загрузке системы. Для этого нужно отредактировать файл /etc/default/hostapd
9)и изменить закомментированные строки на:
RUN_DAEMON="yes" DAEMON_CONF="/etc/hostapd/hostapd.conf"
Настройка общего доступа
После перезагрузки компьютера мы сможем «увидеть» свою точку доступа, однако вряд ли сможем подключиться к ней, т.к. нам пока никто не может раздать сетевые параметры и доступ к интернету. Поэтому необходимо выпонить ряд общих действий, не связанных в принципе с Wi-Fi, но необходимых для разделения одного интернет-канала на несколько компьютеров.
Настройка iptables и ip форвардинга
В GNU/Linux в общем и в Ubuntu в частности присутствует замечательный программный файерволл, работающий на уровне ядра операционной системы — Netfilter . Существует утилита, под названием iptables , служащая для управления netfilr’ом и позволяющая достаточно тонко настроить правила проходжения пакетов через шлюз. Более подробно см. в соответствующей статье (скоро будет). Для настройки фаерволла в нашем случае нужно создать скрипт, например, в /etc/firewall/iptables
10) и вставить в него следующий текст:
#! /bin/sh # ####################### # Настройка интерфейсов ####################### # Internet (Поменяйте на ваш интернет-интерфейс) Inet_Interface="eth0" # Lan (поменяйте на ваш интерфейс сетевого моста) Lan_Interface="br0" # Lo (локальный интефейс - петля) Lo_Interface="lo" # Описываем путь до iptables IPT="/sbin/iptables" # Очищаем текущие правила (если вдруг есть какие-то правила) $IPT -F $IPT -t nat -F $IPT -t mangle -F $IPT -X $IPT -t nat -X $IPT -t mangle -X # Задаем политики по умолчанию $IPT -P INPUT DROP $IPT -P FORWARD DROP $IPT -P OUTPUT DROP # Создаем цепочку для обработки неправильных пакетов. # bad_packets $IPT -N bad_packets $IPT -A bad_packets -p tcp --tcp-flags SYN,ACK SYN,ACK \ -m state --state NEW -j REJECT --reject-with tcp-reset $IPT -A bad_packets -p tcp ! --syn -m state --state NEW \ -j LOG --log-prefix "New not syn:" $IPT -A bad_packets -p tcp ! --syn -m state --state NEW -j DROP # Создаем цепочку для обработки входящих (из интернета) tcp соединений. # tcp_p $IPT -N tcp_p # Чтобы, например, разрешить подключаться к нашему шлюзу из интернета по ssh: ##ssh="22" ##ssh_ip_allowed="0/0" ##$IPT -A tcp_p -p tcp -s $ssh_ip_allowed --dport $ssh -j ACCEPT $IPT -A tcp_p -p tcp -s 0/0 -j DROP # Создаем цепочку для обработки входящих (из интернета) udp соединений. # udp_p $IPT -N udp_p $IPT -A udp_p -p udp -s 0/0 -j DROP # Создаем цепочку для обработки входящих (из интернета) icmp соединений. # icmp_p $IPT -N icmp_p # Разрешаем "пинговать" наш шлюз из интернета: $IPT -A icmp_p -p icmp -s 0/0 --icmp-type 8 -j ACCEPT $IPT -A icmp_p -p icmp -s 0/0 --icmp-type 11 -j ACCEPT $IPT -A icmp_p -p icmp -s 0/0 -j DROP # Цепочка INPUT $IPT -A INPUT -p tcp -j bad_packets $IPT -A INPUT -p all -i $Lan_Interface -j ACCEPT $IPT -A INPUT -p all -i $Lo_Interface -j ACCEPT $IPT -A INPUT -p all -i $Inet_Interface -m state --state \ ESTABLISHED,RELATED -j ACCEPT $IPT -A INPUT -p tcp -i $Inet_Interface -j tcp_p $IPT -A INPUT -p udp -i $Inet_Interface -j udp_p $IPT -A INPUT -p icmp -i $Inet_Interface -j icmp_p # Цепочка FORWARD $IPT -A FORWARD -p tcp -j bad_packets $IPT -A FORWARD -p all -i $Lan_Interface -j ACCEPT $IPT -A FORWARD -p all -i $Lo_Interface -j ACCEPT $IPT -A FORWARD -p all -i $Inet_Interface -m state \ --state ESTABLISHED,RELATED -j ACCEPT # Цепочка OUTPUT $IPT -A OUTPUT -p tcp -j bad_packets $IPT -A OUTPUT -p all -o $Inet_Interface -j ACCEPT $IPT -A OUTPUT -p all -o $Lan_Interface -j ACCEPT $IPT -A OUTPUT -p all -o $Lo_Interface -j ACCEPT # Цепочка POSTROUTING (таблица nat) $IPT -t nat -A POSTROUTING -o $Inet_Interface -j MASQUERADE # Включаем перенаправление ipv4. echo "1" > /proc/sys/net/ipv4/ip_forward echo "Firewall started" exit 0
Далее нужно сделать этот скрипт исполняемым:
sudo chmod +x /etc/firewall/iptables
И установить его на автоматический запуск при инициализации сетевых служб:
sudo ln -s /etc/firewall/iptables /etc/network/if-up.d/firewall
Настройка dnsmasq
Теперь осталось только настроить DHCP сервер для автоматической выдачи IP адресов клиентам и форвардинг DNS запросов из нашей сети (чтобы не пришлось прописывать DNS адреса на каждой машине, а можно было пользоваться локальным адресом шлюза в качестве DNS сервера). Для этой цели замечательно подходит dnsmasq . Нужно открыть файл его конфигурации 11) — /etc/dnsmasq.conf
и поменять параметры:
# Не обрабатывать адреса не содержашие доменной части. domain-needed # Не перенаправлять адреса, ведущие в немаршрутизируемое адресное пространство. bogus-priv # Ограничить работу dnsmasq определенным интерфейсом interface=br0 # Включить DHCP сервер и задать диапазон назначаемых адресов. dhcp-range=192.168.0.10,192.168.0.255,12h
Теперь можно перезагрузить шлюз и попытаться соединиться с ним по Wi-Fi или через Ethernet. Если по какой-то причине что-то не работает — внимательно перечитайте руководство и поищите ошибки в ваших конфигурационных файлах. Не забудьте, что если вы используете скрытый SSID вашей точки доступа — она не будет отображаться в списке доступных беспроводных сетей на машинах клиентов — в этом случае вам необходимо вручную указать SSID при подключении.
Как улучшить эту статью
Было бы просто замечательно, если бы кто-то попробовал прогнать это руководство на madwifi
устройствах и описал возможные различия в необходимых настройках.
И см. заметку в главе про настройку оборудования.
UPD: А еще было бы неплохо описать различные утилиты внешнего управления hostapd и их настройку.
Прокомментируйте настройку eth0 в /etc/network/interfaces. Какой тип подключения подразумевается под этим интерфейсом? Что делать, если для связи с Интернетом требуется авторизация по VPN?
Ссылки
Обзор альтернативных прошивок домашних роутеров — «Хакер»
Содержание статьи
Возможности стандартных прошивок часто не удовлетворяют всем требованиям пользователей. Кому-то надо качать торренты, кому-то необходим DLNA/VoIP/принт-сервер, а кто-то просто любит экспериментировать. Во всех этих случаях можно поставить ту или иную прошивку, а если ни одна из них не подходит, то и собрать ее самому.
Введение
SOHO-роутеры у большинства обычных пользователей, как правило, ставятся по принципу «настроил и забыл». Основное их предназначение в раздаче интернета для домашней сети, однако в отдельных случаях возникает необходимость в чем-нибудь более экзотическом, к примеру — в файловом сервере. В стандартных прошивках таких возможностей может и не быть. Но, поскольку ПО абсолютного большинства современных роутеров для домашнего использования (исключая, быть может, Huawei, где используется ОС собственной разработки) основано на ядре Linux, а некоторые фирмы в свое время даже открыли часть исходников, не исключено, что для твоего роутера существуют и кастомные прошивки, в одной из которых может найтись столь желанная возможность — как знать? А если даже и не найдется, то при некоторых усилиях ты можешь эту возможность добавить самостоятельно.
WARNING
Будь внимателен! Неправильная прошивка роутера может превратить его в бесполезный кусок железа и пластмассы.
На данный момент наиболее популярными прошивками считаются следующие:
- OpenWRT — пожалуй, самая известная из альтернативных прошивок. Возможности ее включают, например, ФС с функцией записи (как правило, реализуется путем создания раздела jffs2 и использования overlayfs для объединения со squashfs), пакетный менеджер opkg с репозиторием, в котором более 3000 пакетов, способностью использовать внешний накопитель для увеличения свободного пространства в /. При этом основная часть прошивки очень маленькая. Фактически это даже не прошивка, а полноценный дистрибутив для роутеров с соответствующими возможностями.
- DD-WRT — тоже достаточно популярная прошивка. В отличие от предыдущей, заточена для тех, кто не хочет ковыряться в конфигурационных файлах, устанавливать программы… Разумеется, там есть возможность это сделать, но придется столкнуться с некоторыми затруднениями.
- Tomato предназначена для роутеров на чипе Broadcom. Одно из преимуществ данной прошивки — при обновлении сохраняется старая конфигурация.
- LibreWRT — совершенно свободная прошивка от FSF. Как водится, отпочковалась от OpenWRT и практически ничем, кроме отсутствия проприетарных драйверов, от последней не отличается. Примечательна тем, что из-за нее FSF немного изменил свои принципы: если до этого одним из условий «свободы» была необходимость иметь возможность компиляции приложения на том же устройстве, на котором оно запускается, то теперь это необязательно.
Разумеется, в списке упомянуты не все прошивки, но их настолько много, что всех и не упомнишь. Дальше я буду рассматривать роутер TP-LINK TL-WDR4300 и прошивку OpenWRT, как наиболее гибкую.
Прошивка TP-LINK TL-WDR4300 из «родного» firmware
Установка и начальная конфигурация OpenWRT
Первым делом необходимо прошить роутер. В моем случае в этом не было ничего сложного, главное — выбрать правильный вариант прошивки. Для этого необходимо внимательно смотреть на название — для обновления со стоковой прошивки TP-LINK я использовал файлopenwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin
. В названии закодированы семейство чипсетов (ar71xx), конфигурация ядра (generic), название и версия аппаратной части роутера, тип ФС и для какой именно цели предназначен образ — прошивка с нуля (factory) или обновление существующей OpenWRT (sysupgrade). Ни в коем случае не используй sysupgrade для установки со стоковой прошивки — так ты просто превратишь роутер в кирпич. И вообще, поскольку для каждого роутера все индивидуально, читай внимательно соответствующий сайт.
Но вот ты прошил роутер и при этом умудрился его не окирпичить. Заходи по Telnet (адрес по умолчанию 192.168.1.1) и настраивай WAN. У меня он довольно долго не подключался, и пришлось разбираться с этим вопросом. Оказалось, что некоторые провайдеры (в частности, ТТК, к которому я подключен), кроме проверки по MAC-адресу, требуют еще и совпадения с этим MAC-адресом ClientID. В итоге я использовал следующие команды (здесь и далее, чтобы не путаться, где именно исполнять команды — на компе или на роутере, роутер будет обозначаться как openwrt#):
openwrt# uci set network.wan.proto=dhcp
openwrt# uci set network.wan.broadcast=1
openwrt# uci set network.wan.macaddr=09:aa:bb:cc:dd:ee
openwrt# uci set network.wan.clientid=0109aabbccddee
openwrt# uci commit network
openwrt# /etc/init.d/network restart
UCI (United Configuration Interface) представляет собой попытку сделать унифицированные файлы (и средства) конфигурации. Все настройки UCI хранятся в каталоге /etc/config
. Для тех служб, которые используют свои файлы конфигурации, скрипты OpenWRT при запуске генерируют их на основе шаблона и файла UCI — так, например, сделано с Samba. Да, возможно, это уменьшает гибкость, зато в большинстве случаев упрощается конфигурирование тех или иных параметров, путем ли редактирования файлов конфигурации (с использованием vi) или же используя утилиту uci.
Вернемся к командной строке. Что делают первые три команды, в общем-то, ясно: первая устанавливает протокол (возможно выбрать статический IP, PPP, PPPoE, L2TP и еще несколько менее используемых вариантов), вторая устанавливает флаг broadcast в пакете dhcp, третья устанавливает MAC-адрес для интерфейса. Четвертая команда устанавливает поле ClientID в пакете dhcp (option 61) равным MAC-адресу. Последние две команды используются для сохранения изменений и перезапуска сети.
После этого (и после обязательной проверки работоспособности) я бы посоветовал поставить веб-интерфейс, так как базовые настройки с ним реально проще рулить. Для OpenWRT таковых существует как минимум две. Поставим LuCI — де-факто стандартный веб-интерфейс:
openwrt# opkg update
openwrt# opkg install luci
openwrt# /etc/init.d/uhttpd enable
openwrt# /etc/init.d/uhttpd start
И ставим пароль root.
openwrt# passwd
Замечу, что после установки пароля ты уже не сможешь использовать Telnet, только SSH. Теперь зайди в веб-интерфейс и настрой необходимые тебе параметры.
В общем-то, на этом настройку роутера можно и закончить. Однако я не нахожу особого смысла перешивать роутер, если ты не будешь использовать дополнительные возможности прошивки. Поэтому идем дальше…
Веб-интерфейс OpenWRT
Создание extroot
Extroot необходим для того, чтобы у роутера было больше свободного места, — разумеется, за счет подключения внешнего накопителя, такого как флешка. Существует два типа создания extroot — перемещая на накопитель только оверлей и перемещая корень целиком. Сказать по правде, во втором варианте смысла мало — оверлей в роутере в любом случае используется, поэтому будем разбирать первый метод. Но и у него есть две версии. Поскольку я рассматриваю наиболее свежую стабильную версию OpenWRT, то и способ тоже будет соответствовать. На более старых ревизиях он, однако, может не работать. Ставим пакеты:
openwrt# opkg update
openwrt# opkg install block-mount kmod-usb-storage kmod-scsi-generic kmod-fs-ext4 e2fsprogs
Запиши текущий вывод команды mount — он тебе еще пригодится в дальнейшем.
После этого подготовь и подмонтируй флешку (ее ты можешь отформатировать в ext3 как на настольном Linux, так и в самом OpenWRT) и клонируй на нее текущий оверлей:
openwrt# mkdir /mnt/flash_overlay
openwrt# mount /dev/sda1 /mnt/flash_overlay
openwrt# tar -C /overlay -cvf - . | tar -C /mnt/flash_overlay -xf -
Только после этого ты можешь редактировать файл /etc/config/fstab
, записывая в него параметры для использования extroot:
<...>
config mount
option target /overlay
option device /dev/sda1
option fstype ext3
option options rw,sync
option enabled 1
option enabled_fsck 0
После этого перезагрузись. Если тебе необходимо вернуть все обратно, ты находишь в ранее записанном выводе команды mount оригинальное устройство с оверлеем, монтируешь его и ставишь в файле etc/config/fstab
на смонтированном старом оверлее option enabled в 0.
Редактирование файла /etc/config/fstab для включения extroot
Качаем торренты и настраиваем Samba
Раз уж роутер практически не выключается и места для установки стороннего ПО в нем теперь достаточно, грех не использовать его в качестве загрузчика торрентов. Но сперва нужно настроить файлообмен. Поскольку сеть у меня гетерогенная, выбор пал на Samba.
openwrt# opkg update
openwrt# opkg install samba36-client samba36-server luci-app-samba
openwrt# rm /tmp/luci-indexcache
В задачи статьи не входит детальное описание настройки Samba, а с веб-интерфейсом ты способен разобраться и сам. Несколько замечаний, однако, стоит сделать. Во-первых, на вкладке Edit template вместо «security = user» стоит написать (хотя бы для начала) «security = share», во-вторых — дай гостевой доступ к расшаренным папкам, в-третьих — смени владельца расшариваемого каталога на nobody и, наконец, не забудь запустить саму службу:
openwrt# /etc/init.d/samba enable
openwrt# /etc/init.d/samba start
Теперь перейдем к настройке торрент-клиента. В качестве его будет выступать transmission — не в последнюю очередь из-за того, что он поддерживает веб-интерфейс. Установка его стандартна:
openwrt# opkg update
openwrt# opkg install transmission-daemon transmission-web
Рассмотрим наиболее важные опции файла конфигурации /etc/config/transmission
:
config transmission
<...>
# Включает демон
option enabled '1'
# Каталог генерируемого конфига
option config_dir '/etc/transmission'
# Пользователь, от которого запускается демон. Поскольку гостевой пользователь Samba — nobody, то ставим его и здесь
option user 'nobody'
# Каталог хранения загруженных файлов
option download_dir '/home/storage/torrents/done'
# Каталог недокачанных файлов
option incomplete_dir '/home/storage/torrents/incompl'
<...>
После этого ставим его в автозапуск и стартуем.
openwrt# /etc/init.d/transmission enable
openwrt# /etc/init.d/transmission start
Заходим в веб-интерфейс, по умолчанию находящийся на порту 9091, грузим торрент-файл и наслаждаемся.
ФС, используемые в роутерах
Из-за особенностей (и, как правило, малого объема) флеш-памяти, в основном и применяемой в роутерах, для них не подходят ФС для настольных компьютеров. Поэтому кратко опишу различия двух основных файловых систем, в них используемых.
- SquashFS — только для чтения. Поддерживает сжатие, что немаловажно для систем с ограниченным объемом флеш-памяти.
- JFFS2, в отличие от SquashFS, рассчитана на чтение/запись. Также поддерживает сжатие, но в меньшей степени. Журналируемая.
В случае OpenWrt эти две ФС разнесены по разным mtd-разделам и монтируются хитрым образом. Сперва SquashFS монтируется в /rom, а JFFS2 в /overlay. Затем с помощью overlayfs эти две ФС объединяются в одну и при попытке изменения файла в SquashFS изменяет его в JFFS3, обеспечивая таким образом поддержку не только чтения/записи, но и возможность загрузки в безопасном режиме для восстановительных работ.
Краткий обзор DD-WRT
DD-WRT необходимо шить с оригинальной заводской прошивки — возможность прошить из-под OpenWrt не предусмотрена. После прошивки и перезагрузки мы обнаруживаем в браузере требование сменить пароль. Оно, конечно, правильно, но непонятно — зачем скрывать под звездочками еще и имя пользователя. Установили его и сразу автоматически переходим на вкладку Status -> Sys-Info, где видим, что все отключено. Как только мы пытаемся перейти на другую вкладку, у нас спрашивают пароль. Беглый обзор вкладок дал следующую информацию о доступном ПО:
- Samba и ProFTPD;
- OpenVPN и PPTP;
- nstx — позволяет создавать туннель IP over DNS, что позволяет в некоторых случаях использовать роутер как «окно» в интернет, если ты подключаешься через какую-нибудь платную точку доступа, а денежки тебе жаль;
- несколько вариантов HotSpot-серверов — для того случая, если ты желаешь организовать свой хотспот;
- SIP-прокси.
Чтобы включить доступ к optware (дополнительному ПО), придется повозиться. Замечу, что в некоторых версиях прошивки есть раздел JFFS2, а в некоторых нет, так что лучше для этой цели использовать флешку. DD-WRT подходит тому, кто хочет быстро получить доступ к отдельным функциям, которые в большинстве роутеров отсутствуют, но не желает заморачиваться с установкой дополнительного ПО. В общем-то, его возможности покрывают процентов 90 пользователей альтернативных прошивок. Те же, у кого потребности слишком специфичны или кто желает получить больший контроль над роутером, вполне могут разобраться и с другими прошивками.
Веб-интерфейс DD-WRT
Настройка DLNA-сервера
Да, твой роутер может выступать и в этом качестве. Если коротко, DLNA-сервер раздает различный медиаконтент в сети. Многие современные мультимедиаустройства, такие как телевизоры, игровые приставки, музыкальные центры и Blu-ray-плееры, поддерживают этот стандарт. В OpenWRT есть minidlna — легковесный и несложный в настройке DLNA-сервер, который мы сейчас и установим:
openwrt# opkg update
openwrt# opkg install minidlna
Файл конфигурации находится в стандартном для UCI-конфигов месте —/etc/config/minidlna
. Разберем его основные параметры:
# Не опечатка — действительно зачем-то повторяется
config minidlna config
<...>
option enabled '1'
# Какой интерфейс слушаем
option interface 'br-lan'
# Каталог БД minidlna и логи
option db_dir '/home/storage/minidlna/db'
option log_dir '/home/storage/minidlna/log'
# Каталоги с медиафайлами
list media_dir 'A,/home/storage/audio'
list media_dir 'V,/home/storage/video'
list media_dir 'P,/home/storage/photo'
<...>
В принципе, после этого minidlna можно уже запускать, предварительно скопировав медиафайлы в нужные папки.
openwrt# /etc/init.d/minidlna enable
openwrt# /etc/init.d/minidlna start
Однако есть небольшой нюанс. Захотел ты добавить музыку или видео, скопировал — а на плеере она не появилась. Дело здесь в том, что по умолчанию minidlna использует inotify, который по загадочным причинам в нем не работает. Чтобы обновить список, необходимо остановить запущенный демон и произвести ручное сканирование, набрав следующую команду:
openwrt# minidlna -R -f /tmp/minidlna.conf
Сборка своего собственного образа OpenWRT
Если тебя по какой-то причине не устраивает стандартный образ OpenWRT, то можно собрать свой, для чего необходимо получить тулчейн и OpenWRT Buildroot. Прежде всего установим соответствующие пакеты:
$ sudo apt-get install subversion build-essential git-core libncurses5-dev zlib1g-dev gawk
Собирать мы будем текущую нестабильную версию OpenWRT и материалы (feeds). Скачаем их.
$ mkdir openwrt && cd $_
$ svn co svn://svn.openwrt.org/openwrt/trunk/
$ cd trunk
$ ./scripts/feeds update -a && ./scripts/feeds install -a
После этого проверим зависимости — мало ли, вдруг какой-нибудь необходимый для сборки пакет не установлен.
$ make prereq
Сборка необходимых инструментов
Если все нормально, можем конфигурировать образ. Для чего вводим
$ make menuconfig
И выбираем, точно так же, как и при конфигурации ядра, нужные тебе вещи. Единственное отличие от «ядерного» menuconfig — звездочка означает, что объект будет встроен в образ, а M — что будет доступен в виде пакета ipk, который позже можно будет установить отдельно. Сильно увлекаться, однако, не советую — помни о том, что места на внутренней флеш-памяти не просто мало, а очень мало.
В основном процесс конфигурирования включает в себя следующие шаги:
- Выбор конкретной целевой системы и профиля. Их необходимо указывать как можно точнее — если укажешь неправильно, ты рискуешь превратить роутер в кирпич.
- Выбор пакетов. Здесь действует правило — чем меньше ты встроишь их в образ, тем лучше. Поэтому выбирай только самые необходимые. Я бы посоветовал включить LuCI.
- Настройки сборки. Тут ты можешь разве что в разделе Global build settings включить/выключить IPv6. В Advanced configuration options стоит лезть, только когда ты четко знаешь, для чего, к примеру, служит та или иная опция GCC, достаточна ли мощность процессора для включения защиты стека и так далее.
- Выбор модулей ядра. Тут те же самые рекомендации, что и при выборе пакетов. Загляни в секцию USB Support и включи опцию kmod-usb-storage. Остальные включай по желанию.
Если же тебе зачем-то понадобится подправить ядерный конфиг, используй
$ make kernel_menuconfig
Выбор опций при сборке кастомной прошивки
Учти, что если ты потом сделаешь очистку, то конфиг ядра не очистится. Для его очистки набери
$ svn revert -R target/linux/
После всего этого можешь смело набирать команду
$ make
для сборки образа. Это займет длительное время, по истечении которого в каталоге bin/
появятся файлы образа.
Существует несколько путей для того, чтобы залить прошивку. Самый легкий из них — через веб-интерфейс, и описывать его я смысла не вижу. Второй способ — использовать утилиту scp на хостовом компьютере вкупе с mtd на роутере для залития образа и его прошивки. Поскольку сейчас стоит уже OpenWRT, то можно прошивать как factory-, так и sysupgrade-образ. В моем случае команды были такими:
$ scp bin/ar71xx/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin [email protected]:/tmp
openwrt# mtd -r write /tmp/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin firmware
Вторая команда шьет (write) свежескачанную прошивку в раздел, именуемый firmware, и вслед за этим роутер перезагружается (-r). В случае обновления OpenWRT со стабильной версии до текущей я бы советовал не восстанавливать сохраненную конфигурацию, а настроить все заново — у меня по каким-то причинам старые конфиги не подошли к свежескомпилированной версии.
Копирование прошивки в роутер
Безопасность альтернативных прошивок
В плане безопасности со стороны всяческих атак на сервисы из интернета роутеры нынче защищены по умолчанию. Тем не менее расслабляться не следует. Опишем несколько возможных векторов атак на роутеры с альтернативной прошивкой.
- Отсутствие пароля в OpenWRT. И если в веб-интерфейсе (который обычно еще нужно устанавливать) хоть как-то предупреждают об этом, то при заходе по Telnet молчат. Хотя можно было бы написать скрипт, который требовал бы установки пароля, а после его установки отключал Telnet как таковой.
- Отсутствие тайм-аута при неправильных попытках ввода пароля. В домашней сети это вроде и ни к чему… но можно подцепить малварь, которая атакует роутер и перешивает его. Пользователь может долгое время не подозревать, что он в ботнете, — и даже переустановка ОС, понятно, ничего не даст.
- Отсутствие проверки подлинности пакетов в OpenWRT. Пакеты ipk не имеют цифровой подписи. В том случае, если репозиторий будет скомпрометирован (или хотя бы произойдет подмена DNS-адреса), это будет чревато заражением роутеров малварью.
- В DD-WRT Wi-Fi по умолчанию включен и никак не шифруется, что само по себе рискованно, а при выключенном SSH рискованно вдвойне.
В общем-то, некоторыми из этих потенциальных уязвимостей страдают и стоковые прошивки роутеров. Тем не менее разработчикам альтернативных прошивок стоит озаботиться данным вопросом — думается, что подобные цели могут стать наиболее вкусными для разработчиков малвари из-за их слабой защищенности.
Заключение
Альтернативные прошивки дают большую свободу для пользователей. Некоторые из них, такие как DD-WRT, Tomato, прошивка от Олега, заточены под нужды большинства — в них есть поддержка NAS, VPN, есть принт-серверы… Другие же (Open/LibreWRT) содержат минимально необходимые возможности, но при этом позволяют их расширять и затачивать под свои нужды. Возможно, прочитав эту статью, ты захочешь стать одним из разработчиков прошивок, благо область довольно новая и толком до конца не освоенная. Дерзай.
Выбираем бюджетный адаптер для взлома Wi-Fi — «Хакер»
Содержание статьи
Вардрайвинг (обнаружение и взлом точек доступа Wi-Fi) требует специального оборудования. Но разоряться на профессиональные устройства вовсе не обязательно. Среди серийно выпускаемых адаптеров Wi-Fi тоже попадаются пригодные модели. Чтобы превратить их в хакерские девайсы, иногда требуются некоторые манипуляции. Я расскажу, как выбрать такое устройство, где его купить и что с ним делать дальше.
Внешние Wi-Fi-адаптеры для вардрайвинга
Каждый год на сайте WirelessHack публикуется список лучших Wi-Fi-адаптеров для вардрайвинга и обсуждается их совместимость с Kali Linux. Однако в последнее время этот перечень стал терять свою значимость. Причина проста: проверенные модели устройств исчезают из продажи. Вместо них появляются удешевленные версии, а то и вовсе выходят новые ревизии с другими чипами. Название модели часто остается прежним, а вот ее свойства — нет. Кроме того, самые популярные адаптеры начинают подделывать, и распознать это не так-то просто. Составители списка не могут проверять каждый девайс сами. Мы же попробуем частично восполнить этот пробел и описать испытанную методику выбора.
Пара адаптеров для вардрайвинга
Современные чипы беспроводной связи занимают площадь в четверть квадратного сантиметра и меньше. Поэтому адаптеры на их основе выпускаются в разных миниатюрных форм-факторах. Они могут быть распаяны на ноутбучной карточке Mini PCI, модуле формата M.2 (NGFF) или выполнены в виде карты расширения PCMCIA. Нас же интересует более универсальный вариант: внешний адаптер c интерфейсом USB, который можно подключить к чему угодно.
WARNING
Роскомнадзор разъясняет, что использование Wi-Fi-адаптеров с мощностью излучения передатчика более 100 мВт требует регистрации в соответствии с п. 2 ст. 22 Федерального закона от 07.07.2003 № 126-ФЗ «О связи» и Постановлением Правительства РФ от 12 октября 2004 года № 539 (с изм.).
Среди таких адаптеров модели с интерфейсом USB 3.1 и 3.0 пока еще большая редкость. Основная масса по-прежнему выпускается с портом USB 2.0. Ограничения по скорости передачи шины (480 Мбит/с) делают такие адаптеры малопригодными для атак на точки доступа (AP) стандарта 802.11ac. Хорошо хоть, большинство AP сегодня одновременно вещают и по стандартам b/g/n, что оставляет широкий простор для вардрайвинга.
Зачем покупать отдельный адаптер, если сегодня в любом ноутбуке и планшете есть встроенный модуль Wi-Fi? Проблема в том, что обычно он оказывается бесполезен для пентестов, поскольку его чип нельзя переключить в режим мониторинга и тем более использовать для инжектирования пакетов. Это возможно только с теми чипами, для которых написаны открытые драйверы (нативные или бэкпорты). В Linux (включая Kali) их подборка обновляется, но медленно. Чтобы такой драйвер стал поддерживать очередной адаптер, сообществу нужно получить код прошивки его чипа и набор инженерных программ, специфичных для каждого вендора.
Как выбирать адаптер
Списки совместимых с Linux моделей адаптеров быстро устаревают, поэтому напишу общую методику выбора адаптера.
Открываем список драйверов Wi-Fi-адаптеров для Linux. Выбираем из них только поддерживающие мониторинг и инжекты. Открываем описание каждого драйвера и смотрим список поддерживаемых им чипов. Ищем модели на этих чипах по базе wikidevi.com и оставляем в сухом остатке только подходящие — по интерфейсу, дате начала производства, мощности и прочим характеристикам. Затем покупаем, вскрываем корпус, проверяем маркировку чипа и тестируем адаптер. Его способность делать инжекты можно проверить так: aireplay-ng -9
.
Производители редко раскрывают детальные спецификации, поэтому гарантированно подходящие чипы во многих статьях про вардрайвинг упоминаются одни и те же — перепечатанные из документации по Kali. Это Realtek 8187L, Qualcomm Atheros AR9271(L), Ralink RT3070(L) и Ralink RT3572(L). Однако совместимых решений на рынке гораздо больше. Переключаться в режим мониторинга и инжектировать пакеты могут адаптеры на десятках других чипов.
Для «дальнобойных» стандартов 802.11b/g это Ralink RT2070, RT2571W и RT2671, а также Intersil ISL3880, ISL3886 и ISL3887.
Более современные стандарты b/g/n поддерживают совместимые с Kali чипы Ralink RT2770, RT2870, RT3071, RT3072, RT3370, RT5370, RT5372, RT8070, а также Atheros AR7010 и AR9271L.
Расширенный набор a/b/g/n поддерживают чипы RT3572, RT5572 и AR9170 (draft-n). Соответствующие им функции в Linux обеспечивают драйверы p54usb, rt2500usb, rt2800usb, rt73usb, carl9170, ath5k, ath9k и ath9k_htc. Больше всего подходящих адаптеров основано на чипах Ralink, которые во второй версии Kali Linux работают с драйвером rt2800usb.
Список современных USB Wi-Fi адаптеров, которые поддерживаются в Kali Linux
Совершив несколько рейдов на отечественные и зарубежные магазины техники, я составил перечень проверенных в Kali моделей, продающихся сегодня. Обрати внимание на номер версии и ревизии, это важно! Всего одна другая буква или цифра, и внутри окажется другой чип, бесполезный для вардрайвинга.
На частоте 2,4 ГГц по стандартам b/g/n работают адаптеры:
- Alfa Network TUBE-U (RT3070).
- Tenda Uh250 (RT3070).
- Tenda W311M (RT5370).
- Tenda W311MI (RT5370).
- Tenda W322UA (RT3072).
- Tenda W322U v3 (RT5372).
- D-Link DWA-125 rev B1 (RT5370).
- D-Link DWA-140 rev B3 (RT5372).
- D-Link DWA-140 rev D1 (RT5372).
- TP-LINK TL-WN727N v3 (RT5370).
С расширенным набором стандартов a/b/g/n на частоте 2,4 ГГц работают:
- ASUS USB-N53 (RT3572).
- Tenda W522U (RT3572).
В двухдиапазонном режиме (2,4 и 5 ГГц) по стандартам a/b/g/n или n:
- D-Link DWA-160 rev B2 (RT5572).
- Netis WF2150 (RT5572).
- TP-LINK TL-WDN3200 (RT5572).
В этом списке перечислены только современные USB Wi-Fi адаптеры с полной поддержкой в Kali Linux (режим мониторинга + инжектирование пакетов). Все указанные модели были выпущены после 2010 года. Конечно, перечень можно было бы продолжить, включив старые модели, — наиболее выдающиеся будут упомянуты ниже.
Популярные чипы и их особенности
Может показаться, что выбрать USB-адаптер для аудита беспроводных сетей просто. В теории достаточно купить любой девайс с подходящим чипом, и можно отправляться покорять точки доступа. На практике же есть масса неочевидных вещей и важных деталей.
Realtek 8187L (802.11b/g, 2,4 ГГц)
Это старый чип, работающий только по стандартам 802.11b/g. Однако старый — не значит плохой. В 2007 году на нем был сделан легендарный адаптер Alfa AWUS036H, бьющий рекорды дальности связи. С ним можно вардрайвить точки доступа не только у соседей, но и в другом здании. Остается лишь обнаружить хотспоты, все еще вещающие по стандартам b/g.
Как и с любой «Альфой», главная проблема — купить оригинал. Коробку и даже фирменные голограммы подделывать научились давно, поэтому гарантированный вариант только один — вскрывать корпус. Ищи металлические защелки, металлическую пластину над платой из синего текстолита, а главное — смотри, чтобы MAC-адрес совпадал на плате, корпусе и коробке. Чтобы точно не промахнуться, можно проверить валидность адаптера на сайте по MAC-адресу и серийному номеру.
RT3070 (802.11b/g/n, 2,4 ГГц)
Этот чип стал одним из первых для вардрайвинга AP, вещающих в стандарте 802.11n. Даташит (PDF) на него появился в сентябре 2008 года. Тогда Kali Linux еще не было, а драйвер с поддержкой режима мониторинга добавили в дистрибутив ее предшественника — BackTrack. В 2011 году MediaTek объединилась с корпорацией Ralink Technology, поэтому иногда можно встретить другое обозначение этого чипа — MediaTek RT3070.
К настоящему времени на базе RT3070 выпущено более 150 устройств, но степень их пригодности для вардрайвинга разная. С этим чипом надо быть особенно внимательным, поскольку выпускается он как минимум в двух ревизиях. Для аудита желательно брать именно RT3070 ревизии AL1A. Удешевленная ревизия AL3A хуже — слабее, да и работает менее стабильно. Она используется в чипах с маркировкой 3070L, но не все продавцы указывают последнюю букву. Поэтому читай отзывы, сверяй VID и PID, а лучше — проверяй обозначение на самом чипе. Большинство адаптеров открываются элементарно: корпус у них либо пластиковый на защелках, либо склеенный из двух половинок. Последний можно аккуратно открыть, слегка прогрев торцы феном.
Из проверенных адаптеров на базе RT3070 можно рекомендовать Alfa AWUS036NH и
Alfa AWUS036NEH. Интересно, что китайский адаптер EDUP EP-MS8515GS на том же чипе внешне копирует не их, а более новую модель «Альфы» — AWUS036ACH. У него две штыревые антенны с заявленным коэффициентом усиления по 6 дБи. Работает он весьма неплохо, а для своей невысокой цены и вообще хорошо.
Другой адаптер с чипом RT3070 — Tenda Uh250/N150. Заявленная мощность его передатчика составляет 27 дБм (против обычных 14–20 дБм), а коэффициент усиления всенаправленной антенны — 5 дБи. Этот адаптер продается во многих российских магазинах за эквивалент 10–12 долларов. Можно сэкономить пару баксов, если тебе не критично ждать посылки из Поднебесной. Однако пригодится он только для вардрайвинга ближнего радиуса действия. Почему? Как оказалось, заявленные характеристики не соответствуют действительности.
Большой адаптер потребляет всего 100 мА в режиме мониторинга
Обнаружив это, я первым делом стал грешить на комплектный провод USB — уж очень он был длинный и тонкий, то есть обладал большим сопротивлением. Однако его замена на кабель получше ничего не принесла. Адаптер по-прежнему видел восемь-девять точек доступа там, где другие ловили двадцать и больше.
Замена кабеля ничего не дала
Вскрытие показало, что внутри устройства стоит все та же урезанная версия чипа с индексом L, а на плате (судя по разметке) отсутствует часть элементов.
Внутренности Tenda Uh250
Несмотря на большую антенну и корпус солидных размеров, мощность адаптера на практике оказалась очень низкой.
В качестве мощного и дешевого адаптера на форумах часто советуют KuWfi Blueway BT-N9000. У него всенаправленная антенна с заявленным коэффициентом усиления 8 дБи (по моим ощущениям — реально около 5 дБи). Паспортные данные о потребляемой мощности 2 Вт стоит воспринимать аналогично. На деле мощность лишь немного выше, чем у большинства USB-адаптеров в этой ценовой категории. Возможно, с N9000 удастся увидеть еще несколько точек доступа вокруг или чуть быстрее побороть ближайшую. Своих денег адаптер стоит, но не более того.
Модель Netsys 9000WN подкупает солидными размерами, но это как раз пример легкого обмана: вместо RT3070 в нем используется RT3070L.
Плата с чипом RT3070L
Однако у этого адаптера довольно качественная панельная антенна, поэтому его можно рекомендовать для разведки радиоэфира или в качестве донора для перепайки антенны другому устройству. Заявленные характеристики не привожу, поскольку они выглядят бредово — даже не совпадают в разных абзацах описания. Однако такие косяки типичны для большинства китайских товаров. На практике девайс радует чувствительностью приема. Там, где на другие адаптеры ловится от силы двадцать хотспотов, он легко находит больше пятидесяти, особенно если его медленно вращать на манер радара. Несмотря на внушительные размеры, в режиме мониторинга адаптер потребляет менее 850 мВт.
Большой — не значит мощный
Из особенностей антенны Netsys 9000WN отмечу диаграмму направленности. Ее ширина составляет около 60° в горизонтальной плоскости и 90° в вертикальной. На практике такая панельная антенна дает что-то среднее между обычной штыревой и направленной Уда — Яги (известной советским инженерам как «волновой канал»). Поэтому точное направление на точку доступа с ней подобрать трудно.
Панельная антенна
Приемником в этой антенне служит группа симметрично расположенных над стальным экраном (180 x 160 мм) прямоугольных металлических излучателей одинакового размера. Они представляют собой квадраты со стороной 53 мм и размещены на таком же расстоянии друг от друга. Расстояние между ними и экраном — 7 мм. Оплетка антенного кабеля соединяется с экраном, а его центральная жила припаивается к металлическим полоскам.
Помимо качественной антенны, у этого адаптера есть еще одно достоинство — цена. В России одна такая панелька обойдется дороже 35 долларов, а тут она используется в готовом устройстве, да еще вместе с чипом, который поддерживается в Kali. Минус — это довольно старый и урезанный чип RT3070L. Напрашивается очевидное решение: заменить плату, вытащив ее из корпуса другого адаптера с более интересным чипом, благо в подставке антенны достаточно места. Для апгрейда потребуется не только припаять выводы антенны, но и заменить полноразмерный порт USB на mini-USB.
Qualcomm Atheros AR9271 (802.11b/g/n, 2,4 ГГц)
В 2013 году компания Qualcomm открыла исходный код прошивки и SDK для AR9271 под лицензией MIT. Поэтому AR9271 стал одним из самых популярных чипов для вардрайвинга в последнее время. На нем основано множество адаптеров, самым известным из которых считается Alfa AWUS036NHA. Модель настолько популярна, что под нее есть множество подделок. Например, вот это — подделка. Некоторые вардрайверы покупают ее, соблазнившись ценой, а потом пишут разочарованные отзывы, вроде: «Ожидал большего от Альфы!» Так это и не Alfa Networks делала, какие к ней претензии?
Фальшивые «Альфы»
Настоящую «Альфу» в России продают дорого, а ждать ее доставки из других стран слишком долго. Поэтому нетерпеливые покупатели обращают внимание на более дешевые адаптеры с таким же чипом. Например, TP-LINK TL-WN722N. При довольно мощном передатчике (20 дБи) он радует доступностью (до сих пор продается в десятках российских магазинов за эквивалент 8-10 долларов) и возможностью подключения любой внешней антенны. Косвенно о мощности адаптера можно судить по значению потребляемой мощности. В пике оно почти вдвое выше, чем у огромного Netsys 9000WN.
TL-WN722N потребляет 1368 мВт в режиме мониторинга
При прочих равных лучше выбирать адаптеры именно со съемными антеннами. Если в них используются стандартные разъемы SMA, то ты без труда заменишь штатную на более мощную, сможешь использовать направленную антенну или даже добавить усилитель сигнала.
Если хочешь экспериментов и есть время подождать, то можешь попробовать более дешевый аналог TL-WN722N, выпускаемый под известнейшим китайским брендом NoName. Просто помни, что одинаковые с виду адаптеры (и даже сделанные на одинаковом чипе) могут отличаться элементной базой и распайкой.
Реже встречается обратная ситуация: можно найти довольно точный клон известной модели, единственным заметным отличием которого будет логотип. К примеру, есть такой адаптер, как Sophos AP 5 Rev 1. Его можно рекомендовать тем, кому нужен экстремально дешевый вариант, но с более-менее приличными характеристиками.
Интересно, что у чипа AR9271 предусмотрено две цепи RX/RF, но большинство производителей адаптеров ставят только одну антенну ради удешевления.
Ralink RT5572
Это один из самых современных чипов, работающий в двух диапазонах: 802.11a/b/g/n в диапазоне 2,4 ГГц и 802.11n на частоте 5 ГГц. На его основе выпускается адаптер Netis WF2150, стоящий 15–17 долларов. Низкая цена — единственный плюс этого адаптера. Потребляемая мощность в режиме мониторинга колеблется в пределах 750–850 мВт, так что мощным его не назовешь.
Двухдиапазонный адаптер
Внешних антенн у адаптера нет, а с миниатюрными встроенными можно атаковать точку доступа только в упор. Их коэффициент усиления не превышает 1,5 дБи в диапазоне 2,4 ГГц и 3,5 дБи в диапазоне 5 ГГц. Для вардрайвинга требуется привычная доработка: надо подключить к адаптеру внешнюю антенну — например, снятую с «донора» или самостоятельно изготовленную панельную. Между внутренними микроантеннами на плате есть разъем IPX, что сильно упрощает подключение внешней антенны с помощью кабеля-переходника или пигтейла.
На встроенные антенны много не поймаешь
Kali Linux и 5 ГГц
С вардрайвингом на частоте 5 ГГц есть свои сложности. Во-первых, из-за высокой частоты сигнал быстрее затухает. Если точку доступа 802.11g, которая вещает в режиме 2,4 ГГц, можно поймать хоть за километр, то пятигигагерцевые тухнут уже в паре десятков метров даже при использовании стандарта 802.11n. К такой цели придется подобраться поближе.
Во-вторых, для мониторинга пятигигагерцевых точек доступа потребуется утилита с такой функцией. В Kali Linux 2.0 есть программа WiFite r87, которая видит только AP с частотой 2,4 ГГц.
WiFite r87 не мониторит AP на частоте 5 ГГц
Решается эта проблема установкой WiFite 2.0.
git clone https://github.com/derv82/wifite2.git
Далее достаточно перейти в директорию Wifite2/
cd wifite2/
и запустить скрипт с новой командой отображения AP, вещающих на частоте 5 ГГц
./Wifite.py -5
WiFite 2.00 поддерживает 5 ГГц
Если залогинился не под рутом, то перед последней командой требуется добавить sudo
.
WiFite 2.00 нашел AP на канале 36 (5 ГГц)
Перед сканированием может быть полезно установить обновленные прошивки следующей командой (пример для чипов Ralink):
# apt-get update && apt-get install firmware-ralink
Для других адаптеров (например, Atheros) команда аналогичная, меняется лишь название вендора.
В каждом корпусе — сюрприз!
Наверняка ты не раз наталкивался на расхожую фразу: «Производитель может изменять технические и потребительские свойства товара без уведомления». На практике это означает, что, купив одну и ту же модель адаптера Wi-Fi из разных партий, внутри можно обнаружить разные чипы. Хорошо еще, если они оба будут в списке совместимых с Linux. Например, в первых сериях адаптера Tenda W322UA был установлен чип RT3072. Теперь в них встречается более новый RT5372L — такой же, как в Tenda W322U v3. Налицо унификация производства, но проблема в том, что никаких новых обозначений на устройстве не появилось — ни версии, ни ревизии.
Сюрпризы бывают приятными… и не очень
Выглядит W322UA интересно, однако чип в нем удешевленной версии, а от пары мелких штырьковых антенн мало толка. Они слегка увеличивают скорость передачи данных (благодаря использованию схемы MIMO 2×2:2) в ущерб мощности сигнала. Крошка потребляет всего 660 мВт и уверенно ловит AP только вблизи. Сигнал от роутеров, расположенных за стенкой, с ней всегда будет в красной зоне.
Когда две антенны хуже одной
Для вардрайвинга лучше взять одну антенну помощнее, но в этом адаптере они несъемные. Радует, что выводы антенного кабеля вынесены на плате отдельно. Они находятся далеко от чипа, поэтому его не перегреешь, когда будешь припаивать другую антенну.
Китайские ватты и децибелы
Мощность сигнала — залог успешного вардрайвинга, но это понимают и продавцы. Лишенные остатков совести, они завышают характеристики товара в разы и пускаются на любой обман. Например, в перепечатках прошлогодних статей до сих пор советуют купить у китайцев устройство High Power SignalKing 48DBI. Один из коллег решил проверить и посмотреть, что у этого чудесного адаптера внутри. Посылка шла почти два месяца и… лучше бы она потерялась. Вскрытие присланного образца показало, что всенаправленные антенны в этом адаптере — муляж, а направленная гораздо меньше по размеру, чем ожидаешь, глядя на размеры корпуса. Конечно же, коэффициент усиления панельной антенны и близко не соответствует заявленному. Говорите, 48 дБи? Там даже не восемь. Другие адаптеры от известных брендов показывают близкий результат — в них используются качественные штырьковые антенны на 5–6 дБи. Да и связь с ними более стабильная, чем с самопровозглашенным «Королем сигнала».
Увы, эта история — правило, а не исключительный случай. На большинство товаров надо смотреть скептически и не лениться считать. Например, от USB-порта с предельным током 500 мА и рабочим напряжением 5 В невозможно запитать нагрузку, потребляющую более 2,5 Вт. Тебе предлагают USB-адаптер мощностью 9 Вт? Улыбнись и ищи другой. С антенной на 100500 дБи? Свяжись с ПВО! Кто-то украл у них РЛС!
Покупка в местном магазине не избавляет от необходимости думать и проверять. Ты просто будешь меньше ждать и проще вернешь подделку, но заплатишь за то же самое гораздо больше. Логично, что заказывать китайские товары дешевле в китайских магазинах. Помимо AliExpress, есть DealExtreme, FocalPrice, JD и множество других.
Лайфхак: подходящие адаптеры ищутся в интернет-магазинах по названию чипа, а также по упоминанию Kali Linux, BackTrack, Beini и Xiaopan. Фильтровать поисковую выдачу лучше не по цене, а по рейтингу продавца и количеству отзывов. На популярную вещь их всегда сотни, и попадаются фотографии и результаты проверки.
«Почта России» без боя не сдается!
Наша почта любые претензии к состоянию посылок любит перенаправлять в dev/null или к таможне (особенно если нарушена целостность пакета). Де-юре таможня может досматривать международные посылки, но де-факто она редко пользуется таким правом. Поток у них настолько большой, что даже в спокойный период на любой таможне успевают проверять максимум каждое пятое отправление. Если же при получении ты видишь следы вскрытия (например, пакет заклеен скотчем), то не верь в истории о тотальных проверках. Все вскрытые на таможне пакеты заклеиваются лентой с логотипом ФТС, а к отправлению прикладывается акт. Все остальное — откровенное воровство сотрудников службы доставки.
В последнее время «Почта России» активно борется с этим позорным явлением. Поэтому, если ты обнаружил, что пакет был вскрыт или его масса не совпадает с указанной в извещении, действуй по следующему алгоритму.
- Не принимай пакет и не подписывай извещение.
- Позвони по бесплатному телефону горячей линии 8-800-2005-888 и внятно изложи ситуацию. Обязательно укажи номер отделения почты и трекинговый номер отправления.
- Вызывай начальника почтового отделения или сотрудника, временно выполняющего его обязанности. Да, именно в такой последовательности: звонок, потом разбирательство на месте. Без волшебного пинка сверху оно будет длиться вечно.
- Требуй выдать бланк для составления акта о вскрытии международного отправления.
- Заполняй его за столиком в поле зрения камеры видеонаблюдения (сейчас они есть почти в каждом отделении). Там же вскрывай посылку вместе с начальником отделения. В случае отказа сделать это вновь звони по телефону горячей линии и сообщай фамилию сотрудника, отказавшего тебе в законном требовании.
- Если тебе сразу начинают хамить и кричать, что ничего сделать нельзя, вызывай наряд полиции. Это кража, и раскрыть ее по горячим следам обычно не составляет большого труда. Почему? Из-за малого круга подозреваемых и детальной документации.
На каждом пункте приема и передачи посылок проверяется их масса, а все данные заносятся в базу. Поэтому место преступления очевидно в первые минуты расследования. Обычно это последнее звено в цепочке, то есть то самое отделение, куда ты пришел получить свою бандерольку. Помни, что прибывший по твоему вызову оперуполномоченный имеет куда больше полномочий (поэтому его так и назвали, хе-хе) и методов воздействия на сотрудников почты, чем ты. А еще у него есть показатели эффективности работы. Возможно, он даже будет счастлив, что его вызвали расследовать свежее и подробно задокументированное уголовное преступление (ст. 158 УК РФ — кража). Содержимое посылки его интересует только в этом аспекте. Поскольку ты в данной ситуации — заявитель и потерпевшая сторона, то никаких встречных обвинений ждать не стоит. Практически всю китайскую технику можно классифицировать как потребительскую электронику, купленную за рубежом ради экономии. Конечно, если она не стреляет и не выглядит как откровенно шпионский девайс.
Делаем Wi-Fi точку доступа в Linux
Практически многие сейчас имеют дома ноутбуки и современные сенсорные мобильные телефоны. И в тех, и в иных уже давненько присутствуют Wi-Fi приемники для упрощения выхода в интернет. Правда, для осуществления данного вывода еще нужен и Wi-Fi роутер, но они тоже уже перестали быть экзотикой. Даже и наоборот, экзотикой стало неимение роутера. А выйти в интернет с мобильного, при этом, хочется. Когда еще учесть, что цены на подвижный интернет кусаются, да и скорость мягко говоря не очень, выводом становится создание собственной wi-fi точки доступа. Вот как раз об одном из экзотических случаев и составлю, основываясь на собственном образце. У меня обычный стационарный компьютер (даже не ноутбук с wi-fi частью) который сходит в интернет через витую пару, смартфон, которому хочется в веб и, конечно, Linux на борту пк.
Для этого я покупал самый дешевый в моем городе usb wi-fi брелок D-Link DWA-125 (не сочтите за рекламу, но я очень доволен покупкой, работает как часы). До сих пор помню глаза продавца-консультанта в магазине, у которого я спросил: «Может ли этот брелок работать в режиме точки доступа?» Поэтому выходит что покупал я кота в мешке (вернее, почти, перед покупкой я всеже порыскал в вебе информацию по этому вопросу и всезнающий интернет хоть и неуверенно, но подтвердил что я делал правильный выбор). Значит так, есть брелок, вставили его в usb-порт. Открываем терминал и последующей командой проверяем, установился ли брелок системой:
lsusb | grep - i wireless
В выводе обязано быть что-то подобное на:
Bus 002 Device 004: ID 2001:3c19 D-Link Corp. DWA-125 Wireless N 150 Adapter(rev. A3) [Ralink RT5370]
Когда есть подобная строка (или такая же при применении DWA-125) продолжаем:
iwconfig eth0 no wireless extensions. lo no wireless extensions.
wlan0 IEEE 802.11bgn ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=0 dBm Retry long limit:7 RTS thr:off Fragment thr:off Power Management:on
Где «Access Point: Not-Associated» значивает что ваш брелок не работает сейчас в режиме точки доступа. Далее нужно проверить может ли он раздавать wi-fi или работает только как приемник. Для этого вводим в терминале такую команду:
iw list
И ищем в выводе такие строки:
Supported interface modes: ... * AP * AP/VLAN ...
К
огда нашли, поздравляю, ваш брелок подходит для наших целей, осталось только настроить искру доступа. Для этого необходимо установить пару программ:
sudo pacman - S hostapd dnsmasq
Hostapd нам нужен собственно для поднятия точки доступа, а dnsmasq для того чтобы при подключении мобильного телефонного агрегата к нашей будущей wi-fi сети телефону автоматически выдавался IP-адрес. Для настройки hostapd идем в /etc/hostapd, показываем терминал в этой папке и создаем файл hostapd. conf:
sudo touch hostapd. conf
С сходственным содержимым:
ssid= wpa_passphrase= interface=wlan0 auth_algs=3 channel=1 driver=nl80211 hw_mode=g logger_stdout=-1 logger_stdout_level=2 max_num_sta=5 rsn_pairwise=CCMP wpa=2 wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP CCMP
Для минимальной настройки hostapd этого будет достаточно. Естественно и необходимо заменить на свои (кавычки убрать). Немного поясню: при таких значениях в этом файле ваша точка доступа будет работать на wi-fi-канале «g», с шифрованием AES и защитой WPA2-PSK. Как и большинство «железных» роутеров на нынешний сутки. Кстати, имя интерфейса у вас может быть не wlan0. Уточнить имя можно из команды iwconfig, доставленной выше. Перейдем к настройке dnsmasq. В папке /etc есть файл (именованная область этих на носителе информации) dnsmasq. conf. Там весьма много всяческих настроек с подробными комментами, но на английском, поэтому для того чтобы все трудило ищем вот такие строки в нем и меняем в согласовании с этим отрывком:
... user= ... interface=wlan0 ... dhcp-range=192.168.0.2,192.168.0.255,255.255.255.0,24h ...
Тут мы высокомерничаем свое имя пользователя, опять же имя интерфейса и диапазон IP-адресов, которые будут выходить включающиеся устройства. В данном примере от 2 до 255. Ip-адрес 192.168.0.1 я оставил для самого пк, который станет раздавать интернет. Далее необходимо создать файл dnsmasq. service в папке /etc/systemd/system:
sudo touch /etc/systemd/system/dnsmasq. service
С сходственным содержимым:
.include /usr/lib/systemd/system/dnsmasq. service [Service] ExecStartPre=/usr/bin/ifconfig wlan0 192.168.0.1 netmask 255.255.255.0 up
Оглавление этого файла как раз и отвечает за присвоение компьютеру «оставленного» IP-адреса при загрузке системы и будет включаться в файл /usr/lib/systemd/system/dnsmasq. service при запуске сервиса dnsmasq. Перейдем к настройке iptables. Iptables — это очень мощный, гибко настраиваемый firewall в linux, но довольно сложноватый в усвоенье. Особо вдаваться в подробности не буду (так как и сам еще не до конца в нем разобрался), поэтому просто обнаруживаем терминал и включим по очереди следующие команды:
iptables - F iptables - X iptables - t nat - F iptables - t nat - X iptables - P INPUT ACCEPT iptables - P FORWARD ACCEPT iptables - P OUTPUT ACCEPT iptables - t nat - A POSTROUTING - o eth0 - j MASQUERADE iptables-save > /etc/iptables/iptables. rules
Все же немного поясню: все строки, кроме предпоследних двух сбрасывают все настройки firewall к начальным, предпоследняя строка разрешает нам пользоваться интернетом (всемирная система объединённых компьютерных сетей для хранения и передачи информации), подведенным к основному компьютеру (шлюзу) на устройствах, объединенных с ним в здешную сеть, а последняя строка сохраняет введенные нами настройки firewall. Важная деталь: eth0 в предпоследней строке — это имя интерфейса компьютера на который приходит интернет (у вас может отличаться).
Теперь нужно настроить проброс пакетов. делается это командой:
echo 1 > /proc/sys/net/ipv4/ip_forward
Но присутствует один недостаток, эту команду нужно будет вводить после каждой загрузки пк. Дабы так не заморачиваться идем в папку /etc/sysctl. d и в файле 99-sysctl. conf приводим строчку «net. ipv4.ip_forward =» к подобному виду:
net. ipv4.ip_forward = 1
То есть пишем 1 после знака одинаково. Тем самым разрешая проброс пакетов. Между прочим, если такого файла не оказалось, элементарно создайте его и поместите внутрь вышеописанную строчку. На этом с настройками закончили. На первый взор все кажется очень сложным, но… глаза опасаются, а руки делают. После независимой настройки все эти «магические надписи» станут логичными и удобопонятными. Теперь осталось только швырнуть необходимые сервисы и добавить их в автозагрузку:
sudo systemctl start hostapd sudo systemctl start dnsmasq sudo systemctl start iptables sudo systemctl enable hostapd sudo systemctl enable dnsmasq sudo systemctl enable iptables
После запуска проверьте на всякий случай работают ли сервисы:
systemctl status hostapd systemctl status dnsmasq systemctl status iptables
Когда все хорошо, вы увидите зеленую надпись «Active», если плохо — красную «Inactive», тогда проверьте все введенные настройки, возможно где-то в чем-то ошиблись. Теперь у вас есть собственная wi-fi точка доступа. Плюс ее в том что ваш телефон, планшет, ноутбук и т. д. теперь имеет целый высокоскоростной доступ в интернет, причем бесплатно (имею в виду что не за дополнительную плату. За вложение к интернету компьютера с нашей точкой доступа все же нужно платить). К тому же, через wi-fi вложение теперь можно передавать файлы с компьютера на телефон или планшет и назад без проводов. Для данного правда нужно установить на устройство с Android (не реклама, просто сам использую. На остальных подвижных операционных системах должны быть подобные программы) программу FTP-server (вновь же, не рекламная инфа), ввести несколько простых настроек (все на русском языке, просто и ясно) и готово! Но у подобной точки доступа есть и один минус: wi-fi раздается лишь при включенном пк, что вполне логично. Лично мне, например, интернета на мобильном хватает когда я ищусь вблизи с компьютером. В остальное время просто не пользуюсь им с телефона. Поэтому особо и не минус. Как для вас сходственное ограничение — попробуйте и сделаете выводы.
Создание точки доступа Wi-Fi / точки доступа с использованием Linux и сетевой карты Wi-Fi / USB-адаптера — блог Vivek
Если у вас есть карта Wi-Fi LAN / USB-адаптер, вы можете использовать ее в качестве точки доступа, чтобы другие машины могли подключаться к Интернету через вашу машину с помощью Wi-Fi. Процесс довольно прост, но требует наличия совместимого набора драйверов, который позволяет карте Wi-Fi переходить в режим «Master».
Не сработало для
- USB-адаптер Linksys WUSB54GC v3.До Ubuntu 10.04 не было хороших драйверов для использования с hostapd (с поддержкой mac80211 / nl80211). В Ubuntu 10.10 драйверы хоть и работали, но соединение было очень нестабильным — фактически непригодным для использования. Я пробовал использовать следующие драйверы: rt2800usb (который позволял адаптеру перейти в режим Master) и rt2870sta, который не позволял адаптеру перейти в режим Master. Всегда оставалось «Авто» или «Управляемый» (проверено через iwconfig). Нужно протестировать в 11.04, когда придет.
Что хорошо сработало
- 02:00.0 Контроллер Ethernet: беспроводной сетевой адаптер Atheros Communications Inc. AR5001 (версия 01) с использованием драйверов ath5k. hostapd вообще не жаловался, все прошло гладко. Это было в Ubuntu 10.04.
Концепт
- Есть приложение под названием hostapd, которое позволяет преобразовать адаптер Wi-Fi в точку доступа и предоставлять такие привилегии, как аутентификация WPA, определение имени ssid и т. Д. Я использовал его, и оно хорошо сработало.
- Когда клиент подключается к точке доступа, помимо аутентификации ему потребуется назначить IP-адреса.Для этого используется DHCP-сервер.
- Вам необходимо иметь 2 интерфейса: один для доступа к сети (например, eth0), а другой, который предоставляет услуги точки доступа (например, wlan0).
- Вы запускаете интерфейс wlan, назначаете ему IP-адрес, запускаете сервер DHCP, настраиваете firewall / nat и запускаете hostapd. Вот и все. Ваши устройства смогут использовать адаптер Wi-Fi в качестве точки доступа.
Процедура
apt-get install dhcp3-server hostapd
Измените / etc / hostapd / hostapd.conf и поставьте следующие
интерфейс = wlan0 драйвер = nl80211 ssid = MyAP hw_mode = g канал = 11 wpa = 1 wpa_passphrase = MyPasswordHere wpa_key_mgmt = WPA-PSK wpa_pairwise = TKIP CCMP wpa_ptk_rekey = 600
В разделе dhcpd.conf в /etc/dhcp3/dhcpd.conf будет что-то вроде следующего
Подсеть
10.10.0.0 сетевая маска 255.255.255.0 { диапазон 10.10.0.25 10.10.0.50; option domain-name-servers 8.8.4.4, 208.67.222.222; вариант роутеров 10.10.0.1; }
Измените / etc / default / dhcp3-server
ИНТЕРФЕЙСЫ = "wlan0"
Проверьте, какое имя получил ваш адаптер через iwconfig. Вы также можете изменить имя и сделать его постоянным через /etc/udev/rules.d/70-persistent-net.rules, чтобы оно всегда получало имя одного типа. В нашем примере мы предполагаем wlan0, но это можно изменить. Также внесите необходимые изменения в свою конфигурацию.
Настроить новый интерфейс
ifconfig wlan0 10.10.0.1
Вышеупомянутое можно было бы сделать лучше с помощью файла / etc / network / interfaces, но я не пробовал это сделать. В любом случае, если вы выключаете hostapd, сетевой интерфейс (wlan0) теряет свой адрес, поэтому перед запуском hostapd необходимо поставить сценарий, который назначит его снова. Например,
iface wlan0 inet static адрес 10.10.0.1 маска сети 255.255.255.0
Перезагрузите dhcp3-сервер. Теперь он должен быть готов к обслуживанию адресов, а также привязан к сетевому интерфейсу.
Разрешить маскировку IP
эхо "1"> / proc / sys / net / ipv4 / ip_forward iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Теперь запустите hostapd и посмотрите сообщения, которые он показывает
hostapd -dd /etc/hostapd/hostapd.conf
Подождите несколько секунд, он должен показать, что некоторые зонды выполняются другими устройствами Wi-Fi. Если это видно, то, вероятно, вам повезло.
Теперь попробуйте подключиться через ваше устройство к этой точке доступа. Он должен работать.
Чтобы это работало при загрузке, можно поместить соответствующую конфигурацию в / etc / default / hostapd
RUN_DAEMON = "да" DAEMON_CONF = "/ etc / hostapd / hostapd.conf" DAEMON_OPTS = "- dd"
, а также поместите правила брандмауэра в /etc/rc.local (убедитесь, что это исполняемый файл).
Помните — если вы выключите hostapd, сетевая карта потеряет свой адрес. Поэтому вам нужно назначить это снова перед запуском hostapd. Обычная практика —
- Остановить hostapd
- Остановить DHCP-сервер
- Перезагрузите сеть (а точнее ifup wlan0 / ifconfig wlan0 10.10.0.1 подойдет)
- Перезагрузите сервер DHCP
- Запустить hostapd
Разное
- Проверить интерфейсы Wi-Fi можно через
iwconfig
- Чтобы установить адаптер Wi-Fi в главный режим, попробуйте следующее. Если он не работает и показывает ошибку, что это невозможно или что-то в этом роде, не волнуйтесь — используйте hostapd, так как он в любом случае сделает это.
iwconfig wlan0 mode Master
- Network Manager мог создавать проблемы, хотя в моей тестовой среде — вместо использования интерфейса Ethernet я использовал два интерфейса wlan, один из которых контролируется Network Manager для доступа в Интернет, а другой — для того, чтобы сделать его точкой доступа.
- modprobe -r ath5k / modprobe -r rt2800usb и т. Д. Должен использоваться для выгрузки модулей.
- Если вы хотите продолжить без аутентификации, чтобы вы могли легко проверить это, поместите следующее в /etc/hostapd/hostapd.conf
интерфейс = wlan0 драйвер = nl80211 ssid = MyAP hw_mode = g канал = 11
Нравится:
Нравится Загрузка …
Связанные
Используйте свой ноутбук как Wi-Fi роутер под Linux
Введение
Настроить специальный Wi-Fi роутер в Linux очень просто.Проблема в том, что многие устройства, например Android (в настоящее время), не могут подключиться к нему. Network Manager 0.9.8 поддерживает точку доступа в режиме AP. Однако, поскольку он не интегрирован в nm-applet или другие простые инструменты, нам все равно придется подождать некоторое время, пока он не покажется вам незаметным. До тех пор нам придется полагаться на программное обеспечение hostapd.
Поддерживается ли ваше оборудование?
Согласно linuxwireless.org
Что касается Linux, из старых драйверов вы можете использовать только драйверы HostAP, madwifi, prism54 с hostapd.Все новые драйверы на базе mac80211, реализующие функциональность точки доступа, поддерживаются драйвером hostapd nl80211. Программы пользовательского пространства, такие как hostapd, теперь используют netlink (драйвер nl80211) для создания интерфейса главного режима для вашего трафика и интерфейса режима монитора для приема и передачи кадров управления.
Довольно теории. Вы можете узнать, подпадает ли ваша карта под одну из этих категорий, используя следующую команду.
$ lspci -k | grep -A 3 -i "сеть" 02: 00.0 Сетевой контроллер: Intel Corporation Centrino Wireless-N 1030 [Rainbow Peak] (версия 34) Подсистема: Intel Corporation Centrino Wireless-N 1030 BGN Используемый драйвер ядра: iwlwifi
Как видите, в данном случае используется драйвер iwlwifi .
Давайте узнаем больше информации об этом модуле драйвера.
$ modinfo iwlwifi | grep 'зависеть' зависит: cfg80211
Чтобы узнать, поддерживается ли этот драйвер hostapd, я просто ищу в Google термин « cfg80211 hostapd ». В этом ограниченном посте я не могу перечислить все поддерживаемые драйверы.
Установка
Вам потребуется установить два программного обеспечения (hostapd и dhcp3-server). В Ubuntu для установки этого программного обеспечения потребуется следующая команда.
$ sudo apt-get install hostapd dhcp3-server
Hostapd используется для настройки нашего беспроводного драйвера для использования в качестве маршрутизатора, а сервер DHCP предоставляет IP-адреса для подключаемых устройств.
Конфигурация
Эта часть может показаться большой работой, но это самая легкая часть всего руководства. Вам просто нужно скопировать и вставить следующие тексты в необходимые файлы.
а. Создайте файл /etc/hostapd/hostapd.conf и вставьте следующий текст.
интерфейс = wlan0 драйвер = nl80211 ssid = testhostapd канал = 1 hw_mode = g auth_algs = 1 wpa = 3 wpa_passphrase = мой пароль wpa_key_mgmt = WPA-PSK wpa_pairwise = TKIP CCMP rsn_pairwise = CCMP
Примечание. Измените некоторые из этих значений в соответствии со своими настройками. В ноутбуке чаще всего используется беспроводной интерфейс wlan0, но для уверенности запустите команду ifconfig и выясните.
$ ifconfig wlan0 Link encap: Ethernet ...
Вы также можете изменить драйвер (как описано выше), имя маршрутизатора (ssid), пароль беспроводной сети (wpa_passphrase) и т. Д.
г. Отредактируйте файл /etc/dhcp/dhcpd.conf , чтобы он выглядел так:
ddns-update-style нет; время аренды по умолчанию 600; max-lease-time 7200; лог-объект local7; # определения опций, общие для всех поддерживаемых сетей… # option domain-name «example.org»; # option domain-name-servers ns1.example.org, ns2.example.org; вариант доменное имя-серверы 208.67.220.220,208.67.222.222; подсеть 10.42.43.0 netmask 255.255.255.0 { диапазон 10,42,43.50 10.42.43.70; опция маска подсети 255.255.255.0; опция широковещательного адреса 10.42.43.255; опция роутеры 10.42.43.1; }
Что мы сделали выше, так это создали конфигурацию DHCP-сервера, закомментировали строки опций и оставили нетронутыми другие строки. Наконец, добавлен диапазон ip dhcp, который мы хотим, чтобы наши устройства использовали.
г. Наконец, создайте файл (с любым именем) в вашем домашнем каталоге. В этом примере я создам файл с именем connecthostapd в домашнем каталоге bin ( ~ / bin / connecthostapd ) со следующим текстом.
#! / Bin / bash rmmod iwlwifi modprobe iwlwifi iwconfig wlan0 mode Master freq 2.42G essid testhostapd спать 2 ifconfig wlan0 10.42.43.1/24 iptables -t nat -A POSTROUTING -s 10.42.43.0/24 -o ppp0 -j MASQUERADE iptables -A FORWARD -s 10.42.43.0/24 -o ppp0 -j ACCEPT iptables -A FORWARD -d 10.42.43.0/24 -m state --state ESTABLISHED, RELATED -i ppp0 -j ACCEPT эхо 1> / proc / sys / net / ipv4 / conf / all / forwarding echo 'INTERFACES = wlan0'> / etc / default / dhcp dhcpd wlan0 hostapd -d / и т.д. / hostapd / hostapd.conf
В этом конкретном примере в качестве источника я использовал Интернет DSL, доступный через ppp0. Если у вас есть другие устройства или интерфейс, которые вы хотите использовать (например, eth0 в случае прямого подключения) в качестве источника Интернета, измените ppp0 на соответствующий интерфейс устройства во всех трех местах в файле выше. Убедитесь, что essid соответствует имени, которое мы использовали в /etc/hostapd/hostapd.conf, и, наконец, модуле ядра, который мы обнаружили выше для Wi-Fi (в данном случае iwlwifi).
Примечание. Не забудьте сделать этот файл исполняемым с помощью «chmod + x command»
$ chmod + x ~ / bin / connecthostapd
Для завершения (dhcp) я предлагаю вам перезагрузить компьютер на этот раз.
С этого момента вам нужно запоминать только последний файл. Если вы просматривали Интернет с помощью Wi-Fi и решили использовать его в качестве маршрутизатора, вам просто нужно отключить Wi-Fi (не выключать) и запустить указанный выше файл от имени пользователя root. Что было бы примерно так.
$ судо ~ / bin / connecthostapd
Теперь вы можете подключиться к этому устройству как по обычному Wi-Fi. Чтобы отключиться, просто введите «Ctrl + c» в терминале, на котором в данный момент работает connecthostapd .
Примечание: из-за ограничений (в моем случае) невозможности поддерживать соединение в течение длительного времени, в некоторых из ваших случаев он не будет заменой Wi-Fi-роутеру.Однако в ситуациях, когда Wi-Fi не работает, и вы хотите обновить некоторые связанные с Интернетом службы на устройствах, которые зависят от Wi-Fi (например, Android), вы можете сделать это легко с помощью вышеуказанной настройки.
Заключение
Совместное использование Интернета через Wi-Fi в последнее время привлекло большое внимание. В результате эту функцию поддерживает самое новое оборудование. Надеюсь, это сработает для вас. Однако я должен отметить одну проблему: производительность скорее ограничена, чем у выделенного маршрутизатора Wi-Fi.
Список литературы
1.http://projects.gnome.org/NetworkManager/
2. http://www.linux.org.ru/forum/general/9047756
3. http://www.phoronix.com/scan.php?page = news_item & px = MTMwNzY
4. http://linuxwireless.org/en/users/Documentation/hostapd
Нравится:
Нравится Загрузка …
Связанные
3 способа создания точки доступа Wi-Fi в Ubuntu 14.04 (поддержка Android)
Уважаемые читатели, я нашел новый способ создания беспроводной точки доступа в Ubuntu в режиме AP с поддержкой устройств Android с помощью Unity Network Manager.
После этого урока я нашел 3 способа создать точку доступа Wi-Fi в режиме AP:
- Использование Ap-hotspot , приложение с открытым исходным кодом от github: см. этот пост .
- Используя редактор соединений KDE , см. пост .
- Использование сетевого менеджера Unity по умолчанию с небольшим взломом. См. Ниже
Ниже я покажу вам, как использовать сетевой менеджер Unity по умолчанию для создания беспроводной точки доступа с поддержкой устройств Android, протестирован в 64-битной Ubuntu 1404 с Nexus 4 и Sumsung Galaxy ace3.
1. Отключите Wi-Fi и подключите интернет-кабель к ноутбуку, чтобы Ubuntu подключился к проводному Интернету, а беспроводная связь была отключена.
2. Перейдите к значку сети на верхней панели -> Изменить подключения…, затем нажмите кнопку Добавить во всплывающем окне.
3. Выберите Wi-Fi из раскрывающегося меню, когда вам будет предложено выбрать тип подключения:
4. В следующем окне выполните:
- Введите имя подключения.Имя будет использовано позже.
- Введите SSID
- Выберите режим: Инфраструктура
- MAC-адрес устройства: выберите свою беспроводную карту из раскрывающегося меню.
5. Перейдите на вкладку Безопасность Wi-Fi , выберите тип безопасности WPA и WPA2 Personal и установите пароль.
6. Перейдите на вкладку IPv4 Settings , в раскрывающемся списке Method выберите Shared to other computers .
Когда закончите, нажмите кнопку сохранить .
После вышеуказанных шагов файл конфигурации создается в каталоге / etc / NetworkManager / system-connections . Имя файла совпадает с именем подключения, которое вы ввели на шаге 4.
Теперь нажмите Ctrl + Alt + T на клавиатуре, чтобы открыть терминал. Когда он откроется, вставьте приведенные ниже команды и нажмите Enter, чтобы отредактировать файл конфигурации:
gksu gedit / etc / NetworkManager / системные подключения / точка доступа Wi-Fi
Замените wifi-hotspt именем подключения, которое вы ввели на шаге 4.
Когда файл откроется, найдите строку mode = Infrastructure
и измените ее на mode = ap
.