Здравствуйте уважаемые форумчане.
Пока болею, появилось свободное время, решил заняться общественно полезным делом и поделиться настройкой программной точки доступа. Имейте ввиду, не каждый WiFi адаптер поддерживает режим SoftAP (программная точка доступа). Процесс настройки показан на основе официального дистрибутива ALT Linux KDesktop 6.0.2 и ноутбука Acer Aspire 7540G-304G32Mi.
При настройке использовался софт: Krusader (режим root, для поиска и правки конфигов в графическом режиме), Kwrite и Konsole.
Внимание!
В дистрибутивах ALT Linux версии 7.x способ будет работать только если вы измените названия интерфейсов в указанных ниже командах и скриптах, т.к. у 6 и 7 версий они отличаются.
Устанавливаем dnsmasq и hostapd из репозитория.
После установки правим конфиги:
/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). Уменя iptables в /sbin/
/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
Набираем дальше
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. Нажать "Применить"
Закрываем Центр управления системой.
Пишем скрипт следующего содержания
wifi
#!/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
Помещаем его в /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
У меня почему то это правило после перезагрузки не сохранялось, если у вас так же, то напишите скрипт следующего содержания
pravilo
#!/bin/sh
/sbin/iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
exit
Помещаем его в /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
Значки можно выбрать любые
Всё. ;)
Способ настройки не претендует на единственно верный, я настраивал именно так, интернет раздаётся с ноутбука подключенного кабелем по 3-х комнатной квартире дома серии П-44Т, инет есть во всех точках квартиры (полное покрытие включая ванну и туалет :D).