Точка доступа WiFi на Ubuntu 12.04
В этой статье будет описано как сделать точку доступа wifi используя ОС Ubuntu 12.04. Инструкция, шаг за шагом. Хотя в основном народ интересует вопрос как сделать ноутбук точкой доступа wifi, на самом деле не имеет значения будет ли это ноутбук или обычный стационарный компьютер. Создание точки доступа wifi одинаково в обоих случаях.
Если у вас Ubuntu 14.04 тогда читайте другую статью: Настройка точки доступа WiFi на Ubuntu 14.04
Аналогичные статьи для других операционных систем:
Но для начала немного теории.
Что такое WiFi
Аббревиатура WiFi (вай-фай) расшифровывается так: Wireless Fidelity (беспроводная привязанность). WiFi это передача сетевых данных по радиоканалу. Чаще всего wifi используется для «раздачи» Интернет. Для этих целей WiFi используется в различных общественных местах — кафе, ресторанах, вокзалах, торговых центрах. Но в последние год-два wifi роутеры стали активно устанавливать в квартирах. Это объясняется тем, что сегодня у людей много мобильных устройств с которых можно выходить в Интернет — ноутбуки, планшетники, смартфоны, нетбуки. И часто wifi не только самый удобный способ подключения такого устройства к Интернет, но и единственно возможный. Например на планшетах и смартфонах нет старых сетевых адаптеров Ethernet, так, что через кабель их нельзя подключить к сети.
Хотя wifi чаще всего используется для раздачи Интернет, тем не менее ничто не мешает построить обычную локальную сеть через wifi. И кстати в некоторых офисах это делают, поскольку установить один wifi роутер (точку доступа) это дешевле и проще чем прокладывать сетевые кабели UTP. Домашняя wifi сеть позволяет не только получать Интернет через wifi на все устройства, но и удобно обмениваться различной информацией — можно легко копировать фотографии со смартфона на компьютер или ноутбук. Или музыку с компьютера на смартфон. Не нужно возиться с различными USB кабелями.
Спецификации WiFi описываются международным стандартом 802.11. Существует деление на режимы, по скорости доступа которую могут обеспечить устройства стандарта 802.11:
- 802.11а — скорости от 6 до 54 мегабит в секунду.
- 802.11b — скорости от 1 мегабита в секунду до 11 мегабит в секунду.
- 802.11g — скорости от 6 до 54 мегабит в секунду.
- 802.11n — скорость до 150 мегабит в секунду по одной антенне, а если используется четыре антенны, то до 600 мегабит в секунду.
Наиболее распространены сейчас устройства которые поддерживают wifi режимы 802.11 b и g. В спецификациях таких устройств так и пишут — 802.11b/g. В последние пару лет основная масса устройств выпускается с поддержкой трех режимов wifi — 802.11b/g/n. Режим 802.11а используется редко и несовместим с b и g.
Что такое точка доступа
Это обычный сетевой роутер, только передающий сетевые пакеты по радиосигналу стандарта 802.11. Выполяет те же функции, что и простой сетевой роутер — присвоить подключаемому устройству IP адрес, передать ему сетевые настройки и далее обеспечить передачу сетевых пакетов от этого устройства к другим устройствам сети (маршрутизацию).
Чаще всего выглядит wifi роутер точно так же как ADSL модем или Ethernet роутер. Только с антенной. Входящее подключение на этот роутер бывает формата RJ-11 (телефонный разъем) или RJ-45 (разъем для сетевого кабеля). В первом случае wifi роутер получает Интернет через телефонную линию, по технологии ADSL (xDSL). Во втором случае wifi роутер получает Интернет через сетевой кабель по технологии PPPoE FTTx. Бывают еще и сотовые wifi роутеры, немного похожие по виду на сотовые телефоны. Такой роутер получает Интернет через сотовую сеть GSM.
Получаемый Интернет wifi роутер раздает через WiFi.
Как создать точку доступа WiFi на Ubuntu 12.04
Нам нужно на основе ubuntu 12.04 создать программный wifi роутер, который будет получать Интернет каким-либо способом и сможет раздать этот Интернет по wifi.
- ubuntu 12.04.
- Нестарый wifi адаптер. Например для этой статьи использовался USB wifi адаптер TP-Link TL-WN722NC.
- Соединение с Интернет. Для этой статьи было использовано Ethernet соединение через оператора Ростелеком. Но это может быть например и МТС (USB модем МТС). И любое другое соединение — PPPoE, VPN, Dail-Up, WiFi.
sudo apt-get install hostapd dnsmasq
После завершения установки нужно остановить службы этих программ:
Далее отредактировать три файла:
1) sudo gedit /etc/dnsmasq.conf :
Примечание. В примере (параметр dhcp-range) указан короткий диапазон, всего на 4 адреса, что означает — к этой точке доступа смогут подключиться только 4 клиента. Если вам необходимо подключать большее количество клиентов тогда расширьте этот диапазон.
2) sudo gedit /etc/hostapd.conf :
3) sudo gedit /etc/NetworkManager/NetworkManager.conf :
dns=dnsmasq эту строку закомменитровать или удалить.
После редактирования NetworkManager.conf нужно перезапустить nm:
sudo restart network-manager
После этого создать два скрипта. Для запуска точки доступа и для остановки.
- #!/bin/sh
- ifconfig wlan0 192.168.10.1
- service dnsmasq restart
- sysctl net.ipv4.ip_forward=1
- iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
- hostapd /etc/hostapd.conf
- #!/bin/sh
- iptables -D POSTROUTING -t nat -o eth0 -j MASQUERADE
- sysctl net.ipv4.ip_forward=0
- service dnsmasq stop
- service hostapd stop
Запускать скрипты нужно будет через sudo или gksu. Удобнее запускать в консоли, поскольку в этом случае будет видно подключенных к точке доступа клиентов.
Управление точкой доступа
Узнать состояние точки доступа на Ubuntu 14.04
Узнать о том, запущена точка доступа или нет, можно командой
Наличие интерфейса mon.wlan0, а также присвоенный IP-адрес интерфейсу wlan0 это индикатор, того, что точка доступа работает.
Узнать клиентов точки доступа на Ubuntu 14.04
Узнать о подключенных к точке доступа клиентах можно командой:
В выводе команды нужно смотреть по названию интерфейса wlan0:
(192.168.150.5) 58:12:43:6f:2d:bc [ether] на wlan0
Или можно скачать скрипт ap-clients, извлечь из архива и запустить его:
Вывод скрипта показывает клиентов подключенных к точке доступа:
# IP address lease name MAC address
192.168.150.5 android-73d63f2392091d87 58:12:43:6f:2d:bc
Примечание 1
Если при первом запуске скрипта будет ошибка dnsmasq: failed to create listening socket for 127.0.0.1, тогда нужно сделать:
sudo netstat -anp | grep -i listen | grep 53
Вывод будет примерно такой:
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 6877/dnsmasq
Это процесс запущенный через Network Manager. Его нужно прибить: sudo kill 6877
Примечание 2
Если вы получаете Интернет не с Ethernet в скриптах укажите свой интерфейс. Ну и пароль конечно поставьте посложнее чем 12345678. Да не забудьте, что минимальная длина пароля для WPA2 равна 8 символов.