Полноценная wi-fi точка c защитой, используем hostapd

В этой статье я описывал создание сети ad-hoc, теперь же пойдем дальше и сделаем полноценную wi-fi точку доступа с защитой
Итак, побудило меня это делать то, что приобретенный андроидфон не видит ad-hoc сети, конечно можно "допилить" андроид, но не до этого...
Все также имеется Wi-fi адаптер D-Link DWA-510.
Ставим dhcp сервер, ибо он будет раздавать ip
# apt-get install dhcp3-server // это для Убунты
# yum install dhcp // это для кросношляпоосей
Ставим hostapd - демон, позволяющий сделать точку доступа
# apt-get install hostapd
# yum install hostapd
если у вас к примеру дебиан, то лучше соберите hostapd из исходников, т.к. в репозиториях старая версия.
посмотрим на каком интерфейсе висит вайфай сеть
# iwconfig
у меня это wlan0…
настраиваем:
# ifconfig wlan0 down
# iwconfig wlan0 Bit 54Mb/s
# ifconfig wlan0 192.168.0.1 netmask 255.255.255.0 up
# ifconfig wlan0 up
Дальше настроим dhcp
# nano /etc/dhcp3/dhcpd.conf //для убунту
# nano /etc/dhcp/dhcpd.conf // это в fedora ну и в других кросношляпоосях полагаю также
вводим туда следующее:
default-lease-time 3600;
max-lease-time 9000;
authoritative;
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 {
interface wlan0;
range 192.168.0.2 192.168.0.255;
option domain-name-servers 91.144.186.3, 91.144.184.3; // dns сервера (в данном примере написаны сервера дом.ru нн)
option routers 192.168.0.1;
option broadcast-address 192.168.0.0;
}
теперь надо указать с какого интерфейса будем раздавать тырнет:
для Ubuntu:
# nano /etc/default/dhcp3-server
INTERFACES="ppp0"
для fedora:
# nano /etc/sysconfig/dhcpd
DHCPDARGS=ppp0
настраиваем hostapd
# nano /etc/hostapd/hostapd.conf
редактируем:
wpa=2
rsn_pairwise=CCMP
wpa_passphrase=ваш пароль
driver=nl80211
interface=wlan0
hw_mode=g
channel=1
ssid=название вашей точки
добавляем правила в iptables
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
ну собственно все
стартуем:
# /etc/init.d/dhcp3-server start - убунту
# service dhcpd start
# /etc/init.d/hostapd start - убунту
# service hostapd start
Вы можете оставить отзыв или трекбек со своего сайта.

