- Wymagane komponenty:
- Kroki konfiguracji Raspberry Pi jako bezprzewodowego punktu dostępowego:
- Dostęp do Internetu z hotspotu Wi-Fi Raspberry Pi
- Testowanie bezprzewodowego punktu dostępowego Raspberry Pi:
Cześć, dzisiaj pokażę, jak zamienić Raspberry Pi w bezprzewodowy punkt dostępowy, z którym mogą łączyć się inne urządzenia, w zasadzie zmieniamy Raspberry Pi w bezprzewodowy „router”. Jako bonus pokażę nam również, jak skonfigurować bezprzewodowy punkt dostępowy utworzony w celu zapewnienia (udostępniania) dostępu do Internetu (z) podłączonymi urządzeniami. Zacznijmy więc tworzyć hotspot Wi-Fi z Raspberry Pi.
Wymagane komponenty:
Do skonfigurowania raspberry pi jako bezprzewodowego punktu dostępowego potrzebne będą następujące komponenty:
- Raspberry Pi 2
- Karta SD o pojemności 8 GB
- Klucz sprzętowy WiFi USB
- kabel Ethernet
- Zasilacz do Pi.
- Monitor (opcjonalnie)
- Klawiatura (opcjonalnie)
- Mysz (opcjonalnie)
Chociaż Raspberry Pi 3 i Pi zero są szeroko dostępne i mogłyby zostać użyte, w tym samouczku będę używać Raspberry Pi 2, ponieważ moje Pi3 jest obecnie zajęte wykonywaniem ciężkiego zadania związanego z wizją komputerową, którym mam nadzieję podzielić się tutorial tutaj wkrótce. Ta procedura działa jednak również dla pi 3 i powinna (uwaga podkreślenie) działać również dla Raspberry Pi zero W. Podczas korzystania z Raspberry Pi 3 lub Zero W nie będzie potrzeby stosowania zewnętrznego modułu Wi-Fi ponieważ te dwie płyty mają już Wi-Fi na pokładzie.
Aby dokładniej zdefiniować cele tego samouczka, damy naszemu Raspberry Pi możliwość działania jako bezprzewodowy punkt dostępowy i aby to osiągnąć, będziemy musieli zainstalować i skonfigurować oprogramowanie, które wyposaża Raspberry Pi w tę funkcjonalność wraz z oprogramowanie serwera DHCP, aby dostarczyć adres sieciowy dla urządzeń, które będą podłączone do punktu dostępowego. Aby spełnić to wymaganie dotyczące oprogramowania, będziemy używać oprogramowania dnsmasq i hostapd.
Ten samouczek będzie oparty na Raspbian stretch OS, więc aby kontynuować, zakładam, że znasz konfigurację Raspberry Pi z Raspbian stretch OS i wiesz, jak połączyć się przez SSH z Raspberry pi za pomocą oprogramowania terminalowego, takiego jak kit. Jeśli masz z tym jakiekolwiek problemy, na tej stronie znajdziesz mnóstwo poradników Raspberry Pi, które mogą pomóc.
Kroki konfiguracji Raspberry Pi jako bezprzewodowego punktu dostępowego:
Wykonując następujące kluczowe kroki, jeden po drugim, będziemy mogli skonfigurować raspberry pi jako bezprzewodowy punkt dostępowy. Należy zauważyć, że niektóre bezprzewodowe klucze USB nie będą działać w trybie AP, ale po wypróbowaniu tego klucza i zadziałało, mam ochotę powiedzieć, że 5 z 8 kluczy będzie działać.
Krok 1: Zaktualizuj Pi
Jak zwykle aktualizujemy raspberry pi, aby mieć pewność, że mamy najnowszą wersję wszystkiego. Odbywa się to za pomocą;
sudo apt-get update
śledzony przez;
sudo apt-get upgrade
Po zakończeniu aktualizacji uruchom ponownie pi, aby wprowadzić zmiany.
Krok 2: Zainstaluj „ dnsmasq ” i „ hostapd ”
Następnie instalujemy oprogramowanie, które umożliwia skonfigurowanie pi jako bezprzewodowego punktu dostępowego, a także oprogramowanie, które pomaga przypisywać adresy sieciowe do urządzeń łączących się z AP. Robimy to biegając;
sudo apt-get install dnsmasq
śledzony przez;
sudo apt-get install hostapd
lub możesz to połączyć, biegając;
sudo apt-get install dnsmasq hostapd
Krok 3: Zatrzymaj uruchamianie oprogramowania
Ponieważ nie mamy jeszcze skonfigurowanego oprogramowania, nie ma sensu go uruchamiać, więc wyłączamy je z działania w podziemiu. Aby to zrobić, uruchamiamy następujące polecenia, aby zatrzymać operację systemd .
sudo systemctl stop dnsmasq sudo systemctl stop hostapd
Krok 4: Skonfiguruj statyczny adres IP dla portu bezprzewodowego
Potwierdź port wlan, do którego jest podłączone używane urządzenie bezprzewodowe. Dla mojego Pi, sieć bezprzewodowa jest włączona wlan0. Konfiguracja Raspberry Pi jako serwera wymaga od nas przypisania statycznego adresu IP do portu bezprzewodowego. Można to zrobić, edytując plik konfiguracyjny dhcpcd . Aby edytować plik konfiguracyjny, uruchom;
sudo nano /etc/dhcpcd.conf
Przewiń w dół pliku konfiguracyjnego i dodaj następujące wiersze.
Interfejs wlan0 static ip_address = 192.168.4.1 / 24
Po dodaniu linii plik konfiguracyjny powinien wyglądać jak na poniższym obrazku.
Uwaga: ten adres IP można zmienić, aby dopasować go do preferowanej konfiguracji.
Zapisz plik i zakończ za pomocą; ctrl + x, a następnie Y
Uruchom ponownie usługę dhcpcd , aby wprowadzić zmiany w konfiguracji za pomocą;
Uruchom ponownie usługę Sudo dhcpcd
Krok 5: Skonfiguruj serwer dhcpcd
Po skonfigurowaniu statycznego adresu IP dla sieci WLAN Raspberry Pi, następną rzeczą jest skonfigurowanie serwera dhcpcd i udostępnienie mu zakresu adresów IP, które mają być przypisane do urządzeń łączących się z bezprzewodowym punktem dostępowym. Aby to zrobić, musimy edytować plik konfiguracyjny oprogramowania dnsmasq ale plik konfiguracyjny oprogramowania zawiera o wiele za dużo informacji i wiele może się nie udać Jeśli nie zostanie odpowiednio wyedytowany, więc zamiast edycji utworzymy nową konfigurację plik zawierający tylko taką ilość informacji, jaka jest potrzebna do zapewnienia pełnej funkcjonalności punktu dostępu bezprzewodowego.
Przed utworzeniem nowego pliku konfiguracyjnego zachowujemy stary w bezpiecznym miejscu, przenosząc go i zmieniając jego nazwę.
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.old
Następnie uruchom edytor, aby utworzyć nowy plik konfiguracyjny;
sudo nano /etc/dnsmasq.conf
po uruchomieniu edytora skopiuj poniższe wiersze i wklej lub wpisz bezpośrednio do niego.
Interfejs = wlan0 # wskaż interfejs komunikacyjny, którym zwykle jest wlan0 dla bezprzewodowego zakresu dhcp = 192.168.4.2, 192.168.4.20, 255.255.255.0,24h
zawartość pliku powinna wyglądać jak na poniższym obrazku.
Zapisz plik i zakończ. Zawartość tego pliku konfiguracyjnego służy jedynie do określenia zakresu adresów IP, które można przypisać urządzeniom podłączonym do bezprzewodowego punktu dostępowego.
Dzięki temu będziemy mogli nadać tożsamość urządzeniom w naszej sieci.
Kolejny zestaw kroków pomoże nam skonfigurować oprogramowanie hosta punktu dostępu, skonfigurować ssid, wybrać kodowanie itp.
Krok 6: Skonfiguruj hostapd dla SSID i hasła
Musimy edytować plik konfiguracyjny hostapd (uruchom sudo nano /etc/hostapd/hostapd.conf ), aby dodać różne parametry konfigurowanej sieci bezprzewodowej, w tym identyfikator ssid i hasło. Należy zauważyć, że hasło (hasło) powinno mieć od 8 do 64 znaków. Nic mniejszego nie zadziała.
interfejs = sterownik 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 # używaj bardzo bezpiecznego hasła, a nie tego wpa_Akey_mgmt = WPa_Akey_mgmt = WPa_Akey_mgmt = rsn_pairwise = CCM
Zawartość pliku powinna wyglądać jak na poniższym obrazku.
Możesz dowolnie zmieniać identyfikator SSID i hasło zgodnie z własnymi potrzebami i pragnieniami.
Zapisz plik konfiguracyjny i zakończ.
Po zapisaniu pliku konfiguracyjnego musimy wskazać oprogramowaniu hostapd miejsce, w którym plik konfiguracyjny został zapisany. Aby to zrobić, biegnij;
sudo nano / etc / default / hostapd
znajdź linię z komentarzem daemon_conf , jak pokazano na poniższym obrazku.
Usuń komentarz z wiersza DAEMON_CONF i dodaj wiersz poniżej między cudzysłowami przed znakiem „równości”.
/etc/hostapd/hostapd.conf
Krok 7: Odpal
Ponieważ początkowo wyłączyliśmy oba programy, abyśmy mogli je poprawnie skonfigurować, musimy ponownie uruchomić system po konfiguracji, aby wprowadzić zmiany.
Posługiwać się;
sudo systemctl start hostapd sudo systemctl start dnsmasq
Krok 8: Routing i maskarada dla ruchu wychodzącego
Musimy dodać routing i maskaradę dla ruchu wychodzącego.
Aby to zrobić, musimy edytować plik konfiguracyjny systemctl , uruchamiając:
sudo nano /etc/sysctl.conf
Odkomentuj tę linię net.ipv4.ip_forward = 1 (zaznaczona na poniższym obrazku)
Zapisz plik konfiguracyjny i zakończ za pomocą ctrl + x, a następnie y.
Następnie przechodzimy do maskowania ruchu wychodzącego. Można to zrobić, wprowadzając pewne zmiany w regule iptable. Aby to zrobić, uruchom następujące polecenia:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
następnie zapisz regułę Iptables przy użyciu:
sudo sh -c "iptables-save> /etc/iptables.ipv4.nat"
Krok 9: Utwórz bezprzewodowy punkt dostępu podczas uruchamiania:
W przypadku większości aplikacji bezprzewodowego punktu dostępowego często pożądane jest, aby punkt dostępu pojawiał się zaraz po uruchomieniu systemu. Aby zaimplementować to na raspberry pi, jednym z najłatwiejszych sposobów jest dodanie instrukcji uruchamiania oprogramowania w pliku rc.local , więc umieszczamy polecenia instalujące reguły iptable podczas rozruchu w pliku rc.local.
Aby edytować plik rc.local, uruchom:
sudo nano /etc/rc.local
i dodaj następujące wiersze na dole systemu, tuż przed instrukcją exit 0
iptables-restore </etc/iptables.ipv4.nat
Krok 9: Uruchom ponownie! I użyć
Na tym etapie musimy ponownie uruchomić system, aby wprowadzić wszystkie zmiany i przetestować bezprzewodowy punkt dostępowy uruchamiany podczas rozruchu z zaktualizowaną regułą iptables.
Uruchom ponownie system za pomocą:
sudo reboot
Zaraz po ponownym włączeniu systemu powinieneś być w stanie uzyskać dostęp do bezprzewodowego punktu dostępowego za pomocą dowolnego urządzenia obsługującego Wi-Fi i hasła użytego podczas konfiguracji.
Dostęp do Internetu z hotspotu Wi-Fi Raspberry Pi
O tak, więc dodam dodatkowy samouczek, aby pokazać, w jaki sposób utworzony bezprzewodowy punkt dostępowy można wykorzystać do zapewnienia połączenia internetowego dla podłączonych do niego urządzeń. Dostęp do Internetu dystrybuowany do urządzeń jest zapewniany przez port Ethernet w Pi, który można podłączyć do routera lub dowolnego podobnego urządzenia.
Aby to zaimplementować, musimy umieścić „most” pomiędzy urządzeniem bezprzewodowym a urządzeniem Ethernet na Raspberry Pi (bezprzewodowym punkcie dostępowym), aby przepuścić cały ruch między dwoma interfejsami. Aby to skonfigurować, użyjemy oprogramowania bridge-utils . Zainstaluj hostapd i bridge-utils . Chociaż wcześniej zainstalowaliśmy hostapd , uruchom instalację ponownie, aby rozwiać wszelkie wątpliwości.
sudo apt-get install hostapd bridge-utils
Następnie zatrzymujemy hostapd, aby skonfigurować oprogramowanie.
sudo systemctl zatrzymaj hostapd
Kiedy tworzony jest most, na dwóch mostkowanych portach tworzona jest konstrukcja wyższego poziomu, przez co most staje się urządzeniem sieciowym. Aby zapobiec konfliktom, musimy zatrzymać przydzielanie adresów IP przez klienta DHCP działającego na Raspberry Pi do portów eth0 i wlan0. Zostanie to zrobione poprzez edycję pliku konfiguracyjnego klienta dhcpcd, tak aby zawierał denyinterfaces wlan0 i denyinterfaces eth0, jak pokazano na poniższym obrazku.
Plik można edytować, uruchamiając polecenie;
sudo nano /etc/dhcpcd.conf
Uwaga: od tego momentu upewnij się, że nie odłączasz kabla Ethernet od komputera, jeśli pracujesz w trybie bezgłowym, ponieważ możesz nie być w stanie ponownie połączyć się przez SSH, ponieważ wyłączyliśmy port Ethernet. Jeśli pracujesz z monitorem, nie masz się czego obawiać.
Następnie tworzymy nowy most o nazwie br0
sudo brctl addbr br0
Następnie łączymy port Ethernet (eth0) z mostkiem (br0) za pomocą;
sudo brctl addif br0 eth0
Następnie edytujemy plik interfejsów za pomocą sudo nano / etc / network / interfaces, aby różne urządzenia mogły współpracować z mostem. Edytuj plik interfejsów, aby uwzględnić poniższe informacje;
# Konfiguracja mostka auto br0 iface br0 inet manual bridge_ports eth0 wlan0
Na koniec edytujemy plik hostapd.conf, aby uwzględnić konfigurację mostka. Można to zrobić, uruchamiając polecenie: sudo nano /etc/hostapd.conf i edytując plik tak, aby zawierał poniższe informacje. Zauważ, że mostek został dodany poniżej interfejsu wlan0, a wiersz sterownika został zakomentowany.
interface = wlan0 bridge = br0 # driver = nl80211 ssid = NameOfNetwork hw_mode = g channel = 7 wmm_enabled = 0 macaddr_acl = 0 auth_algs = 1 ignore_broadcast_ssid = 0 wpa = 2 wpa_passphrase = AardvarkBadgerHedgehog = 0 auth_algs = 1 ignore_broadcast_ssid = 0 wpa = 2 wpa_passphrase = AardvarkBadgerHedgehog = wpnwise_pair_pps = wpnwise_ps
Po wykonaniu tej czynności zapisz plik konfiguracyjny i zakończ.
Aby wprowadzić zmiany w Raspberry Pi, uruchom ponownie system. Po ponownym uruchomieniu powinieneś mieć teraz dostęp do Internetu, łącząc się z bezprzewodowym punktem dostępu utworzonym przez Raspberry Pi. To oczywiście zadziała tylko wtedy, gdy dostęp do Internetu jest dostępny dla pi przez port Ethernet.
Chociaż ten projekt można wykorzystać do rozszerzenia Wi-Fi na cały dom, biuro lub cały kompleks, jest kilka aplikacji, które uważam za bardzo interesujące i przydatne, takie jak raspberry pi jako centrum automatyki domowej, dzięki czemu kilka urządzeń automatyki domowej z obsługą Wi-Fi może połączyć się z Internetem za pomocą bezprzewodowego punktu dostępowego raspberry pi. Czy masz jakiś inny fajny pomysł, do którego można to zastosować, udostępnij go w sekcji komentarzy, aby zainspirować innych.
Testowanie bezprzewodowego punktu dostępowego Raspberry Pi:
Aby przetestować te instrukcje, użyj telefonu komórkowego lub innego urządzenia, które może połączyć się z siecią hotspot Wi-Fi, powinna pojawić się nazwa. Następnie możesz się z nim połączyć, używając tego okropnego hasła, które określiliśmy „emmanuel”. Podczas implementacji użyj bezpieczniejszego hasła. Użyłem tego hasła tylko po to, aby ułatwić śledzenie.
Należy również pamiętać, że może minąć trochę czasu, zanim bezprzewodowy punkt dostępu stanie się widoczny po ponownym uruchomieniu, ponieważ Pi musi się uruchomić przed rozpoczęciem działań sieciowych.
To wszystko w przypadku tego samouczka. To długi, dziękuję za poświęcenie czasu na przeczytanie. Opinie i komentarze są zawsze mile widziane.
Do następnego razu!