Настройка программной точки доступа

Материал из ALT Linux Wiki

Настройка программной точки доступа

Вступление

Имейте ввиду, не каждый WiFi адаптер поддерживает режим SoftAP (программная точка доступа). Процесс настройки показан на основе официального дистрибутива ALT Linux KDesktop 6.0.2 и ноутбука Acer Aspire 7540G-304G32Mi. При настройке использовался софт: Krusader (режим root, для поиска и правки конфигов в графическом режиме), Kwrite (в качестве редактора) и Konsole (в качестве эмулятора терминала).

Внимание! В дистрибутивах ALT Linux версии 7.x возможно способ будет работать только если вы измените названия интерфейсов в указанных ниже командах и скриптах, т.к. у 6 и 7 версий они отличаются. На дистрибутивах 7 серии данный способ настройки на работоспособность не проверялся.

Создание точки доступа

Устанавливаем dnsmasq и hostapd из репозитория. После установки запускаем Krusader (режим root) и правим конфиг: /etc/hostapd/hostapd.conf Удаляем из него всё и пишем следующее:

interface=wlan0
driver=nl80211
ssid=Linux Soft-AP ---------------- заменить на своё название сети
country_code=RU
hw_mode=g
channel=1
ieee80211n=0
macaddr_acl=0
wpa=3
wpa_key_mgmt=WPA-PSK
wpa_passphrase=12345678910 -------- заменить на свой пароль
wpa_pairwise=TKIP

Сохраняем изменения.


Правим конфиг, удаляем всё из /etc/dnsmasq.conf и пишем туда следующее:

domain-needed
bogus-priv
dhcp-range=192.168.0.50,192.168.0.150,255.255.255.0,12h
interface=wlan0
listen-address=192.168.0.1

Сохраняем изменения.


В конфиг /etc/sysctl.conf просто добавить строку.

net.ipv4.ip_forward = 1

Сохраняем изменения.


Открываем терминал и переходим в режим root

$ su -
Password: --- ваш пароль

Даём следующие команды (все от root)

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o wlan0 -m state  \
 --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT
service iptables save

Далее набираем (все от root)

ifconfig wlan0 down
ifconfig wlan0 192.168.0.1 netmask 255.255.255.0 up
ifconfig wlan0 up

Закрываем терминал.


Идем в Центр управления системой - Системные службы - ищем в списке dnsmasq если запущена выбрать из списка "Остановить" и нажать "Применить", галку с автозапуска тоже снять (если стоит) и нажать "Применить". Там же ищем следующую службу hostapd - если запущена выбрать из списка "Остановить" и нажать "Применить", галку с автозапуска тоже снять (если стоит) и нажать "Применить". Выходим на главную страницу Центра управления системой и переходим в пункт - Брандмауэр - внешние сети

  • 1. Слева снять галки с интерфейсов mon.wlan0 и wlan0
  • 2. Справа поставить галки на DHCP и DNS
  • 3. Нажать "Применить"

Закрываем Центр управления системой.

Пишем в Kwrite скрипт следующего содержания

#!/bin/sh
service dnsmasq stop
service hostapd stop
ifconfig wlan0 down
ifconfig wlan0 192.168.0.1 netmask 255.255.255.0 up
ifconfig wlan0 up
service dnsmasq start
service hostapd start
exit

Сохраняем с именем например WiFi

Помещаем его в /etc/pm/power.d (будет запускаться при загрузке) и /etc/pm/sleep.d (будет запускаться при выходе из спящего и ждущего режимов) не забудьте скрипту дать права на выполнение (правый клик мышкой на файле - "Свойства" - вкладка "Права" поставить галку на "Является выполняемым").

Всё перезагружаем компьютер, если всё правильно сделали, то после загрузки должна быть видна ваша точка доступа.

Важно! Если подключение происходит, но не пускает на некоторые страницы в сети, то откройте терминал и дате команду от root

/sbin/iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
service iptables save

Это правило после перезагрузки может не сохраниться, если у вас так же, то напишите скрипт следующего содержания

#!/bin/sh
/sbin/iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
exit

Сохраняем с именем например pravilo и помещаем его в /etc/pm/power.d (будет запускаться при загрузке) и /etc/pm/sleep.d (будет запускаться при выходе из спящего и ждущего режимов) не забудьте скрипту дать права на выполнение (правый клик мышкой на файле - "Свойства" - вкладка "Права" поставить галку на "Является выполняемым").

Создаём в меню пункты для управления точкой доступа

Для начала создаём например в /opt/ папку soft-ap и помещаем туда скрипты следующего содержания

  • start
#!/bin/bash
ifconfig wlan0 down
ifconfig wlan0 192.168.0.1 netmask 255.255.255.0 up
ifconfig wlan0 up
service dnsmasq start
service hostapd start
exit
  • restart
#!/bin/bash
service dnsmasq stop
service hostapd stop
ifconfig wlan0 down
ifconfig wlan0 192.168.0.1 netmask 255.255.255.0 up
ifconfig wlan0 up
service dnsmasq start
service hostapd start
exit
  • stop
#!/bin/bash
service dnsmasq stop
service hostapd stop 
ifconfig wlan0 down
ifconfig wlan0 up
exit

Не забудьте скриптам дать права на выполнение (правый клик мышкой на файле - "Свойства" - вкладка "Права" поставить галку на "Является выполняемым").

С помощью kmenuedit создаём пункты в Kmenu Сеть - Точка доступа

  • Старт - команда /opt/soft-ap/start
  • Перезапуск - команда /opt/soft-ap/restart
  • Стоп - команда /opt/soft-ap/stop

Значки можно выбрать любые


--CyberDaemon 19:52, 5 марта 2014 (MSK)

Смотри ещё:

Создание точки доступа с помощью NetworkManager

Hostapd