Анонсирован (http://lists.shmoo.com/pipermail/hostap/2014-February/029440... выпуск hostapd/wpa_supplicant 2.1 (http://w1.fi/), набора для обеспечения работы беспроводных протоколов IEEE 802.1X, WPA, WPA2 и EAP, состоящего из приложения wpa_supplicant (http://hostap.epitest.fi/wpa_supplicant/) для подключения к беспроводной сети в роли клиента и фонового процесса hostapd (http://w1.fi/hostapd/) для обеспечения работы точки доступа и сервера аутентификации, включающего такие компоненты как WPA Authenticator, клиент/сервер аутентификации RADIUS, сервер EAP. Исходные тексты проекта распространяются под лицензией BSD.Основные новшества:
-
hostapd:- Поддержка протокола аутентификации и создания ключей SAE (http://en.wikipedia.org/wiki/IEEE_802.11s#Peer_authenticatio... (Simultaneous Authentication of Equals), предоставляющий более защищённый метод аутентификации на основе паролей с WPA2-Personal;
- Добавлена функциональность netlink-интерфейса nl80211 (http://wireless.kernel.org/en/developers/Documentation/nl80211): конфигурация VHT, MAC ACL на основе драйверов, раздельный дамп структуры wiphy (https://www.kernel.org/doc/htmldocs/80211/API-struct-wiphy.h... с описанием возможностей оборудования, конфигурация маппинга QoS;
- Добавлены полностью автоматизированные средства регрессивного тестирования с использованием симулятора mac80211_hwsim;- Поддержка динамического выбора частоты (DFS (http://en.wikipedia.org/wiki/Dynamic_Frequency_Selection#DCA... Dynamic Frequency Selection): обработка событий с информацией о выявлении работы передатчиков, CAC, повторный выбор каналов;
- Реализация сервера EAP-EKE (Extensible Authentication Protocol - Encrypted Key Exchange);
- Поддержка автоматического выбора каналов (ACS, Automatic Channel Selection);
- Поддержка управления несколькими независимыми интерфейсами WPS (wps_independent=1) из одного процесса hostapd вместо синхронного выполнения операций для всех интерфейсов;
- Возможность указания группы ctrl_iface в командной строке ("-G группа");
- Добавлена опция "-b{bhyname}:{config} для привязки отдельных файлов конфигурации к разным базовым наборам сервисов (vif). Возможность выполнения команд ADD/REMOVE в привязке к индивидуальным базовым наборам сервисов
- Поддержка обновлений WPS+NFC.
-
wpa_supplicant:
- Поддержка протокола аутентификации SAE;
- Улучшены средства согласования P2P-соединений и формирования групп: убраны излишние диалоговые запросы в процессе повторного выполнения операций, решены проблемы с использованием устаревших значений из кэша с результатами сканирования, увеличена таймауты и добавлен новый тип интерфейса P2P Device;
- Расширены возможности по выбору канала P2P, увеличено число локальных настроек;
- Добавлена возможность опционального назначения отдельных PSK (http://en.wikipedia.org/wiki/Pre-shared_key)-ключей для разных устройств через P2P GO (Group Owner);
- Добавлена команда P2P_REMOVE_CLIENT для удаления клиента из P2P-групп;
- Увеличена гибкость настройки для P2P GO/клиентских каналов (p2p_no_go_freq list and p2p_add_cli_chan=0/1);
- Добавлена функциональность netlink-интерфейса nl80211: конфигурация VHT, MFP (IEEE 802.11w), FT (IEEE 802.11r), QoS Mapping
- Увеличена надёжность согласования соединений TDLS. Добавлены дополнительные параметры для пиров TDLS;
- Сокращено время соединения за счёт использования результатов недавнего сканирования вместо инициирования нового сканирования;
- Добавлена ctrl_iface-команда 'SCAN TYPE=ONLY' для запроса ручного сканирования без запуска процесса перевыбора сети по результатам сканирования;
- Поддержка временного отключения блока сети в условиях повторяющихся сбоев соединения;
- В качестве интерфейса для взаимодействия с драйверами по умолчанию задействован nl80211, вместо wext;
- Добавлена реализация пира EAP-EKE;
- Реализовано определение факта перезапуска пира для IBSS RSN;
- Добавлена поддержка внешней обработки SIM/USI в EAP-SIM, EAP-AKA,
и EAP-AKA;
- Добавлена и задействована по умолчанию глобальная опция конфигурации - bgscan;
- Для TDLS добавлены методы D-Bus;
- Предоставлена возможность более полного контроля за процессом выполнения запросов сканирования. Добавлены опции "SCAN freq=", "SCAN passive=1", "SCAN use_id", "SCAN only_new=1";
- Добавлена поддержка P2P+NFC и обновлений WPS+NFC.URL: http://lists.shmoo.com/pipermail/hostap/2014-February/029440...
Новость: http://www.opennet.me/opennews/art.shtml?num=39005
Меня сейчас заминусуют, но реализация Wi-Fi шифрования и сети в Linux - самое ужасное, что я видел в своей жизни.Кому в голову пришло беспроводные интерфейсы выделять в отдельные - тоже не ясно (wlan0 и т.д.).
WPA supplicant работает через одно глубокое место, а в идеале должен был быть встроен в ifconfig/ip.
// b.
> Кому в голову пришло беспроводные интерфейсы выделять в отдельные - тоже не ясно (wlan0 и т.д.).ты ещё интерфейсы на FreeBSD не видел
> Кому в голову пришло беспроводные интерфейсы выделять в отдельные - тоже не ясно (wlan0 и т.д.).какой ещё wlan0 ? это машина времени из прошлого? :-)
сейчас:
wlp1s0 (например)
или
wlp0s29u1u5 (например)
или ещё какие названия...
но ни как не wlan0.
это вы сейчас наверно находитесь в том же самом временном измерении -- в котором -- сетевые карты называли eth0, eth1, eth2 .. а конфигурировали их через ifconfig :-D
> WPA supplicant работает через одно глубокое место, а в идеале должен был быть встроен в ifconfig/ip.
может ты ещё и пароль хочешь писать через командную строку? (то что злоумышленник мог бы в этом случае подсмотреть пароль через файловую систему /proc/ --- это в голову не приходит ?)
всё правильно сделали что требуют отдельную конфигурацию для шифрования. а отдельная утилита (WPA supplicant) -- это решение вполне себя оправдывает, так как сложность довольно высока.
Ну можно и wlan0 сделать если соответствующий файлик в /etc создать :)
> Ну можно и wlan0 сделать если соответствующий файлик в /etc создать :)да, но зачем.. (кого может не устроить название wlp0s29u1u5 ?)
если уж и менять название, то в таком случае тогда уж надо пойти ещё дальше и написать в udev-правилах чтоб интерфейс назывался бы не "wlan0" , а например "kakashka" :-)
kakashka супротив wlp0s29u1u5 это как плотник супротив столяра
> кого может не устроить название wlp0s29u1u5Меня например. А что такое s29u1u5? И почему не j31u5k7? И зачем я эту Н.Е.Х. должен запоминать?
http://www.freedesktop.org/wiki/Software/systemd/Predictable.../
Правильно говорил павлинукс: вам интернет отключи и IQ сразу на ноль падает.
> http://www.freedesktop.org/wiki/Software/systemd/Predictable.../По-моему это надо назвать UnPredictable interface names. Что за кусок рандома после названия?
Т.е. как раз там, куда не дотянулся Леннарт. Спасибо, мы здесь пешком постоим.
Настройку udev ниасилил? не вижу смысла на машине с одной сетевухой использовать "predictable" имена интерфейсов.
> Настройку udev ниасилил? не вижу смысла на машине с одной сетевухой использовать
> "predictable" имена интерфейсов.не вижу ни одной причины переименовывать "predictable" имена -- в какие-то другие имена...
...кроме как причины: набрать ip link и похвастаться друзьям :-)
а можно ничего не менять и сразу начинать хвастаться)
... кроме как причины: в командной строке быть в состоянии набрать это имя за разумное время.
> не вижу ни одной причины переименовывать "predictable" именаКроме того что wlan0 мне в командлайне вбить не вопрос а вот эту тарабарщину... эм... не, ну его нафиг. "Хотели как лучше, а получилось как всегда".
Админчик локалхоста наверное никогда за компом не пробовал ничего кроме одноглазников открывать. Многие команды по умолчанию eth0 используют. И мне как-то не впилось набирать tcpdump -i jdssd7890543uiouopsgd набирать. Но обезьянкам этого не понять.
> Многие команды по умолчанию eth0 используютнет ни одной команды которая использовала бы по умолчанию eth0 ..
ваши собственные говновскрипты -- считать не будем.
Админчек локалхоста - брысь под шконку:
#tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
> wlp0s29u1u5выкинь свое udev/systemd
> wlp0s29u1u5 (например)До меня с моим дебианом этот дебилизм поттеринга (ну или его любовника сиверса) как-то, к счастью, не докатился. Хотя у меня вайфай вообще в ath0 переименован, ещё с времён когда madwifi был. Нравится так.
>ну или его любовника сиверсаШо, опять? Sendmail'а им мало..
это сарказм или мне повезло?
> это сарказм или мне повезло?это несомненно сарказм.
но тебе повезло :)
> может ты ещё и пароль хочешь писать через командную строку? (то что злоумышленник мог бы в этом случае подсмотреть пароль через файловую систему /proc/ --- это в голову не приходит ?)Какой-то бред несёте, уважаемый.
Что мешает для ifconfig сделать параметр:
-password filename
что заставит утилиту читать пароль из файла и/или
ifconfig wlan0 -wpa2 -password_stdin < /etc/network/wpa2_password
Короче, не вижу ни одного резона этого бреда (wpa supplicant) в Linux.
Ах, да, ещё одна проблема, отладка wpa supplicant - это полная опа.
// b.
Премногоуважаемый, я даже на написание eth0 трачу меньше времени и сил, нежли, чем Вы на то же самое действие.
В этом есть определённая вина и самих стандартов Wi-Fi, настолько они замороченные что просто в ifconfig их поддержку не реализовать.
Я тебе открою две тайны:- Весь wifi в ядре. В userspace'е реализованы только плюшки вроде EAP, которые требуют обмена ключами и прочей гадости.
- У ребят из openbsd wpa/wpa2 реализовано через ifconfig, который в общей сложности занимает примерно ~6k строк. А стандарты одни и те же. Может все-таки дело в программистах?
> У ребят из openbsd wpa/wpa2 реализовано через ifconfigДа - там Wi-Fi поднимается как обычный интерфейс. Есть только одна проблема - ни где нет логов Wi-Fi авторизации :(.
> Да - там Wi-Fi поднимается как обычный интерфейс.Вот только он нифуа не "обычный интерфейс" и там 100500 сущностей никогда не существовавших у других интерфейсов. В линухе этим заведует например могучая утилитина iw. И там реально много. Предлагается весь этот шит вгрузить в ифконфиг? А ему плохо от своей крутизны не станет? Или просто забить на конфигурирование половины параметров? Тоже мило.
Не, я понимаю что некоторым бы хотелось думать что wi-fi - это, типа, эзернет но без проводов. Но реально все куда сложнее и это таки радиопередача, совсем иная среда с иными проблемами и свойствами.
У физической среды тоже много параметров.
И ей прекрасно в случае Ethernet рулит тот же mii-tool.
Не нужно смешивать в одну кучу физическую реализацию сети и уровень TCP/IP.
Пусть физическими параметрами рулит iw, а на уровне ifconfig беспроводной интерфейс должен быть точно такой же сущностью как и проводной.
> У физической среды тоже много параметров.У эзернета - не очень и там как правило на автоматике все работает неплохо...
> И ей прекрасно в случае Ethernet рулит тот же mii-tool.
...но если все-таки надо, то вот такие тулсы нам помогут. Или это тоже в ифконфиг предлагается запихать? А для сетки по блутусу - все тулзы в ifconfig упакуем? А должен ли ifconfig PPP интерфейса при up соединение устанавливать? А может тогда он и openvpn нам сконектит? И ipsec настроит? А потом со всей этой фигней мы попробуем взлететь...
У вайфая тоже на автомате всё работает неплохо. Вы часто видите людей, выставляющих в настройках своих планшетов номер канала? Или хотя бы просто знающих что это вообще такое и зачем.Ну и это всё разговоры в пользу бедных, извините. Количество параметров не есть принципиальное отличие.
> У вайфая тоже на автомате всё работает неплохо.Только в режиме клиента и только после выбора точки доступа.
> Вы часто видите людей, выставляющих в настройках своих планшетов номер канала?
Для начала планшет обычно клиент позорный. Клиент не может выбирать номер канала и использует тот на котором живет нужная AP. Ну, в лучшем случае AD-HOC создавать может. Хотя некоторые ведроиды и AP уже умеют, только там таки прижется кой-чего указать уже.
> Или хотя бы просто знающих что это вообще такое и зачем.
Ну вот для настройки на этом уровне в линухе есть network manager с гуйными апплетиками. А упомянутые утили - это уже на случай когда надо чего-то понавороченнее, на что гуйнюшки сделать не смогли (вы опупеете гуй рисовать на все опции которые iw умеет).
> Ну и это всё разговоры в пользу бедных, извините. Количество параметров не
> есть принципиальное отличие.Звучит как какое-то оправдание. По лично моему мнению - специфика "физики" лучше пусть живет в отдельных утилях, которые могут позволить себе нормально знать особенности своей среды.
> Предлагается весь этот шит вгрузить
> в ифконфиг? А ему плохо от своей крутизны не станет?ls -l /sbin/ifconfig
-r-xr-xr-x 1 root bin 291576 Aug 1 2012 /sbin/ifconfig
uname -sr
OpenBSD 5.2Меньше 300 кб :).
> А должен ли ifconfig PPP интерфейса при up соединение устанавливать?Ну - ядерный PPPoE как раз устанавливает:
cat /etc/hostname.pppoe0
inet 0.0.0.0 255.255.255.255 NONE -inet6 pppoedev rl0 authproto pap authname xxx@dsl.ukrtel.net authkey yyy up
!/sbin/route add default -ifp pppoe0 0.0.0.1А вот как выглядит упомянутый Wi-Fi:
cat /etc/hostname.ral0
up -inet6 media autoselect mode 11g mediaopt hostap nwid xxx chan 6 \
wpa wpaciphers ccmp wpagroupcipher ccmp wpakey yyy wpaprotos wpa2Всё гениальное просто ;).
> Меньше 300 кб :).Потому что умеет поди как обычно, 10% от того что в iw есть. Это ж бзды, там все расово верно. И как правило - ничего не работает. Или работает на уровне каменного века.
> Ну - ядерный PPPoE как раз устанавливает:
А остальных что же забыли?
> !/sbin/route add default -ifp pppoe0 0.0.0.1
Есть только одна загвоздка: pppoe мне вообще никуда не упал, а на опенбзде - в особенности. А куда я должен применять ppoe на опенбзде?
> Всё гениальное просто ;).
Очень. А теперь покажите создание нескольких интерфейсов на 1 phy. Скажем, как должно выглядеть создание 2х VIFов, пусть один будет клиентом, а второй - AP. Ну и как это ифконфигом? А как посмотреть уровень сигнала/шума на разных каналах? А список AP вокруг как получить? И это точно все к ифконфигу?
> Потому что умеет поди как обычно, 10% от того что в iw есть
Что ты всякое г в рот тянешь? 85 рублёвый дурачок накатал там что-то и вот давай это обсасывать везде.
> Что ты всякое г в рот тянешь? 85 рублёвый дурачок накатал там
> что-то и вот давай это обсасывать везде.я спалил твою базу, скрипт на питоне. кто её написал - меня вообще не интересует.
впрочем, там и первого абзаца введения достаточно...
> http://fritzmorgen.livejournal.com/397939.htmlП...тая аргументация в пользу реализации вафли в опенбзде. Вот уж бзднул так бзднул.
> А теперь покажите создание нескольких интерфейсов на 1 phy. Скажем, как
> должно выглядеть создание 2х VIFов, пусть один будет клиентом, а второй
> - AP. Ну и как это ифконфигом? А как посмотреть уровень
> сигнала/шума на разных каналах? А список AP вокруг как получить? И
> это точно все к ифконфигу?Одна карта не может одновременно работать как точка доступа и как клиент.
Что касается остального:
ifconfig ral0 scan
ral0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:1f:1f:f9:ab:09
priority: 4
groups: wlan
media: IEEE802.11 autoselect
status: no network
ieee80211: nwid ""
nwid TP-LINK chan 13 bssid 00:19:e0:11:50:cd 66dB 54M privacy,short_preamble,short_slottime
nwid INETUNA chan 7 bssid 00:1d:7e:bd:46:35 68dB 54M privacy,short_slottime
nwid BUDDY chan 6 bssid 00:1f:c6:88:50:92 72dB 54M privacy,short_slottime
nwid "Fuby Port" chan 11 bssid 10:9a:dd:88:cf:a1 68dB 54M privacy,short_preamble,short_slottime
nwid ukrnafta.wifi.2.1 chan 7 bssid 28:93:fe:c5:e7:30 68dB 54M privacy,short_slottime
nwid AllStarNEST634 chan 11 bssid 74:ea:3a:b9:6f:fe 70dB 54M privacy,short_preamble,short_slottimeifconfig ral0 media
ral0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:1f:1f:f9:ab:09
priority: 4
groups: wlan
media: IEEE802.11 autoselect
status: no network
ieee80211: nwid ""
supported media:
media autoselect
media autoselect mediaopt ibss
media autoselect mediaopt hostap
media autoselect mediaopt monitor
media autoselect mode 11b
media autoselect mode 11b mediaopt ibss
media autoselect mode 11b mediaopt hostap
media autoselect mode 11b mediaopt monitor
media DS1 mode 11b
media DS1 mode 11b mediaopt ibss
media DS1 mode 11b mediaopt hostap
media DS1 mode 11b mediaopt monitor
media DS2 mode 11b
media DS2 mode 11b mediaopt ibss
media DS2 mode 11b mediaopt hostap
media DS2 mode 11b mediaopt monitor
media DS5 mode 11b
media DS5 mode 11b mediaopt ibss
media DS5 mode 11b mediaopt hostap
media DS5 mode 11b mediaopt monitor
media DS11 mode 11b
media DS11 mode 11b mediaopt ibss
media DS11 mode 11b mediaopt hostap
media DS11 mode 11b mediaopt monitor
media autoselect mode 11g
media autoselect mode 11g mediaopt ibss
media autoselect mode 11g mediaopt hostap
media autoselect mode 11g mediaopt monitor
media DS1 mode 11g
media DS1 mode 11g mediaopt ibss
media DS1 mode 11g mediaopt hostap
media DS1 mode 11g mediaopt monitor
media DS2 mode 11g
media DS2 mode 11g mediaopt ibss
media DS2 mode 11g mediaopt hostap
media DS2 mode 11g mediaopt monitor
media DS5 mode 11g
media DS5 mode 11g mediaopt ibss
media DS5 mode 11g mediaopt hostap
media DS5 mode 11g mediaopt monitor
media DS11 mode 11g
media DS11 mode 11g mediaopt ibss
media DS11 mode 11g mediaopt hostap
media DS11 mode 11g mediaopt monitor
media OFDM6 mode 11g
media OFDM6 mode 11g mediaopt ibss
media OFDM6 mode 11g mediaopt hostap
media OFDM6 mode 11g mediaopt monitor
media OFDM9 mode 11g
media OFDM9 mode 11g mediaopt ibss
media OFDM9 mode 11g mediaopt hostap
media OFDM9 mode 11g mediaopt monitor
media OFDM12 mode 11g
media OFDM12 mode 11g mediaopt ibss
media OFDM12 mode 11g mediaopt hostap
media OFDM12 mode 11g mediaopt monitor
media OFDM18 mode 11g
media OFDM18 mode 11g mediaopt ibss
media OFDM18 mode 11g mediaopt hostap
media OFDM18 mode 11g mediaopt monitor
media OFDM24 mode 11g
media OFDM24 mode 11g mediaopt ibss
media OFDM24 mode 11g mediaopt hostap
media OFDM24 mode 11g mediaopt monitor
media OFDM36 mode 11g
media OFDM36 mode 11g mediaopt ibss
media OFDM36 mode 11g mediaopt hostap
media OFDM36 mode 11g mediaopt monitor
media OFDM48 mode 11g
media OFDM48 mode 11g mediaopt ibss
media OFDM48 mode 11g mediaopt hostap
media OFDM48 mode 11g mediaopt monitor
media OFDM54 mode 11g
media OFDM54 mode 11g mediaopt ibss
media OFDM54 mode 11g mediaopt hostap
media OFDM54 mode 11g mediaopt monitor
media DS1
media DS1 mediaopt ibss
media DS1 mediaopt hostap
media DS1 mediaopt monitor
media DS2
media DS2 mediaopt ibss
media DS2 mediaopt hostap
media DS2 mediaopt monitor
media DS5
media DS5 mediaopt ibss
media DS5 mediaopt hostap
media DS5 mediaopt monitor
media DS11
media DS11 mediaopt ibss
media DS11 mediaopt hostap
media DS11 mediaopt monitor
media OFDM6
media OFDM6 mediaopt ibss
media OFDM6 mediaopt hostap
media OFDM6 mediaopt monitor
media OFDM9
media OFDM9 mediaopt ibss
media OFDM9 mediaopt hostap
media OFDM9 mediaopt monitor
media OFDM12
media OFDM12 mediaopt ibss
media OFDM12 mediaopt hostap
media OFDM12 mediaopt monitor
media OFDM18
media OFDM18 mediaopt ibss
media OFDM18 mediaopt hostap
media OFDM18 mediaopt monitor
media OFDM24
media OFDM24 mediaopt ibss
media OFDM24 mediaopt hostap
media OFDM24 mediaopt monitor
media OFDM36
media OFDM36 mediaopt ibss
media OFDM36 mediaopt hostap
media OFDM36 mediaopt monitor
media OFDM48
media OFDM48 mediaopt ibss
media OFDM48 mediaopt hostap
media OFDM48 mediaopt monitor
media OFDM54
media OFDM54 mediaopt ibss
media OFDM54 mediaopt hostap
media OFDM54 mediaopt monitorifconfig ral0 chan
ral0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:1f:1f:f9:ab:09
priority: 4
groups: wlan
media: IEEE802.11 autoselect (DS1)
status: no network
ieee80211: nwid ""
chan freq properties
1 2412 MHz -
2 2417 MHz -
3 2422 MHz -
4 2427 MHz -
5 2432 MHz -
6 2437 MHz -
7 2442 MHz -
8 2447 MHz -
9 2452 MHz -
10 2457 MHz -
11 2462 MHz -
12 2467 MHz -
13 2472 MHz -
14 2484 MHz -
> Одна карта не может одновременно работать как точка доступа и как клиент.Да что вы говорите? Я вот только сейчас для прикола поднял ровно такой конфиг на опенврте: прицепился по вафле как "клиент" и одновременно вывесил на том же радио (ибо другого все-равно нет) AP. Да, мне было интересно посмотреть на 2 x VIF. Вполне себе работает, получает интернет как клиент и выстреливает его в точку доступа "на ура". Единственное реальное ограничение - номер канала должен совпадать, так что у AP придется вешать на канал "как у AP того роутера к которому конектимся". Вытекает из умений адаптера, см. "valid interface combinations - #channels <= 1". Не умеет большинство адаптеров вещать/слушать более чем на 1 канал за раз.
Я кажется начинаю понимать: про то что на вафле можно делать VIF-ы с разными режимами работы/названиями AP/MACами/etc - бздюки как обычно прочухают лет через 10. И подумают о том как это настраивать "как-нибудь потом". Зато расово верно. А у пингвинов может и не расово верно, зато можно зафигачивать любые сочетания из "valid interface combinations". Здесь и сейчас. И почему-то "можно", в отличие от. И тот же iw кроме всего прочего это все умеет.
> Что касается остального:
...то там было много спама, не содержащего никакой особо полезной информации.
Ну вот для наворотов и пусть будет отдельная тулза. Вплоть до того, что ifconfig её и будет реально дергать, но для юз-кейсов аналогичных проводам - будет давать аналогичный же интерфейс. Или надо объяснять, почему унифицированный высокоуровневый интерфейс - это хорошо?
Wi-Fi не весь в ядре, а только небольшая часть, базовый уровень. Помимо него есть же ещё EAP, RADIUS клиент и т.д. их через ifconfig не настроить и в ядро не запихнуть.
А я кстати пожалуй согласен - тоже раздражало всегда, что для работы WPA/WPA2 демон какой-то требуется дополнительный... Т.е. может это и правильно с точки зрения архитектуры - типа модульнее? Но выглядит кривовато...А ещё зачем-то iwconfig выпиливают и заменяют на iw, интерфейс которого вот хоть ты тресни, никак запомнить не могу, неинтуитивный он.
> А ещё зачем-то iwconfig выпиливают и заменяют на iw, интерфейс которого вот
> хоть ты тресни, никак запомнить не могу, неинтуитивный он.Затем что iw использует актуальный интерфейс к ядру и умеет намного больше. А iwconfig и прочие - используют deprecated интерфейс к драйверам и не умеют половину опций выставлять.
Теперь замените iwconfig на ifconfig и iw на ip.
Ну и зачем плодить лишние сущности?В общем всё как обычно, Линукс - быстро и криво, BSD - вдумчиво, но медленно.
> Теперь замените iwconfig на ifconfig и iw на ip.Повторяю - нынче iwconfig и все что вокруг заменяют на iw, который умеет намного больше и не использует устаревший интерфейс расширений (ioctl), задействуя вместо него netlink.
> Ну и зачем плодить лишние сущности?
Покажите пожалуйста, как с точки зрения ifconfig должно выглядеть:
1) Взять phy (пусть phy0).
2) Создать на нем VIF с AP с одним SSID. Это будет гостевой, для всех.
3) Создать на нем VIF с AP с другим SSID. Это будет внутренний, не всех.
4) Создать VIF в режиме клиента, дабы взять по нему интернет с соседнего роутера, допустим.
5) А вот после того как мы слепили 3 виртуальных интерфейсы - мы уже подумаем какие им там айпи назначить и прочая.> вдумчиво, но медленно.
...и половина не работает...
> Повторяю - нынче iwconfig и все что вокруг заменяют на iw, который... до сих даже не умеет показывать txpower, да.
> ... до сих даже не умеет показывать txpower, да.Зато умеет уйму иных полезностей. Ну-ка скажи как на ifconfig сделать нечто типа iw dev wlan0 survey dump? Это мониторинг состояния каналов - уровень сигнала, шума, времени которое канал занят другими, etc. Полезная штука чтобы выбрать не сильно засрaнный канал для себя любимого.
>> ... до сих даже не умеет показывать txpower, да.
> Зато умеет уйму иных полезностей. Ну-ка скажи как на ifconfig сделать нечто
> типа iw dev wlan0 survey dump? Это мониторинг состояния каналов -
> уровень сигнала, шума, времени которое канал занят другими, etc. Полезная штука
> чтобы выбрать не сильно засрaнный канал для себя любимого.Вы меня таки путаете с защитниками BSD систем. А сделать это просто, отвечаю: включаете kismet и наблюдаете, какой же канал лучше.
> Вы меня таки путаете с защитниками BSD систем.Ну я не виноват что вы фигню несете похоже. Вон у этих орлов оказывается создавать несколько интерфейсов на одном радио - "нельзя". Надо же, я оказывается только вчера сделал "невозможное". А потом они еще удивляются - за что их систему считают недоразвитой.
> отвечаю: включаете kismet и наблюдаете, какой же канал лучше.
Это, конечно, круто, только это весьма отдельная утиля совсем иной направленности нежели системное администрирование и поэтому она делает много чего лишнего, а вот нужное через нее делать неудобно. Хотя, конечно, микроскопом тоже гвозди можно забивать.
Когда в 2007 году я покупал PCI-платку с Wi-Fi от Atheros, на коробке было написано что шифрование аппаратное. Аппаратное шифрование в линуксе не используется?
$ modinfo ath9k
parm: nohwcrypt:Disable hardware encryption (int)
> используется?Используется, если не попросить обратного. На обычных писюках это кстати пофигу. Роялит на всяких точках доступа - там проц поднапряжется большой поток софтварно шифровать.
> Кому в голову пришло беспроводные интерфейсы выделять в отдельные - тоже не ясноЭто как раз разумно. У беспроводки много отдельных параметров про которые обычные ifconfig и прочая - ни ухом, ни рылом. А откуда он знает что такое "100 милливаттов в эфир", "на 12-м канале", "режим - AP"? Это специфика беспроводки. То что всей этой кучей добра должен ifconfig рулить - совсем не очевидно.
А список точек доступа вокруг, к которым ассоциироваться будем - тоже ифконфиг? А то ifconfig up ничего не говорит - куда up, в каком режиме up, какая частота/мощность/etc.
И чем же "100 милливаттов в эфир", "на 12-м канале" приницпиально отличаются от "full duplex" и "100MBit"?
> И чем же "100 милливаттов в эфир", "на 12-м канале" приницпиально отличаются
> от "full duplex" и "100MBit"?Наверное тем что в типовом случае я могу совсем не указывать "full duplex" и "100Mbit" и будет выбран наилучший параметр. А вот канал, название, ... (для AP) или куда конектиться и тип сети - указать таки придется. В сумме там довольно дофига параметров (см. iw и что он умеет). То что весь этот шыт надо в ифконфиг засунуть - совсем не очевидно, имхо.
Ну и канал можете не указывать, и будет выбран дефолтный/лучший. То же самое с типом сети.
Куда коннектиться - не страшно и указать, либо по дефолту - к сети с наиболее сильным сигналом.Для AP отдельный демон - совершенно логичное решение, в конфиге - настройки.
> Ну и канал можете не указывать, и будет выбран дефолтный/лучший.А вот это для режима AP уже совсем не факт. Для клиента - будет выбран тот на котором нужная AP вещает. Но ее еще указать надо.
> Для AP отдельный демон - совершенно логичное решение, в конфиге - настройки.
Дяденька, у wireless разных режимов работы - как у дypaка фантиков.
Ну вот, с моего роутера:
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* WDS
* monitor
* mesh point
* P2P-client
* P2P-GO
software interface modes (can always be added):
* AP/VLAN
* monitor
valid interface combinations:
* #{ managed, WDS, P2P-client } <= 2048, #{ IBSS, AP, mesh point, P2P-GO } <= 8,
total <= 2048, #channels <= 1
Предлагается всему этому сакральному знанию научить ифконфиг? Кстати да, а как по вашему на ифконфиге должен выглядеть подъем 2 x AP с разными SSID + 1 клиента например? См. "valid interface combinations" - одно физическое радио может вывесить пачку "виртуальных" интерфейсов, одновременно являясь и клиентом, и AP или чем там еще.
Всё это отлично реализуется через параметры ifconfig при желании, вообще никакой проблемы не вижу.В OpenBSD это тупо работает(tm).
// b.
> Всё это отлично реализуется через параметры ifconfig при желании, вообще никакой проблемы
> не вижу.
> В OpenBSD это тупо работает(tm).
> // b.А в Linux, оно по вашему где реализовано? В WPA supplicant? WPA supplicant это же другой уровень протоколов Wi-Fi и встроить его в iwconfig не получится.
И не надо его туда встраивать, пусть демоном и будет.
И один ifconfig чтоб рулить интерфейсами. И отдельные mii-tool, iw и т.п. чтоб тонко настраивать физический layer.
Впрочем, в Линуксе всем пофиг, а для тёти Энни есть network manager.
А началось всё с Кузнецова с егойными ip и tc, к которым, по словам автора, вменяемую документацию написать невозможно если их полностью не переписывать.
Везде кроме Линукса такое называется "кривой прототип".
> А началось всё с Кузнецова с егойными ip и tc, к которым,
> по словам автора, вменяемую документацию написать невозможно если их полностью не
> переписывать.Боюсь, что автора Вы-таки не слушали.
К тому же к ip нормальная документация и встроенный cli help.
ip только в Линуксе могли счесть "нормальной"
> ip только в Линуксе могли счесть "нормальной"ip к беспроводным сетевкам вообще мало относится сам по себе.
> В OpenBSD это тупо работает(tm).Хочу посмотреть как ифконфигом создать несколько VIFов (мне просто интересно как это вообще должно выглядеть) и как им посмотреть уровень сигнал/шум на конкретном канале, например.
> У беспроводки много отдельных параметров про которые обычные ifconfig и прочая - ни ухом, ни рылом.И научить невозможно. Абсолютно. Никак.
// b.
> WPA supplicant работает через одно глубокое место, а в идеале должен был быть встроен в ifconfig/ip.mdoc.su/o/ifconfig
отучаемся говорить за весь опенсорц.
OpenBSD молодцы, но речь тут про Linux.// b.
> в идеале должен был быть встроен в ifconfig/ip.Не должен. IP - это один уровень, а шифрование (WPA supplicant) - это уже другой уровень.
Т.е. при подключении к шифрованной wifi сети сетевой интерфейс в начале получает параметры сети, ip адрес, маску подсети и возможно шлюз, а уже затем посредством ESSID и ключ шифрования устанавливается обмен шифрованными пакетам по сети.
Так реализовано в любой системе, будь то Windows, MacOSx, BSD или Linux.
Вот поэтому WPA supplicant отдельно, а ifconfig / iproute2 отдельно.
> в начале получает параметры сети, ip адрес, маску подсети и возможно шлюз, а уже затем посредством ESSID и ключ шифрования устанавливается обмен шифрованными пакетам по сети.Вы с ума сошли, либо вообще не понимаете как работает WEP/WPA.
Никакой IP вы не получите, с начала не включив шифрование и не пройдя авторизацию.
// b.
> Никакой IP вы не получите, с начала не включив шифрование и не
> пройдя авторизацию.Да. И почему проблемами физики и ее интимных особенностей должен заниматься именно ифконфиг - вообще не очевидно.
Вы модель OSI не понимаете и строите из себя ХЗ что.WPA supplicant это практически physical layer, i.e. настраивает параметры работы _железа_.
IP работает _выше_.
Столько недоспециалистов в одной теме сразу ещё ни разу не встречал.
// b.
> Вы модель OSI не понимаете и строите из себя ХЗ что.
> WPA supplicant это практически physical layer, i.e. настраивает параметры работы _железа_.
> IP работает _выше_.
> Столько недоспециалистов в одной теме сразу ещё ни разу не встречал.
> // b.А вы в общем то такой же недоспециалист, вещающий про отсутствие WPA supplicant в OpenBSD, вот почитайте на досуге про WPA supplicant в OpenBSD: http://undeadly.org/cgi?action=article&sid=20130128142215
You'll end up with something like:
# ifconfig rsu0 nwid humppa bssid 11:22:33:44:55:66 wpa wpaakms 802.1x up
Give it a couple of seconds to associate with the AP, and start wpa_supplicant:
# wpa_supplicant -i rsu0 -c /etc/wpa_supplicant.conf
> Вы модель OSI не понимаетеА вы понимаете? Видели рабочую имплементацию?
Господа гуру, подскажите, плиз! А можно сделать с помощью этого AP без bridge? Т.е. пусть будет отдельный интерфейс wlan0 или как-нибудь, чтобы клиент подключался и его уже по правилам маршрутизации куда надо футболило. Во всех мануалах упорно настраивают мост. Не нравится.
> всех мануалах упорно настраивают мост. Не нравится.Можете и не настраивать мост, на ваше усмотрение. Он используется по 1 простой причине: это самый простой способ гонять весь трафф между несколькими интерфейсами, в т.ч. проводными и беспроводными. Так что беспроводка станет продолжением проводной локалки (ну или что там у вас). Можете не делать это, только тогда вам придется как-то настраивать пропихивание траффика из беспроводной AP в остальные закоулки сети. Если оно вам конечно надо. Можно в принципе сделать и AP на интерфейсе который никуда не ведет вообще, но смысл этого остается загадкой. Ну разве что написать "FREE INTERNET", оставить открытым и потом делать ехидный тролфейс глядя на логи ассоциации всяких неудачников и их тщетные попытки получить халяву? :)
Спасибо. По мне так NAT настроить не сложнее Bridge. Зато потом всё разграничено хорошо, локалка и небезопасный wifi.
> Спасибо. По мне так NAT настроить не сложнее Bridge.NAT не особо взаимосвязан с bridge, ему все-равно куда натить. И роутингу все-равно куда маршрутизировать. Bridge в общем случае позволяет группе интерфейсов выглядеть как нечто типа 1 метаинтерфейса, с прозрачным проталкиванием траффика между составными частями и возможностью указать метаинтерфейс в качестве пункта назначения для роутинга, натинга и прочая. Айпишник назначается бриджу, а не составляющим его и-фейсам, etc. Если хочется засунуть вафлю и проводную локалку в одну подсеть и не делать между ними различий (как в типовом домашнем роутере по дефолту) - это "дешево и сердито". Единственная причина почему все маны это советуют. Минимум возни для наиболее типовой конфигурации "точки доступа".
> Зато потом всё разграничено хорошо, локалка и небезопасный wifi.
Если вы не хотите видеть вайфай как часть локалки - ну тогда нефиг его в бридж, логично. Только тогда вам придется настраивать пропуск траффика на 3 разные сети и скорее всего более 1 набора правил NAT. Само по себе ничему не противоречит.
а почему бы не сделать bridge..и рулить там через ebtables?
> а почему бы не сделать bridge..
> и рулить там через ebtables?Мсье знает толк...
Мост желателен если вы привязываетет какие-нить сетевые службы (типа DHCP) к интерфейсу. Беспроводной интерфейс любит отваливаться и подниматься после запуска служб.
Для hostapd есть возможность как-то мониторить клиентов, учитывая их текущие битрейты/коллизии в эфире, поддерживаемые ими возможности и т.д.? Куцый hostapd_cli не показывает практически ничего.
> в эфире, поддерживаемые ими возможности и т.д.? Куцый hostapd_cli не показывает
> практически ничего.Это скорее уже где-то в глубинах файловой системы вывешиваемой драйвером и сетевым стеком смотреть надо. Чисто технически такие данные есть, openwrt их даже на вебморду гламурненько вытаскивает. И битрейт и SNR. Можете посмотреть как они это делают.
настроил с hostapd wi-fi для телефона, вроде все пашет, но не так быстро как с компа. ролики на ютубе часто открывает с заметными тормозами, при перемотке то-же тормоза. подскажите что подкрутить можно?
карточка TP-LINK TL-WN851NDhostapd.conf:
interface=wlan0
driver=nl80211ssid=aaa
channel=6
hw_mode=gauth_algs=1
wpa=2
wpa_passphrase=bbb
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=CCMPwpa_psk_file=/etc/hostapd/wpa_psk
accept_mac_file=/etc/hostapd/hostapd.accept
macaddr_acl=1
ignore_broadcast_ssid=0
потестил скорость: 1.86M на прием, 8.68M на передачунашел и добавил супер опцию
ieee80211n=1
потестил скорость: 18.92M на прием, 23.82M на передачу
надеюсь кому-то поможет!
Очень хорошо. На моем dwa-140 упирается в 4мб/с, и все тут
А чё никто не сказал, "- почему bluetooth не всунули в ifconfig?"
Это ж дискриминация по аппаратному признаку!!! Требую сатисфакции!
Вообще-то верно, ifconfig'у должно быть пофиг на физическую реализацию интерфейсов, которые он призван конфигуировать на уровне tcp/ip
> он призван конфигуировать на уровне tcp/ipЧо?!!! :D
ifconfig имеет такое же отношение к TCP/IP, как и изготовитель кастрюль к французской кухне.
Еще раз - по слогам - на уровне TCP/IP. А вот всякие параметры физического уровня типа irq и io_addr оттуда давно надо бы убрать в соответствующие утилиты настройки физических интерфейсов - mii-too, iw и иже с ними.
> Еще раз - по слогам - на уровне TCP/IP.Иди книжке читай, филосаф. С Олиферов чтоль начни, иль Цисковые "объединённые сети".
Про модель OSI не почитать? С исходниками имплементации оной Ученым Комитетом?
Отсатисфачьте уже кто-нибудь его.
в hostapd преодолели пресловутое ограничение в 4МБ/с?
Имеется в виду опция noscan?
https://dev.openwrt.org/browser/trunk/package/network/servic...
Возможно. С патчем скорость передачи возрастает?
В апстрим он попадет когда-нить?
Скорость возрастает так как патч позволяет использовать два канала в режиме HT, а без патча если после сканирования обнаружится AP, использующая соседний канал, то он использоваться не будет.
В апстрим не попадёт потому, что там считают, что он нарушает некие стандарты.
> Возможно. С патчем скорость передачи возрастает?Зависит от эфирной обстановки.
Краткая справка: если точка доступа видит что на вспомогательном канале кто-то есть, задумка стандарта такова что вещание на нем должно прекратиться, чтобы не мешать тому кто там обитает. Ну и вместо 40МГц будет 20. Вместо 150Мбит на поток - максимум 75, так что 1-поточный адаптер выдаст 75 мбит, 2-поточный 150, ну и так далее. В openwrt есть небольшой патчик который позволяет насильно ввинтить 40MHz невзирая ни на что. При этом скорость будет в 2 раза выше. Ценой некоторого покладания на стандарт.
Одновременно вещать сети в двух диапазонах 2.4 и 5 GHz научился уже?