- Необходими компоненти:
- Стъпки за настройване на Raspberry Pi като безжична точка за достъп:
- Достъп до интернет от Wi-Fi точка за достъп на Raspberry Pi
- Тестване на безжична точка за достъп Raspberry Pi:
Здравейте, момчета, днес ще покажа как да превърна Raspberry Pi в безжична точка за достъп, към която могат да се свързват други устройства, основно превръщаме Raspberry pi в безжичен „рутер“. Като бонус ще ви покажа и как да настроим безжичната точка за достъп, създадена да предоставя (споделя) интернет достъп на (с) свързани устройства. Така че нека започнем да създаваме Wi-Fi Hotspot с Raspberry Pi.
Необходими компоненти:
Следните компоненти ще са необходими, за да настроите малинов пи като безжична точка за достъп:
- Raspberry Pi 2
- 8GB SD карта
- WiFi USB донгъл
- Ethernet кабел
- Захранване за Pi.
- Монитор (по избор)
- Клавиатура (по избор)
- Мишка (по избор)
Въпреки че Raspberry Pi 3 и Pi zero са широко достъпни и биха могли да бъдат използвани, за този урок ще използвам Raspberry Pi 2, защото в момента моят Pi3 е зает с изпълнение на тежка задача, свързана с компютърно зрение, която се надявам да споделя в урок тук скоро. Тази процедура обаче работи и за pi 3 и трябва (обърнете внимание на ударението) да работи и за Raspberry Pi нула W. Когато използвате Raspberry Pi 3 или Zero W, няма да има нужда от външен Wi-Fi модул тъй като тези две платки вече имат Wi-Fi на борда.
За да дефинираме по-сложно целите на този урок, ще дадем на Raspberry Pi възможността да служи като точка за безжичен достъп и за да постигнем това, ще трябва да инсталираме и настроим софтуер, който оборудва малината pi с тази функционалност, заедно с на софтуер, DHCP сървър, за да се осигури адрес мрежа за устройствата, които ще бъдат свързани с точката за достъп. За да задоволим това софтуерно изискване, ще използваме софтуера dnsmasq и hostapd.
Този урок ще се основава на Raspbian stretch OS, така че за да продължите както обикновено, ще предположа, че сте запознати с настройката на Raspberry Pi с Raspbian stretch OS и знаете как да SSH в Raspberry pi с помощта на терминален софтуер като шпакловка. Ако имате проблеми с нещо от това, на този уебсайт има тонове уроци за Raspberry Pi, които могат да ви помогнат.
Стъпки за настройване на Raspberry Pi като безжична точка за достъп:
Следвайки следните ключови стъпки, една след друга, ще можем да настроим Raspberry Pi като точка за безжичен достъп. Трябва да се отбележи, че някои безжични USB донгъли няма да работят в режим AP, но след като изпробвам този донгъл и той заработи, се изкушавам да кажа, че 5 от 8 донгъла ще работят.
Стъпка 1: Актуализирайте Pi
Както обикновено, ние актуализираме малиновия pi, за да гарантираме, че разполагаме с най-новата версия на всичко. Това се прави с помощта на;
sudo apt-get update
следван от;
sudo apt-get ъпгрейд
След като актуализацията приключи, рестартирайте вашия pi, за да извършите промени.
Стъпка 2: Инсталирайте “ dnsmasq ” и “ hostapd ”
След това инсталираме софтуера, който прави възможно настройването на pi като безжична точка за достъп, а също и софтуера, който помага да се присвои мрежов адрес на устройства, които се свързват с AP. Правим това, като бягаме;
sudo apt-get инсталирайте dnsmasq
следван от;
sudo apt-get инсталирате hostapd
или можете да го комбинирате, като изпълните;
sudo apt-get инсталирайте dnsmasq hostapd
Стъпка 3: Спрете стартирането на софтуера
Тъй като все още нямаме конфигуриран софтуер, няма смисъл да го стартираме, затова ги деактивираме да работят в метрото. За целта изпълняваме следните команди за спиране на операцията systemd .
sudo systemctl stop dnsmasq sudo systemctl stop hostapd
Стъпка 4: Конфигурирайте статичен IP адрес за безжичния порт
Потвърдете WLAN порта, към който е свързано използваното безжично устройство. За моя Pi безжичната връзка е на wlan0. Настройването на Raspberry Pi да действа като сървър изисква да присвоим статичен IP адрес на безжичния порт. Това може да стане чрез редактиране на конфигурационния файл dhcpcd . За да редактирате конфигурационния файл, стартирайте;
sudo nano /etc/dhcpcd.conf
Превъртете до дъното на конфигурационния файл и добавете следните редове.
Интерфейс wlan0 статичен ip_address = 192.168.4.1 / 24
След добавяне на редовете конфигурационният файл трябва да изглежда като изображението по-долу.
Забележка: Този IP адрес може да бъде променен в съответствие с предпочитаната от вас конфигурация.
Запазете файла и излезте с помощта на; ctrl + x, последвано от Y
Рестартирайте услугата dhcpcd, за да извършите промените, направени в конфигурацията, използвайки;
Судо услуга dhcpcd рестартиране
Стъпка 5: Конфигурирайте dhcpcd сървъра
Със статичния IP адрес, вече конфигуриран за wlan на Raspberry Pi, следващото нещо е да конфигурираме dhcpcd сървъра и да му предоставим обхвата от IP адреси, които да бъдат присвоени на устройства, които се свързват с безжичната точка за достъп. За да направим това, трябва да редактираме конфигурационния файл на софтуера dnsmasq, но конфигурационният файл на софтуера съдържа твърде много информация и много може да се обърка. Ако не е правилно редактиран, така че вместо да редактираме, ще създадем нова конфигурация файл само с количеството информация, която е необходима, за да направи безжичната точка за достъп напълно функционална.
Преди да създадем новия конфигурационен файл, ние държим стария на безопасно, като го преместваме и преименуваме.
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.old
След това стартирайте редактора, за да създадете нов конфигурационен файл;
sudo nano /etc/dnsmasq.conf
с стартирания редактор копирайте редовете по-долу и го поставете или въведете директно в него.
Интерфейс = wlan0 # посочете комуникационния интерфейс, който обикновено е wlan0 за безжичен dhcp-range = 192.168.4.2, 192.168.4.20, 255.255.255.0,24h
съдържанието на файла трябва да изглежда като изображението по-долу.
Запазете файла и излезте. Съдържанието на този конфигурационен файл е само за определяне на обхвата на IP адрес, който може да бъде присвоен на устройства, свързани към безжичната точка за достъп.
С това ще можем да дадем самоличност на устройства в нашата мрежа.
Следващият набор от стъпки ще ни помогне да конфигурираме хост софтуера на точката за достъп, да настроим ssid, да изберем encrytpion и т.н.
Стъпка 6: Конфигурирайте hostapd за SSID и парола
Трябва да редактираме конфигурационния файл на hostapd (стартираме sudo nano /etc/hostapd/hostapd.conf ), за да добавим различните параметри за безжичната мрежа, която се настройва, включително ssid и парола. Трябва да се отбележи, че паролата (паролната фраза) трябва да бъде между 8 и 64 знака. Всичко по-малко няма да работи.
интерфейс = wlan0 драйвер = nl80211 ssid = piNetwork hw_mode = g channel = 7 wmm_enabled = 0 macaddr_acl = 0 auth_algs = 1 ignore_broadcast_ssid = 0 wpa = 2 wpa_passphrase = emmanuel # използвайте много сигурна парола, а не тази wpa_key_mgwise = Wpa rsn_pairwise = CCM
Съдържанието на файла трябва да изглежда като изображението по-долу.
Чувствайте се свободни да промените ssid и паролата, за да отговарят на вашите нужди и желания.
Запазете конфигурационния файл и излезте.
След като конфигурационният файл е запазен, трябва да насочим софтуера hostapd към мястото, където е бил запазен конфигурационният файл. За да направите това, стартирайте;
sudo nano / etc / default / hostapd
намерете реда с daemon_conf, коментиран, както е показано на изображението по-долу.
Раскоментирайте реда DAEMON_CONF и добавете реда отдолу между кавичките пред знака „равен на“.
/etc/hostapd/hostapd.conf
Стъпка 7: Запалете го
Тъй като първоначално деактивирахме двата софтуера, за да можем да ги конфигурираме правилно, трябва да рестартираме системата след конфигуриране, за да извършим промените.
Използване;
sudo systemctl старт hostapd sudo systemctl старт dnsmasq
Стъпка 8: Маршрутизиране и маскарад за изходящ трафик
Трябва да добавим маршрутизация и маскарад за изходящ трафик.
За да направите това, трябва да редактираме конфигурационния файл на systemctl, като стартираме:
sudo nano /etc/sysctl.conf
Разкоментирайте този ред net.ipv4.ip_forward = 1 (подчертано на изображението по-долу)
Запазете конфигурационния файл и излезте, като използвате ctrl + x, последвано от y.
След това преминаваме към маскиране на изходящия трафик. Това може да стане, като направите някои промени в правилото за iptable. За да направите това, изпълнете следните команди:
sudo iptables -t nat -A ОТСТЪПКА -o eth0 -j MASQUERADE
след това запишете правилото Iptables, като използвате:
sudo sh -c "iptables-save> /etc/iptables.ipv4.nat"
Стъпка 9: Създаване на безжична точка за достъп при стартиране:
За повечето приложения за безжична точка за достъп често се желае точката за достъп да се появи веднага след стартиране на системата. За да приложим това на Raspberry Pi, един от най-лесните начини е да добавим инструкции за стартиране на софтуера във файла rc.local, така че поставяме команди за инсталиране на iptable правилата при зареждане във файла rc.local.
За да редактирате файла rc.local, изпълнете:
sudo nano /etc/rc.local
и добавете следните редове в долната част на системата, точно преди изхода 0
iptables-restore </etc/iptables.ipv4.nat
Стъпка 9: Рестартирайте! и Използвайте
На този етап трябва да рестартираме системата, за да извършим всички промени и да тестваме безжичната точка за достъп, стартираща при зареждане с актуализирано правило iptables.
Рестартирайте системата, като използвате:
sudo рестартиране
Веднага след като системата се включи отново, трябва да имате достъп до безжичната точка за достъп, като използвате всяко устройство с активиран Wi-Fi и паролата, използвана по време на настройката.
Достъп до интернет от Wi-Fi точка за достъп на Raspberry Pi
О, да, така че ще добавя бонус урок, за да покажа как създадената безжична точка за достъп може да се използва за осигуряване на интернет връзка за свързаните с нея устройства. Достъпът до интернет, разпределен към устройствата, се осигурява чрез Ethernet порта на Pi, който може да бъде свързан към рутер или други подобни устройства.
За да приложим това, трябва да поставим „мост“ между безжичното устройство и Ethernet устройството на Raspberry Pi (безжичната точка за достъп), за да предава целия трафик между двата интерфейса. За да настроим това, ще използваме софтуера bridge-utils . Инсталирайте hostapd и bridge-utils . Докато преди сме инсталирали hostapd , стартирайте инсталацията отново, за да изчистите всички съмнения.
sudo apt-get инсталирайте hostapd bridge-utils
След това спираме hostapd, за да конфигурираме софтуера.
sudo systemctl спре hostapd
Когато се създаде мост, се създава конструкция от по-високо ниво над двата порта, които се свързват и по този начин мостът се превръща в мрежово устройство. За да предотвратим конфликти, трябва да спрем разпределянето на IP адреси от DHCP клиента, работещ на Raspberry Pi, към портовете eth0 и wlan0. Това ще стане чрез редактиране на конфигурационния файл на dhcpcd клиента, за да се включат denyinterfaces wlan0 и denyinterfaces eth0, както е показано на изображението по-долу.
Файлът може да се редактира чрез стартиране на командата;
sudo nano /etc/dhcpcd.conf
Забележка: От този момент нататък се уверете, че не изключвате Ethernet кабела от вашия компютър, ако работите в безглав режим, тъй като може да не успеете да се свържете отново чрез SSH, тъй като сме деактивирали Ethernet порта. Ако работите с монитор, няма от какво да се страхувате.
След това създаваме нов мост, наречен br0
sudo brctl addbr br0
След това свързваме Ethernet порта (eth0) с моста (br0), като използваме;
sudo brctl addif br0 eth0
След това редактираме файла с интерфейси, използвайки sudo nano / etc / network / interfaces, за да могат различни устройства да работят с моста. Редактирайте файла с интерфейси, за да включите информацията по-долу;
# Настройка на мост автоматично br0 iface br0 inet ръчно bridge_ports eth0 wlan0
Накрая редактираме файла hostapd.conf, за да включим конфигурацията на моста. Това може да стане чрез стартиране на командата: sudo nano /etc/hostapd.conf и редактиране на файла, за да съдържа информацията по-долу. Обърнете внимание, че мостът е добавен под интерфейса wlan0 и линията на драйвера е коментирана.
интерфейс = wlan0 мост = br0 # драйвер = nl80211 ssid = NameOfNetwork hw_mode = g канал = 7 wmm_enabled = 0 macaddr_acl = 0 auth_algs = 1 ignore_broadcast_ssid = 0 wpa = 2 wpa_passphrase = AardvarkBadgerHedgehog wpa_PApa WP_KPA WK_pa Wpa_KPA WK_pa Wpa_KPA WK
След като направите това, запазете конфигурационния файл и излезте.
За да извършите промените, направени в Raspberry Pi, рестартирайте системата. След като се върне, вече трябва да имате достъп до интернет, като се свържете с безжичната точка за достъп, създадена от Raspberry Pi. Това, разбира се, ще работи само ако достъпът до интернет е достъпен на pi чрез Ethernet порта.
Въпреки че този проект може да се използва за разширяване на Wi-Fi около къщата или офиса или цялото съединение, има няколко приложения, които намирам за много интересни и полезни като Raspberry Pi като център за домашна автоматизация, така че няколко устройства за домашна автоматизация с възможност за Wi-Fi могат свържете се с интернет, като използвате безжичната точка за достъп на Raspberry Pi. Имате ли друга готина идея, към която това може да се приложи, не се колебайте да споделите чрез раздела за коментари, за да вдъхновите другите.
Тестване на безжична точка за достъп Raspberry Pi:
За да тествате тези инструкции, използвайте мобилен телефон или друго устройство, способно да се свърже с WiFi точка за достъп, трябва да видите изскачащото име. След това можете да се свържете с него, като използвате онази ужасна парола, която посочихме „emmanuel“. Не забравяйте да използвате по-сигурна парола при внедряване. Използвах тази парола само за улесняване на нещата.
Също така имайте предвид, че може да отнеме известно време, докато безжичната точка за достъп стане видима след рестартиране, тъй като Pi трябва да се зареди, преди да започнат мрежовите дейности.
Това е всичко за този урок. Дълъг е, благодаря, че отделихте време за четене. Обратната връзка и коментарите са винаги добре дошли.
До следващия път!