Точка доступа 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
Указанные выше строки удобно объединить в одном командном файле и добавить в автозагрузку.
Комментарии
comrade
23 апреля, 2013 - 17:39
Есть программка, которая делает то же самое, но через графическую оболочку — 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,
а не тот драйвер, с которым ваш адаптер сейчас прекрасно работает на приём.
pomodor
23 апреля, 2013 - 22:13
Поясните насчет последнего абзаца, если не трудно. Что значит работает на прием? Связь-то двухсторонняя. Или есть нюансы?
comrade
23 апреля, 2013 - 22:27
Например, какой-нибудь TP-Link TL-WN727N на чипе RALink работает в убунте с драйвером rt2800usb, но для использования его в качестве точки доступа всё равно надо в настройках писать nl80211.
pomodor
23 апреля, 2013 - 22:31
Почему?
pomodor
23 апреля, 2013 - 22:38
А, ну так nl80211 - это не драйвер вайфайного адаптера, а драйвер для доступа к к подсистеме ядра Netlink. А вайфайный драйвер должен быть загружен предварительно, иначе бы интерфейс wlan вообще бы не поднялся.
comrade
24 апреля, 2013 - 09:53
Я на конкретном примере так и написал:-)
"работает ... с драйвером rt2800usb, но для использования ... в качестве точки доступа ... надо в настройках писать nl80211."
=========================
Это более-менее понятно...
Вы, как более опытный системный администратор, лучше посоветуйте подход к решению проблемы:
В туристической конторке, которую я недавно на линукс перевёл, стоит МФУ Canon MF4410. Я в линуксе завёл и его принтер, и его сканер.
И расшарил аппарат через CUPS, как "интернет-принтер". Печатает, но есть проблемка – если долго (например, пол-часа:-) не печатаешь, то снова печатает только со второй-третьей попытки.
Так получается и через сеть, и с компьютера, к которому принтер через USB подключён.
Соответственно, "со второго-третьего раза" иногда печатается лишняя копия. Люди нервничают(-:
Не сообразите какое-нибудь прямое или обходное решение проблемы?
Другую "проблему с принтером" я решил:
Они печатали из фаерфокса квитанции бронирования номеров, которые сайт генерит в формате PDF. В фаерфоксе теперь свой просмотрщик PDF'ов, ...который русские буквы пока не очень понимает, считает пустым местом((-:
(наверное пользуется шрифтом без русских букв).
Соответственно, русский текст и не печатался на принтере.
Я перевесил в настройках фаерфокса PDF'ы – сначала на "спрашивать", а потом на "Просмотрщик документов" Xubuntu. Всё прекрасно показывается, печатается.
pomodor
24 апреля, 2013 - 21:39
Не системный администратор и уж совершенно точно не "более опытный". :) Но спасибо за доброе слово. :)
Насчет принтера. С таким никогда не сталкивался, но есть подозрение, что девайс уходит в какой-то энергосберегающий режим (или его туда отправляет Линукс). Думаю, стоит покопаться в логах, а если там чисто, то можно попробовать просто засунуть в cron скрипт, который будет периодически опрашивать принтер и не давать ему спать.
comrade
24 апреля, 2013 - 22:50
Да, похоже на какую-то "спячку"((-:
Дома поэкспериментировал – сделал "интернет-принтером" свой матричный EPSON LQ100 (с 1995 года работает:-). Кое-что в настройках CUPS присмотрел...
В любом случае могу им сделать "толкача":
если с первого раза печать не пошла, тыкать скриптик, который три раза будет пытаться отправить на печать файл из пустого листа.
Как временная мера, пойдёт.
pomodor
24 апреля, 2013 - 23:48
А не лучше опрос состояния принтера? Печать пустых листов тоже может напугать народ. Подумают еще, что полтергейст какой-нибудь завелся в конторе.
comrade
25 апреля, 2013 - 09:20
Если опрос будет его "будить" в достаточной степени, то лучше, конечно.
Попробую.
Комментировать