Точка доступа Wi-Fi своими руками за 2 минуты

За что пользователи обожают Линукс? Одна из причин в том, что любая задача решается с помощью пары строк в терминале. Для примера, рассмотрим как можно организовать свою точку доступа, имея только встроенный адаптер Wi-Fi (или внешнее USB-устройство).

Нам потребуется доустановить всего два пакета:


$ sudo apt-get install hostapd dhcp3-server

Первый пакет - hostapd - превращает любое клиентское Wi-Fi устройство в точку доступа, а пакет dhcp3-server предназначен для автоматической настройки на стороне клиента сетевых данных (выдача IP-адреса, настройка шлюза по умолчанию, DNS).

Теперь нам нужно отредактировать файл /etc/hostapd/hostapd.conf. Его синтаксис настолько прост, что с настройкой справляется даже ученик средних классов с завязанными глазами.

Указываем имя точки доступа, тип шифрования, канал и пароль:

interface=wlan0
driver=nl80211
ssid=testhostapd
channel=1
hw_mode=g
auth_algs=1
wpa=3
wpa_passphrase=mypassword
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=CCMP

Настроим DHCP-сервер. Выбираем диапазон, из которого будут выдаваться IP-адреса, указываем DNS-адреса и шлюз.


ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
option domain-name-servers 208.67.220.220,208.67.222.222 ;
subnet 10.42.43.0 netmask 255.255.255.0 {
range 10.42.43.50 10.42.43.70;
option subnet-mask 255.255.255.0;
option broadcast-address 10.42.43.255;
option routers 10.42.43.1;
}

Еще пара подготовительных мероприятий и сервис готов к запуску:

rmmod iwlwifi
modprobe iwlwifi
iwconfig wlan0 mode Master freq 2.42G essid testhostapd
sleep 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
echo 1 >/proc/sys/net/ipv4/conf/all/forwarding
echo 'INTERFACES=wlan0' >/etc/default/dhcp
dhcpd wlan0
hostapd -d /etc/hostapd/hostapd.conf

Указанные выше строки удобно объединить в одном командном файле и добавить в автозагрузку.

field_vote: 
Ваша оценка: Нет Средняя: 4 (9 оценки)
Главная тема: 
Пользовательские теги: 

Комментарии

comrade аватар

Есть программка, которая делает то же самое, но через графическую оболочку — wifi-hostapd-ap называется.

http://code.google.com/p/wifi-hostapd-ap/
http://forum.ubuntu.ru/index.php?topic=163961.0

sudo apt-add-repository ppa:ekozincew/ppa
sudo apt-get update
sudo apt-get install wifi-hostapd-ap

=========================

Если вы списывали линукс с другого компьютера, или WiFi-адаптер меняли, то он у вас уже не wlan0

Исправьте в:
/etc/udev/rules.d/70-persistent-net.rules

=========================

И насчёт драйвера...
Скорее всего для раздачи подойдёт именно nl80211,
а не тот драйвер, с которым ваш адаптер сейчас прекрасно работает на приём.

Оценка: 
Средняя: 5 (2 оценки)

Поясните насчет последнего абзаца, если не трудно. Что значит работает на прием? Связь-то двухсторонняя. Или есть нюансы?

Оценка: 
Пока без оценки
comrade аватар

Например, какой-нибудь TP-Link TL-WN727N на чипе RALink работает в убунте с драйвером rt2800usb, но для использования его в качестве точки доступа всё равно надо в настройках писать nl80211.

Оценка: 
Пока без оценки

Почему?

Оценка: 
Пока без оценки

А, ну так nl80211 - это не драйвер вайфайного адаптера, а драйвер для доступа к к подсистеме ядра Netlink. А вайфайный драйвер должен быть загружен предварительно, иначе бы интерфейс wlan вообще бы не поднялся.

Оценка: 
Пока без оценки
comrade аватар

Я на конкретном примере так и написал:-)
"работает ... с драйвером rt2800usb, но для использования ... в качестве точки доступа ... надо в настройках писать nl80211."
=========================
Это более-менее понятно...

Вы, как более опытный системный администратор, лучше посоветуйте подход к решению проблемы:

В туристической конторке, которую я недавно на линукс перевёл, стоит МФУ Canon MF4410. Я в линуксе завёл и его принтер, и его сканер.

И расшарил аппарат через CUPS, как "интернет-принтер". Печатает, но есть проблемка – если долго (например, пол-часа:-) не печатаешь, то снова печатает только со второй-третьей попытки.
Так получается и через сеть, и с компьютера, к которому принтер через USB подключён.
Соответственно, "со второго-третьего раза" иногда печатается лишняя копия. Люди нервничают(-:

Не сообразите какое-нибудь прямое или обходное решение проблемы?

Другую "проблему с принтером" я решил:
Они печатали из фаерфокса квитанции бронирования номеров, которые сайт генерит в формате PDF. В фаерфоксе теперь свой просмотрщик PDF'ов, ...который русские буквы пока не очень понимает, считает пустым местом((-:
(наверное пользуется шрифтом без русских букв).
Соответственно, русский текст и не печатался на принтере.
Я перевесил в настройках фаерфокса PDF'ы – сначала на "спрашивать", а потом на "Просмотрщик документов" Xubuntu. Всё прекрасно показывается, печатается.

Оценка: 
Средняя: 3.3 (3 оценки)

Не системный администратор и уж совершенно точно не "более опытный". :) Но спасибо за доброе слово. :)

Насчет принтера. С таким никогда не сталкивался, но есть подозрение, что девайс уходит в какой-то энергосберегающий режим (или его туда отправляет Линукс). Думаю, стоит покопаться в логах, а если там чисто, то можно попробовать просто засунуть в cron скрипт, который будет периодически опрашивать принтер и не давать ему спать.

Оценка: 
Средняя: 4.5 (2 оценки)
comrade аватар

Да, похоже на какую-то "спячку"((-:

Дома поэкспериментировал – сделал "интернет-принтером" свой матричный EPSON LQ100 (с 1995 года работает:-). Кое-что в настройках CUPS присмотрел...

В любом случае могу им сделать "толкача":
если с первого раза печать не пошла, тыкать скриптик, который три раза будет пытаться отправить на печать файл из пустого листа.

Как временная мера, пойдёт.

Оценка: 
Средняя: 3 (1 оценка)

А не лучше опрос состояния принтера? Печать пустых листов тоже может напугать народ. Подумают еще, что полтергейст какой-нибудь завелся в конторе.

Оценка: 
Средняя: 4 (1 оценка)
comrade аватар

Если опрос будет его "будить" в достаточной степени, то лучше, конечно.
Попробую.

Оценка: 
Средняя: 4 (1 оценка)

Комментировать

Filtered HTML

  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.