- Соединение точка-точка (ad-hoc) по WiFi между Ubuntu Linux и Windows XP
- June 18, 2013
- Шаг Первый — настройка ad-hoc wifi в Ubuntu Karmic
- Шаг Второй — Настройка ad-hoc wifi в Windows XP
- Шаг Третий — тестирование сети из Ubuntu
- TypeScript — размеченные объединения
- WiFi AdHoc
- Debian Method
- Manual Method
- Настройка Wifi в Linux при помощи Adhoc на примере Ubuntu
- Linux WiFi из командной строки с wpa_supplicant
- Общие сведения о wpa_supplicant
- Установка
- Подключение без конфиг файла
- Подключение к Ad-Hoc сети
- Настройка для домашней сети
- Настройка 802.1X для офиса
- Привязка wpa_supplicant к сетевой карте
- Отладка
Соединение точка-точка (ad-hoc) по WiFi между Ubuntu Linux и Windows XP
June 18, 2013
Рассмотрим случай, когда на одной машине (desktop) стоит все та же Ubuntu, а на другой машине (notebook) стоит Windows XP.
Необходимо соединить оба компьютера по ad-hoc wifi. Требуется создать локальную домашнюю сеть, которая называется одноранговой. Другими словами, у нас нет в наличии таких сетевых устройств, как концентратор, коммутатор или маршрутизатор. Соединение между двумя (в нашем случае) компьютерами будет установлено напрямую, точка-точка . В первом шаге настроим сеть на десктопе в Ubuntu. Затем повторим настройку на ноутбуке в Windows XP.
И в заключение, протестируем созданную нами сеть.
Шаг Первый — настройка ad-hoc wifi в Ubuntu Karmic
Открываем NetworkManager правым щелчком мыши на значке в Панели Gnome и выбираем “Edit connections”. Появляется окно “Network Connections”.
Переходим на вкладку “Wireless” (Беспроводные):
Нажимаем Add (Добавить). Появляется окно из четырех вкладок (tabs) для создания нового соединения. В первой вкладке вводим общую информацию о создаваемой нами сети:
- Connection name (имя сети) — это имя сети, которое будет отображаться на компьютере и в списке сетей NetworkManager;
- SSID — реальное имя сети. Каждая сеть Wi-Fi имеет свое имя, по которому сетевые устройства распознают их и подключаются к ним;
- Mode — режим сети. В выпадающем списке выбираем режим сети Ad-hoc;
- остальные три поля — BSSID , MAC address и MTU оставляем пустыми.
Переходим на вкладку “Wireless Security”. Оставляем поле “Security” пустым (None):
Далее, переходим на вкладку “IPv4 Settings”. Здесь мы выбираем метод получения IP-адреса компьютером в сети. В нашем случае мы задаем его вручную.
Для этого в выпадающем списке “Method” выбираем “Manual” (Ручной). Затем, в поле “Addresses” (Адреса) нажимаем кнопку Add (Добавить) и последовательно задаем IP-адрес 192.168.0.30 , маску сети “Netmask” 255.255.255.0 и шлюз сети “Gateway” 1.1.1.1 . Поля “DNS servers” и “Search domains” оставляем пустыми:
Вкладку “IPv6 Settings” оставляем как есть, ничего не конфигурируя (Method — Ignore):
Нажимаем кнопочку Apply (Применить) и видим конечный результат работы — список сетей в “NetworkManager” и нашу Windows_XP среди них:
Закрываем окно. Вновь нажимаем, теперь уже левой кнопкой мыши, на значке “NetworkManager” в Панели Gnome. Выбираем в выпавшем списке “Connect to hidden wireless network” (Подключиться к скрытой беспроводной сети).
В списке “Connection” выбираем нашу Windows XP и нажимаем Connect (Соединить):
В эмуляторе терминала набираем команду:
и видим, что сетевой интерфейс поднят и сеть запущена:
Шаг Второй — Настройка ad-hoc wifi в Windows XP
Открываем в “Панели управления” — “Сетевые подключения”:
Кликаем правой кнопкой мыши на значке “Беспроводное сетевое соединение” и в контекстном меню — “Properties” (Свойства). В окне “Свойств” находим в самом низу строку “Протокол Интернета (TCP/IP)”:
Нажимаем “Свойства”. Открывается окно настроек TCP/IP. Здесь мы задаем IP-адрес, маску сети и шлюз сети так же, как и в NetworkManager, за исключением того, что IP-адрес у нас будет несколько иной — 192.168.0.31 :
Нажимаем OK . Далее кликаем левой кнопкой мыши на значке “Беспроводное сетевое соединение” в “Сетевые подключения” “Панели управления”. Открывается окно со списком беспроводных сетей, находящихся в зоне доступа компьютера:
Выбираем “Установить беспроводную сеть” для создания сети ad-hoc . Запускается “Мастер беспроводной сети”, пошагово проведущий по несложной настройке новой сети windows:
Нажимаем “Готово”. Вновь открывается окно со списков доступных беспроводных сетей. В этом списке появилась и наша windows:
Выбираем сеть windows и нажимаем “Подключить”:
В итоге получаем подключение к сети windows:
Шаг Третий — тестирование сети из Ubuntu
Ping самих себя:
Ping Windows XP:
Трассировка Windows XP:
Сканирование портов Windows XP:
TypeScript — размеченные объединения
> Пользовательское объединение типов — что это и как можно использоватьПомимо объединения **примитивных** типов данных (например):<% high. … Continue reading
Источник
- WiFi
- AdHoc
This page describes how to establish a decentralized WiFi network.
A wireless ad-hoc network — also known as Independent Basic Service Set (IBSS) — consists of local wireless devices (nodes) discovering each other and forming a network, each able to forward data for other nodes. An access point is not required for managing this communication.
In the following examples, two wireless LAN clients will be configured as ad-hoc network nodes with static IP addressing. Before continuing, install the wireless-tools package.
Debian Method
On each node, open /etc/network/interfaces in a text editor:
Define stanzas for each node’s wireless interface, setting the network SSID and the device’s operating mode to ad-hoc:
Node B
Save the file and exit the editor.
Raise the interface on each node:
Scan for ad-hoc cells in range (necessary for some drivers to trigger IBSS scanning):
To test, ping node A from node B:
For general /etc/network/interfaces information, see the interfaces(5) man page.
Manual Method
On each node, bring the wireless interface down, change the device’s operating mode and SSID, then raise the interface:
Scan for ad-hoc cells in range (necessary for some drivers to trigger IBSS scanning):
On each node, assign an IP address to the wireless interface:
To test, ping node A from node B:
Источник
Настройка Wifi в Linux при помощи Adhoc на примере Ubuntu
Эта тема уже не раз поднималась, но хорошей и легкой инструкции я так и не нашел.
Данная статья расчитана на новичков в мире Linux поэтому тут используются наиболее легкие методы настройки.
Для начала ставим пакеты:
sudo apt-get install wireless-tools dhcp3-server
Далее создаем сеть через апплет например название «My Wifi»
И настроим интерфейс(для определения интерфейса воспользуйтесь командой iwconfig)
Пишем в консоли из под root
ifconfig wlan0 down
iwconfig wlan0 mode ad-hoc
iwconfig wlan0 channel 1
iwconfig wlan0 Bit 54Mb/s
iwconfig wlan0 essid ‘My Wifi’
ifconfig wlan0 10.42.43.1 netmask 255.255.255.0 up
iwconfig wlan0
ifconfig wlan0 up
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Разберем шаги:
- ifconfig wlan0 down — отключаем интерфейс.
- iwconfig wlan0 mode ad-hoc — устанавливаем режим Ad-hoc
- iwconfig wlan0 channel 1 — ставим ad-hoc канал
- iwconfig wlan0 Bit 54Mb/s — скорость(по стандарту 11Mb/s)
- iwconfig wlan0 essid ‘My Wifi’ — название нашей созданной сети
- ifconfig wlan0 10.42.43.1 netmask 255.255.255.0 up — IP адрес компьютера и маска подсети
- iwconfig wlan0 — проверяем настройки
Вот мои:
wlan0 IEEE 802.11bg ESSID:»Bupyc»
Mode:Ad-Hoc Frequency:2.412 GHz Cell: 8A:BF:88:4B:4E:60
Tx-Power=11 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 - ifconfig wlan0 up — запускаем интерфейс
- echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Настраиваем раздачу интернета через NAT
Не забываем подставить свой интерфейс и IP адреса.
Данные команды можно добавить в автозагрузку, ибо эти настройки иногда сбрасываются
Настроим dhcp для раздачи ip адресов.
sudo gedit /etc/dhcp3/dhcpd.conf
Cтираем там все(если не нужно) и пишем
ddns-update-style ad-hoc;
default-lease-time 3600;
max-lease-time 9000;
authoritative;
log-facility local7;
subnet 10.42.43.0 netmask 255.255.255.0 <
interface wlan0;
range 10.42.43.2 10.42.43.255;
option domain-name-servers 195.34.32.116; # пишем либо свой dns сервер, либо dns провайдера
option routers 10.42.43.1;
option broadcast-address 10.42.43.0;
>
sudo gedit /etc/default/dhcp3-server
Там пишем интерфейс откуда идет интернет.
INTERFACES=»eth0″
Перезапускаем dhcp
sudo /etc/init.d/dhcp3-server restart
Также для автоматической настройки можно прописать в файле /etc/network/interfaces все параметры. sudo gedit /etc/network/interfaces
auto wlan0
iface wlan0 inet static
address 10.42.43.1
netmask 255.255.255.0
broadcast 10.42.43.255
network 10.42.43.0
wireless-essid Bupyc
wireless-mode ad-hoc
wireless-channel 11
wireless-rate 54Mb/s
Теперь достаточно соединиться с любого устройства к данной сети и интернет будет работать.
Это первая моя статья на хабре, так что строго не судите.
Источник
Linux WiFi из командной строки с wpa_supplicant
В этой статье я расскажу, как можно настроить WiFi с помощью wpa_supplicant, без всяких Xorg/X11 утилит. Это необходимо для того, чтобы базовые службы ОС исправно работали с минимальным набором технических средств удаленного доступа. Программа будет исполняться как служба, настройки сделаны правкой конфиг файлов.
По-быстрому, установить соединение с открытой точкой доступа можно таким образом.
Если же надо всерьез и надолго, то прошу внутрь.
Общие сведения о wpa_supplicant
Что из себя представляет wpa_supplicant?
- Кросс-платформенная открытая реализация стандарта IEEE 802.11 для Linux, *BSD, Windows, Mac OS X и прочих систем.
- Полная поддержка WPA2, WPA и более старых протоколов безопасности беспроводной LAN сети.
- Приложение пользовательского пространства, выполняющее функции саппликанта и SME оператора, исполняющего MLME инструкции.
- WPA и полностью IEEE 802.11i/RSN/WPA2.
- WPA-PSK и WPA2-PSK (pre-shared key) («WPA-Personal»).
- WPA вместе с EAP (т.е., сервером аутентификации RADIUS) («WPA-Enterprise») управление ключами CCMP, TKIP, WEP (104/128 и 40/64 бит).
- Кэширование RSN, PMKSA: предварительную аутентификацию.
Как wpa_supplicant устанавливает связь с точкой доступа?
- Cетевой интерфейс должен исправно функционировать с установленным драйвером, прежде чем wpa_supplicant запустится.
- Wpa_supplicant запрашивает драйвер ядра сканировать доступные Basic Service Set (BSS).
- Wpa_supplicant производит выбор BSS в соответствии с настройками.
- Wpa_supplicant запрашивает драйвер ядра установить соединение с выбранной BSS.
- Для WPA-EAP: аутентификацию EAP производит встроенный IEEE 802.1X Supplicant, либо же внешний Xsupplicant с сервером аутентификации.
- Для WPA-EAP: получен мастер-ключ от IEEE 802.1X Supplicant.
- Для WPA-PSK wpa_supplicant использует пароль PSK в качестве мастер-ключа сессии.
- Wpa_supplicant производит с аутентификатором точки доступа 4-х этапное согласование [1] и групповое согласование ключей.
- Wpa_supplicant производит шифрование однонаправленных и широковещательных пакетов [2] , после чего начинается обычный обмен данными.
Главный и большой плюс wpa_supplicant — его юниксвейность, то есть соответствие принципу Unix Way, когда программа делает что-то одно, но делает это хорошо. В каком-то смысле wpa_supplicant также Gentoo Way. Она требует некоторого внимания и терпения вначале, но затем о ней можно напрочь забыть. После того как программа настроена и пущена в дело, она полностью выпадает из потока событий, превращаясь в пару строк из ps -ef . Она не сверкает и не мигает в системном трее, не оповещает о разведанных, подключенных и отключенных беспроводных сетях. Ее просто нет, пока вы сами ее не поищите.
Из минусов — сложность настройки и конфигурации. Много возни по сравнению с тырк-тырк-тырк в окне Network Manager , не говоря уже о WiFi подключении с любого Андроид устройства. Если вы собираетесь в поездку с Linux ноутбуком, то наверняка предпочтете более дружественный фронтенд настройки беспроводной сети, чтобы быстро подключаться к бесплатным точкам доступа WiFi в аэропорту, гостинице или в рабочей обстановке. Для домашнего же беспроводного интернета — самое то.
Установка
Если не выбирать графический фронтенд, то программа почти не тянет за собой никаких зависимостей. Для Gentoo Linux сгодится установка с выставленными флагами как показано.
- emerge -av wpa_supplicant #Gentoo
- aptitude install wpasupplicant #Debian
- yum install wpa_supplicant #Redhat
- pacman -S wpa_supplicant #Arch
Подключение без конфиг файла
Если вам нужно подключиться только один раз, то необходимости создавать файл конфигурации и вникать во все тонкости настройки, нет. Достаточно набрать несколько инструкций из командной строки.
Пример для открытой сети был показан в самом начале. Для закрытой WPA сети быстрое подключение выгладит так:
В начале надо запустить саму программу wpa_supplicant и сопутствующую wpa_cli .
Затем настройка из интерактивного интерфейса wpa_cli .
Для закрытой WPA2 сети:
В конце необходимо вручную запустить демон DHCP.
Подключение к Ad-Hoc сети
Никогда с такой не сталкивался, но готовым нужно быть ко всему. Подключение к открытой ad-hoc.
То же самое с помощью iw .
Настройка для домашней сети
Теперь самое интересное — настройка. Этот процесс задокументирован для Arch Wiki, Debian Wiki и Gentoo Wiki, но всех деталей там естественно нет.
Программа обычно ставится в директорию /etc/wpa_supplicant/ , и наша задача — правильно настроить конфигурационный файл wpa_supplicant.conf , и привязать его к автозапуску беспроводного сетевого интерфейса.
Начнем с wpa_supplicant.conf . Если вы подключаетесь из дома к WPA/WPA2, то скорее всего используете пароль для WiFi соединения, что соответствует режиму WPA-PSK («WPA-Personal») . Мы не будет рассматривать варианты с WEP шифрованием, так как оно ненамного лучше открытой сети.
Возьмем типовой конфиг из документации. Например такой.
Первая строка необходима, без ctrl_interface программа даже не запустится. GROUP=wheel нужно для того, чтобы запускать из под обычного пользователя в графическом интерфейсе wpa_gui, но это не наш путь. Поэтому меняем на рутовый GROUP=0 .
Каждой сети в файле настроек должен соответствовать блок network <> . Покопавшись в исходниках, обнаружил нашел годное писание переменной ap_scan в файле config.h , а в мануале и руководстве пользователя ее описание очень скудное.
ap_scan — AP scanning/selection
By default, wpa_supplicant requests driver to perform AP scanning and then uses the scan results to select a suitable AP. Another alternative is to allow the driver to take care of AP scanning and selection and use wpa_supplicant just to process EAPOL frames based on IEEE 802.11 association information from the driver.
1: wpa_supplicant initiates scanning and AP selection (default).
0: Driver takes care of scanning, AP selection, and IEEE 802.11 association parameters (e.g., WPA IE generation); this mode can also be used with non-WPA drivers when using IEEE 802.1X mode;
do not try to associate with APs (i.e., external program needs to control association). This mode must also be used when using wired Ethernet drivers.
2: like 0, but associate with APs using security policy and SSID (but not BSSID); this can be used, e.g., with ndiswrapper and NDIS drivers to enable operation with hidden SSIDs and optimized roaming;
in this mode, the network blocks in the configuration are tried one by one until the driver reports successful association; each network block should have explicit security policy (i.e., only one
option in the lists) for key_mgmt, pairwise, group, proto variables.
Note: ap_scan=2 should not be used with the nl80211 driver interface (the current Linux interface). ap_scan=1 is optimized work working with nl80211. For finding networks using hidden SSID, scan_ssid=1 in the network block can be used with nl80211.
- bssid — The Basic Service Set Identifier (BSSID), физический адрес точки доступа.
- key_mgmt — Протоколы аутентификации.
- pairwise — Для WPA2 укажите CCMP, а для WPA — TKIP.
- proto — WPA/WPA2.
- psk — Хэш пароля PreShared Key.
group: list of accepted group (broadcast/multicast) ciphers for WPA
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]
WEP104 = WEP (Wired Equivalent Privacy) with 104-bit key
WEP40 = WEP (Wired Equivalent Privacy) with 40-bit key [IEEE 802.11]
If not set, this defaults to: CCMP TKIP WEP104 WEP40
pairwise: list of accepted pairwise (unicast) ciphers for WPA
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]
NONE = Use only Group Keys (deprecated, should not be included if APs support pairwise keys)
proto: list of accepted protocols
WPA = WPA/IEEE 802.11i/D3.0
RSN = WPA2/IEEE 802.11i (also WPA2 can be used as an alias for RSN)
If not set, this defaults to: WPA RSN
key_mgmt: list of accepted authenticated key management protocols
WPA-PSK = WPA pre-shared key (this requires ‘psk’ field)
WPA-EAP = WPA using EAP authentication (this can use an external program, e.g., Xsupplicant, for IEEE 802.1X EAP Authentication
IEEE8021X = IEEE 802.1X using EAP authentication and (optionally) dynamically generated WEP keys
NONE = WPA is not used; plaintext or static WEP could be used
If not set, this defaults to: WPA-PSK WPA-EAP
Создаем хэш пароля для psk :
Все готово, чтобы создать конфиг сети. Итоговый файл должен выглядеть как-то так.
Верные значения для bssid , group , proto и pairwise можно определить, сканируя беспроводную сеть.
Команда iwlist из набора Wireless Tools устарела, вместо нее сейчас iw .
Настройка 802.1X для офиса
Стандарт IEEE 802.1X определяет более строгую модель подключения к WiFi сети. Вместо psk пароля необходимо предъявить серверный сертификат.
- ca_cert — Абсолютный путь к CA-сертификату в формате PEM или DER, необходим для возможности подтверждения сертификата сервера.
- ca_path — Абсолютный путь к директории, где хранятся файлы CA-сертификатов (в формате PEM), которые вы хотите добавить в список доверенных.
- client_cert — Абсолютный путь к клиентскому сертификату в формате PEM или DER.
- eap — Разделенный пробелами список поддерживаемых методов EAP: MD5, MSCHAPV2, OTP, GTC, TLS, PEAP, или TTLS.
- identity — Идентификации EAP, например имя пользователя.
- password — Пароль EAP.
Так может выглядеть блок, настроенный для подключения к сети в режиме WPA-Enterprise с аутентификацией 802.1X PEAP, в котором требуется ввод данных учетной записи пользователя:
А это пример блока, настроенного для подключения к сети в режиме WPA-Enterprise с аутентификацией 802.1X EAP-TLS, в котором требуются серверный и клиентский сертификаты:
Привязка wpa_supplicant к сетевой карте
Для Gentoo Linux надо добавить 2 строки в /etc/conf.d/net .
Список поддерживаемых -D драйверов. Для современных чипов и версий ядра подойдет nl80211 . На старом железе может взлететь wext .
- nl80211 — New driver.
- wext — Linux wireless extensions (generic).
- wired — wpa_supplicant wired Ethernet driver.
- roboswitch — wpa_supplicant Broadcom switch driver.
- bsd — BSD 802.11 support (Atheros, etc.).
- ndis — Windows NDIS driver.
Сетевая карта wlan0 должна быть залинкована с lo0 .
Следует также добавить wpa_supplicant в автозапуск.
Пользователи Debian добавляют запись в файл /etc/network/interfaces .
Пользователи RedHat добавляют в /etc/sysconfig/wpa_supplicant
а в файл /etc/sysconfig/network-scripts/ifcfg-wlan0
Отладка
После того как wpa_supplicant успешно подключилась к точке доступа, в dmesg можно увидеть протокол установки соединения.
Если же вместо этого вы увидите ошибку:
то скорее всего, надо использовать драйвер wext вместо nl80211 . А с ошибкой:
наоборот, вместо wext надо подставить nl80211 .
В ситуации, когда вы не можете определить ошибку, запустите wpa_supllicant напрямую с ключем -dd .
Источник