Что такое Ad Hoc в Wi-Fi сети, для чего нужен и как настроить на Windows 10, 7 и XP?
Всем привет! Ad hoc – это режим беспроводной сети, которая не имеет постоянной структуры и строится «на лету», благодаря сопряжению пары устройств. Такой режим еще называют IBSS (Independent Basic Service Set) или P2P «точка-точка». Чтобы его реализовать, достаточно, чтобы оба устройства были снабжены Wi-Fi адаптерами, а в операционной системе, через которую с ними можно взаимодействовать, были установлены драйвера.
Принцип работы Ad hoc
Для режима Ad Hoc необходимо минимум оборудования. Главное, чтобы каждая станция была наделена WiFi–адаптером. Создавать какую-либо сеть при этом не нужно.
Данный режим подразумевает участие каждого узла в маршрутизации с помощью транзита данных для прочих узлов. Узнать, какие узлы пересылают информацию, можно основываясь на используемый алгоритм маршрутизации. Ad Hoc обычно реализуют для создания временных сетей. Например, когда нужно связать ПК с внешним Wi-Fi адаптером, и ноутбук (с внутренним беспроводным модулем).
Как подключить? Все зависит от того, какая версия Windows установлена на вашем компьютере. Отчет начнем с самой современной – Windows 10.
Windows 10
Чтобы создать сопряжение между двумя устройствами, на одном из них нужно создать Wi-Fi, а на втором к ней присоединиться.
- В правом нижнем углу экрана нажмите на «Панель уведомлений».
- Нажмите на иконку «Мобильный Хот-спот».
На другом устройстве запустите Wi-Fi поиск и подключитесь к только что созданной точке. Готово, P2P настроен.
Windows 7
В семерке настройка займет немного больше времени:
control.exe /name Microsoft.NetworkandSharingCenter
Затем с другого устройства включите поиск Wi-Fi сети и присоединитесь к этой точке.
Windows XP
Такой способ можно реализовать и на Виндовс XP:
- Нажмите + R и введите: ncpa.cpl.
- Кликните ПКМ по иконке беспроводной сети и зайдите в «Свойства».
- Присвойте сети IP-адрес и кликните на строку ниже, для автоматического подтягивания макси подсети.
Теперь на втором компьютере:
- Зайдите в окно через команду «WIN+R=cpl», и кликнув ПКМ по беспроводному подключению выберите «Просмотр доступных Wi-Fi сетей».
- Вручную введите IP-адрес для беспроводного сетевого соединения, прописав его так, чтобы оба компьютера были в одной локальной сети (отличались только последние цифры из пула).
Готово, коннект Peer-to-Peer завершен и настроен.
Как соединить PC и смартфон по WiFi Ad-Hoc
Иногда нужно подключить телефон к интернету, но не через GPRS, а, например, через домашнего провайдера. Можно установить на смартфон GNUBox и попытаться брать интернет с домашнего компа через Bluetooth. Правда, говорят, после GNUBox’а на смартфорне начинают глючить обычные соединения. Можно поставить роутер с WiFi — и подключаться смартфоном к нему.
Если же нет желания разбираться с GNUBox’ом или покупать WiFi-роутер, можно настроить на домашнем компьютере WiFi Ad-Hoc соединение. Настроив Ad-Hoc WiFi между домашним компьютером и смартфоном, я получила возможность из дома звонить через SIP-клиент моего мобильника. Но главное — я смогла заставить дочку звонить на чужие мобильные не с домашнего МГТСовского телефона, а через SIP ее Nokia E70 (заставить ребенка надеть наушники и звонить с компа было нереально — она привыкла скакать по квартире, часами болтая по телефону). Экономия составила почти тысячу в месяц 🙂
Описанное ниже я делала, имея:
— компьютер с Fedora 7;
— WiFi-донгл ASUS WL-169gE;
— смартфон Nokia E61.
Если в вашем компьютере нет встроенного WiFi-модуля, купим внешний USB WiFi-адаптер и поколдуем над драйверами. Если же WiFi-модуль встроенный и определился системой (как в моем случае), переходим к пункту, посвященному настройке сетевого соединения .
УСТАНОВКА ДРАЙВЕРА
Для подключения своего USB WiFi-адаптера ASUS WL-169gE я воспользовалась утилитой ndiswrapper , которую установила следующим образом (замечу, что в начале установки WiFi-адаптер НЕ ДОЛЖЕН быть подключен к компьютеру):
# yum install ndiswrapper kmod-ndiswrapper
Драйвера, идущие с адаптером на CD, не годятся, поэтому пришлось скачать свежую версию с сайта www.asus.com и распаковать драйвер для Windows XP. Установим эти драйвера с помощью ndiswrapper (инструкцию для установки этого и других адаптеров можно найти на ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,list_a/):
# /usr/sbin/ndiswrapper -i bcmrndis.inf
# cp RNDISMPK.sys /etc/ndiswrapper/bcmrndis/rndismpk.sys
# cp usb8023k.sys /etc/ndiswrapper/bcmrndis/
Посмотрим на статус только что установленного драйвера:
# /usr/sbin/ndiswrapper -l
bcmrndis: driver installed
Теперь пропишем в файле /etc/udev/rules.d/99-custom.rules (если этого файла нет — создадим его) строку:
BUS==«usb», SYSFS==«1717», SYSFS==«0B05», RUN+
Подключим WiFi-брелок к USB-порту.
Загрузим ndiswrapper в память:
# /sbin/modprobe -v ndiswrapper
А вообще эту команду стоит прописать в rc.local .
Командой
# /sbin/iwconfig
можно посмотреть конфигурацию беспроводной карты.
Чтобы устройство подключалось при загрузке, добавим в /etc/modprobe.conf строку:
alias wlan0 ndiswrapper
Теперь при загрузке система будет находить и инициализировать WiFi-адаптер.
НАСТРОЙКА СЕТЕВОГО СОЕДИНЕНИЯ НА КОМПЬЮТЕРЕ
Создадим на компьютере 6 файлов. На том компе, к которому я подключала внешний WiFi, система определила WiFi-адаптер как устройство с именем wlan0 . На ноутбуке со встроенным WiFi-модулем он носит «системное имя» eth1 . Соответственно, для моего компа с внешним WiFi имя первого из перечисленных ниже файлов — /etc/sysconfig/network-scripts/ifcfg-wlan0 (этого файла не было в системе, я его создала), а для ноута со встроенным модулем — /etc/sysconfig/network-scripts/ifcfg-eth1 (этот файл уже существовал, и я просто отредактировала его, сделав на всякий случай копию старого файла). Итак, вот 6 файлов, определяющих конфигурацию сетевого соединения:
/etc/sysconfig/network-scripts/ifcfg-имя WiFi-адаптера
/etc/sysconfig/network-scripts/keys-имя WiFi-адаптера
/etc/sysconfig/networking/devices/ifcfg-имя WiFi-адаптера
/etc/sysconfig/networking/devices/keys-имя WiFi-адаптера
/etc/sysconfig/networking/profiles/default/ifcfg-имя WiFi-адаптера
/etc/sysconfig/networking/profiles/default/keys-имя WiFi-адаптера
В файлах keys-имя WiFi-адаптера пропишем строку (укажите здесь свои 13 цифр, которые будут использоваться в качестве ключа для доступа к сети):
KEY=s:1234567890123
А в файл ifcfg-имя WiFi-адаптера — конфигурацию WiFi-адаптера, назначив ему IP-адрес 10.0.0.1, а WiFi-сети — имя my_wifi:
# Please read /usr/share/doc/initscripts-*/sysconfig.txt
# for the documentation of these parameters.
ONBOOT=yes
USERCTL=yes
IPV6INIT=no
PEERDNS=yes
TYPE=Wireless
DEVICE=имя WiFi-адаптера
HWADDR=
BOOTPROTO=none
DOMAIN=
ESSID=my_wifi
CHANNEL=3
MODE=Ad-Hoc
RATE=Auto
NETMASK=255.255.255.0
DHCP_HOSTNAME=
IPADDR=10.0.0.1
Перезагрузимся или включим только что произведенные настройки без перезагрузки, скомандовав:
# /sbin/ifup wlan0
НАСТРОЙКА СЕТЕВОГО СОЕДИНЕНИЯ НА СМАРТФОНЕ
Связь -> Дисп.соед. -> Доступн.WLAN . В списке обнаруженных сетей должна появиться только что созданная my_wifi. Закроем список сетей и перейдем к «рабочему столу» телефона. Теперь Меню -> Средства -> Настройки -> Соединения -> Точки доступа . Функции -> Новая тчк доступа -> Исп. стд параметры . Заполним появившиеся поля настройки соединения:
Имя соединения: my_wifi
Канал данных: WLAN
Имя сети WLAN: поиск сетевых имен
Состояние сети: Открытая
Режим сети WLAN: Одноранговая
Режим защиты WLAN: WEP
Пар. защиты WLAN:
Текущий ключ WEP: #1
Тип аутентификац.: Открытый
Парам. ключа WEP:
Шифрование WEP: 64 бит
Формат ключа WEP: ASCII
Ключ WEP: 1234567890123 (сюда нужно прописать те 13 цифр, которые мы ранее указали в файлах keys-wlan0)
Теперь назначим телефону IP:
Функции -> Доп.параметры -> Настройки IPv4
IP-адрес телефона: 10.0.0.2
Маска подсети: 255.255.255.0
Шлюз по умолчанию: 10.0.0.1
Адрес DNS: сюда пропишем адреса DNS-серверов, которые указаны в на компьютере в настройках соединения интернет .
Теперь, запустив на смартфоне PuTTY, браузер или FTP-клиент, мы можем соответственно, работать на компьютере в текстовой консоли, обращаться к нему как к Web- или FTP-серверу. Главное, чтобы на компьютере крутился Apache и какой-нибудь FTP-сервер (о простейшей настройке компа как сервера я уже писала ).
НАСТРОЙКА РАБОТЫ С КИРИЛЛИЦЕЙ ДЛЯ PuTTY
Так как у меня по умолчанию стоит локаль ru_RU.UTF-8 (проверить локаль можно командой $ locale ), то для того, чтобы при входе со смартфонной PuTTY читабельными были все символы, а не только латынь, пришлось дописать в конец файла ~/.bashrc следующие команды:
if [[ «$TERM» = «xterm» ]] && [[ «$LANG» = *.UTF-8 ]]; then
# putty needs it to enable utf-8
echo -ne ‘\e%G’
fi
На компьютере создадим файл /opt/iptables.txt и введем в него следующий текст. Внимание: в приведенном ниже тексте замените в трех местах адрес 130.234.201.155 на IP-адрес своего компьютера в локальной сети (домашней или рабочей, через которую ваш комп может выходить в интернет), например на 192.168.1.2 , а встречающуюся один раз пару 130.234.0.0/255.255.0.0 на данные, соответствующие настройкам вашей сети, например, 192.168.1.0/255.255.255.0 ):
# Generated by iptables-save v1.3.5 on Tue Dec 12 06:08:26 2006
*nat
:PREROUTING ACCEPT [102343:16097956]
:POSTROUTING ACCEPT [11574:715293]
:OUTPUT ACCEPT [11574:715293]
-A POSTROUTING -s 10.0.0.0/255.255.255.0 -o eth0 -j SNAT —to-source 130.234.201.155
COMMIT
# Completed on Tue Dec 12 06:08:26 2006
# Generated by iptables-save v1.3.5 on Tue Dec 12 06:08:26 2006
*filter
:INPUT ACCEPT [746408:376053423]
:FORWARD ACCEPT [69495:52803710]
:OUTPUT ACCEPT [314025:40294091]
-A INPUT -s 130.234.0.0/255.255.0.0 -d 130.234.201.155 -p tcp -m tcp —sport 513:65535 —dport 22 -m state —state NEW,ESTABLISHED -j ACCEPT
-A INPUT -d 130.234.201.155 -p tcp -m tcp —sport 513:65535 —dport 22 -m state —state NEW,ESTABLISHED -j DROP
COMMIT
# Completed on Tue Dec 12 06:08:26 2006
Запустим нашу Ad-Hoc сеть, скомандовав:
# /sbin/sysctl -w net.ipv4.ip_forward=1
# /sbin/iptables-restore ./iptables.txt
Теперь смартфон может подключаться не только к установленным на НК Web- и FTP-серверам, но и заходить и на интернет-сайты, подключаться к FTP-серверам «большой» сети.