Рубрика:
04 Май 2010
Метки:
Все сделал по инструкции…все равно ноут под windows не находит…как проверить, что настройки правильные?
Starting advanced IEEE 802.11 management: disabled via /etc/default/hostapd
что может это означать??disabled via /etc/default/hostapd ??
Константин похоже в убунте немного по-другому…
откройте этот файл(/etc/default/hostapd)
# nano /etc/default/hostapd
и раскомментируйте (убрать символ ‘#’) в строчках:
и перезапустите демон:
# /etc/init.d/hostapd restart
извиняюсь, что комент не по теме, ну или почти.. но читая ваши толковые статьи, решил обратится, в надежде что вы сможете помочь с моей проблмой. у меня Ubuntu 10.04 (я совсем новичек в Linux´e ) с двумя картами. eth1 c DHCP смотрит в интернет, на eth0 висит Linksys WRT54G , на нем ноутбуки c XP ! интернет есть только на ubuntu, при подключении на eth0 напрямую ноутбука с windows xp на винде всплывает что кабель не подключен. мне очень бы хотелось чтоб при подключении нота или рутера он на автомате получал DHCP настройки и выходил в нет.
копал в сторону моста между картами но тоже безрезультатно ! а мне всего лишь нужен нет нa ubunte и рабочий рутер c DHCP без сети и натов т.к от сам автоматом это умеет. вот такая у меня головная боль. я очень расчитываю на ваш опыт и надеюсь на участие , т.к многое уже перепробовал и пришлось удалив все сидеть за рутером с преброшенными портами , а беспомощность очень удручает +(
# /etc/init.d/hostapd start
* Starting advanced IEEE 802.11 management [fail]
# iwconfig
wlan0 IEEE 802.11bgn ESSID:»innanet»
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Tx-Power=16 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:on
# lsmod | grep rt
rt2800usb 33496 0
rt2x00usb 11260 1 rt2800usb
rt2x00lib 32133 2 rt2800usb,rt2x00usb
led_class 3764 1 rt2x00lib
mac80211 238448 2 rt2x00usb,rt2x00lib
cfg80211 148546 2 rt2x00lib,mac80211
parport_pc 29958 1
crc_ccitt 1675 1 rt2800usb
# dmesg | tail
[ 2587.739128] ADDRCONF(NETDEV_UP): wlan0: link is not ready
USB-брелок d-Link DWA-125
светодиод мигает
wifi analizer на андроиде не видит сети
не пойму чего я недокрутил?
Andrei вам лучше обратится на форум — forum.ubuntu.ru, ибо я не совсем понял.
serega386 поиграйтесь с конфигом hostapd’а
/etc/init.d/hostapd restart
Останавливается hostapd: [СБОЙ ]
Запускается hostapd: /etc/hostapd/hostapd.confFailed to set interface wlan0 to master mode.
nl80211 driver initialization failed.
ELOOP: remaining socket: sock=5 eloop_data=0x920c860 user_data=(nil) handler=0x807dfd0
[СБОЙ ]
Russian Fedora 13.1
neolo@neolo-laptop:~$ sudo echo 1 > /proc/sys/net/ipv4/ip_forward
bash: /proc/sys/net/ipv4/ip_forward: Permission denied
Что за **?? Через SUDO не пускает даже!
Исправляемся так (Ubuntu 10):
sudo -i
echo 1 > /proc/sys/net/ipv4/ip_forward
Прикол в том что эту точку ни одно устройство не видет!
А если у меня Wi-Fi карта Atheros встроенная в ноуте, что вводить в driver= ?
Я ввел PCI перезапустил — глухо, точка не видна.
Neolo
lspci -v смотрим вывод, надеюсь карточка определяется;
если к примеру
Kernel driver in use: ath5k , то идем сюда и устанавливаем нужный драйвер.
в конфиге hostapd пишем driver=nl80211
02:00.0 Ethernet controller: Atheros Communications Inc. AR5001 Wireless Network Adapter (rev 01)
Subsystem: Askey Computer Corp. Device 7131
Flags: bus master, fast devsel, latency 0, IRQ 17
Memory at e0100000 (64-bit, non-prefetchable) [size=64K]
Capabilities:
Kernel driver in use: ath5k
Kernel modules: ath5k
Чет не понимаю зачем устанавливать драйвер если драйвер стоит и карта в системе нормально работает и сама видет другие точки. Да и вообще где по той ссылке драйвера я так и не въехал. Вижу ath5k yes yes yes и что дальше?
я наверно не так выразился, просто ath5k драйвер не поддерживает работу в режиме AP, исправляется накладыванием патча
там скачаете исходники, поправите и соберете…
подробнее:
а можно ли статику подключений к точке посмотреть кроме как
arp -iwlan0
Сделал все от и до. НЕ РАБОТАЕТ…
точку вообще не видно. Может что не так сделал???
у меня d-link dsl-2500u
jam можно посмотреть какие ip и кому были выданы через dhcp
PaxaN666 если у Вас d-link dsl-2500u то он не умеет wi-fi (судя по офф сайту), можете купить роутер например d-link dir-300 и настроить раздачу интернета по wi-fi именно там, или можно купить D-Link DWA-510 и пользоваться этой статьей
После перезагрузки wifi точка доступа перестала шарить инет. Как это можно исправить?
Никто не знает, как изменения сохранять, чтобы после перезагрузки всё не слетало? Иначе приходится каждый раз делать так:
# ifconfig wlan0 down
# iwconfig wlan0 Bit 54Mb/s
# ifconfig wlan0 192.168.0.1 netmask 255.255.255.0 up
# ifconfig wlan0 up
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
/etc/init.d/dhcp3-server restart
/etc/init.d/hostapd restart
to rus:
Добавь все набранные тобой команды в /etc/rc.local до строчки exit 0;
Жека, а по Центосу можете подобный мануал сделать? Или Вы только по убунте специализируетесь?
Я недавно переехал на центос и в общемто разобрался, но некоторые места- в том числе и вайфай- это просто чума какаято- руки опускаются, блин. Помогите, если есть возможность.
tridy, спасибо)
А файл размером 535 байт обязательно нужно было заливать на депозит ?
на этом сайте места не хватило ?
херня какая-то, а не хинт.
блин. И таких хинтов по инету море. Как спама.
У меня может быть два сетевых интерфейса + wlan (третий)
А это уже совсем иной подход. bridge.
Так и нефиг спамить своими квик-блогами.
ходишь по гуглу и натыкаешься на тысячи страниц вот таких вот.. .. мастеров, блин.
ifconfig wlan1 down
ifconfig wlan1 192.168.0.1 netmask 255.255.255.0 up
ok
ifconfig wlan1 down
/etc/hostapd/hostapd.conf
#
wpa=0
#rsn_pairwise=CCMP
#wpa_passphrase=12345678
driver=nl80211
interface=wlan1
hw_mode=g
channel=6
ssid=srv001
/etc/named.conf
#
acl «corpnet» { localhost; 127.0.0.1/8; 192.168.1.0/24; 192.168.2.0/24; };
..
/etc/dhcp/dhcpd.conf
#
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.2 192.168.1.100;
default-lease-time 86400;
max-lease-time 86400;
option routers 192.168.1.1;
option ip-forwarding off;
option broadcast-address 192.168.1.255;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.1.1;
option netbios-name-servers 192.168.1.1;
}
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.2 192.168.2.100;
default-lease-time 86400;
max-lease-time 86400;
option routers 192.168.2.1;
option ip-forwarding off;
option broadcast-address 192.168.2.255;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.2.1;
option netbios-name-servers 192.168.2.1;
}
и маскарадинг средствами графической утилиты в gnome. Руками не против, но как это сохранится под fedora — hz. Поэтому через gui.
service dhcpcd restart
service named restart
service hostapd restart
клиенты видят карточку, получают ip типа 192.168.1.2 итд. могут заходить на хост 192.168.1.1, пинговать ip внешние (правда, спустя секунд 5), но с именами трабла. что-то с dns не так.
При чем не ясно, как wlan1 получает адрес 192.168.1.1. Я ему его лишь временно забивал. потом делал ifconfig wlan1 down. В hostapd же никаких упоминаний про то, как ему ловить адрес, нет.
В новой убунте 11.04 dhcp3-server заменен на isc-dhcp-server. Куда прописывать строку INTERFACES=»ppp0″??? Ещё Hostapd не запускается
вывод команды iwconfig после запуска dhcp и hostapd(запустились без каких либо ошибок )
root@Aspire:~# iwconfig
eth1 IEEE 802.11bgn ESSID:»"
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Bit Rate:16 Mb/s Tx-Power:24 dBm
Retry min limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=5/5 Signal level=0 dBm Noise level=-97 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
почему поле ESSID пустое. Вот содержимое файла /etc/hostapd/hostapd.conf :
wpa=2
rsn_pairwise=CCMP
wpa_passphrase=12131415
driver=wl
interface=eth1
hw_mode=g
channel=1
ssid=abcd
Команда lspci -v выдала драйвер wl, прорбовал писать драйвер nl80211, то же самое.
Все сделал, андроид сеть видит, подключается, тока на нам инета нету.
вместо ppp0 я пишу eth0 (вроде у меня так), в чем беда?
Alex, эта же проблема у меня появилась после обновления ядра. похоже iptables не пускает. не знаю что делать. Может кто-то подскажет куда копать?
теперь надо указать с какого интерфейса будем раздавать тырнет:
для Ubuntu:
# nano /etc/default/dhcp3-server
INTERFACES=»ppp0″
а разве на каком интерфейсе слушать?
У меня настройки dhcp другие и называется он isc-dhcp-server, а hostapd не запускается как демон и ему нужно указать при запуске файл конфигурации… и виндовые клиенты не получают dns… а клиенты ubuntu нормально работают. И пришлось канал поменять с 1 на 10 потому что на 1 канале соединение всего первые несколько секунд было а потом пропадало, хотя сигнал отличный.
А что представляет из себя ваш указанный интерфейс ppp0?
точка доступа появляется, к ней можно подключаться,но инета не дает. при выключенном фаерволе тоже самое