Obsah:

WiFi most Raspberry Pi Enterprise Network: 9 kroků
WiFi most Raspberry Pi Enterprise Network: 9 kroků

Video: WiFi most Raspberry Pi Enterprise Network: 9 kroků

Video: WiFi most Raspberry Pi Enterprise Network: 9 kroků
Video: How to connect Raspberry Pi Raspbian to eduroam Wi-Fi Network @ UNSW with WPA2 Enterprise Step Guide 2024, Listopad
Anonim
WiFi most Raspberry Pi Enterprise Network
WiFi most Raspberry Pi Enterprise Network

Autor: Riley Barrett a Dylan Halland

Cílem tohoto projektu je umožnit zařízení IoT, jako je Weemo Smart Plug, Amazon Echo, Gaming Console nebo jakékoli jiné zařízení podporující Wi-Fi, připojení k podnikové síti WPA_EAP pomocí Raspberry Pi Zero W jako paketu předávací zařízení. U zařízení připojujících se k podnikové síti jsou vyžadovány další kroky konfigurace a mnoho zařízení není vůbec kompatibilních. Pomocí Wi-Fi Bridge může jakékoli zařízení snadno získat přístup k internetu připojením k Pi.

Systém lze implementovat buď na jednu bezdrátovou kartu, nebo na dvě samostatné karty v závislosti na požadavcích uživatele. Pro systémy vyžadující vyšší sílu signálu a vyšší rychlost odesílání/stahování je nejlepší použít k hostování přístupového bodu vyhrazenou bezdrátovou kartu. V systémech, kde je síla signálu a šířka pásma méně důležitá nebo kde je požadováno nákladově efektivnější řešení, však může být jedna karta sdílena přístupovým bodem a síťovým připojením.

Zásoby

Raspberry Pi Zero W

Přístup ke klávesnici a monitoru

Některé znalosti programování (pro účely ladění, nastavení Raspberry Pi)

Externí WiFi adaptér/dongle (volitelně)

Krok 1: Nastavení Raspberry Pi

Nastavení Raspberry Pi
Nastavení Raspberry Pi

Začněte připojením Pi k klávesnici a monitoru (může vyžadovat adaptér HDMI).

Potom můžete začít zadáním příkazu:

sudo su

Tím zajistíte, že budete mít potřebná oprávnění k úpravě souborů na pi.

Nyní budete chtít nainstalovat dnsmasq a hostapd pomocí příkazu:

apt-get install dnsmasq hostapd

Nyní můžete začít nastavovat most WiFi.

POZNÁMKA - Následující tutoriál bude obsahovat informace pro uživatele, kteří používají jedinou integrovanou bezdrátovou kartu pro přístupový bod i pro připojení k síti. Je také možné nakonfigurovat systém tak, aby běžel na dvou samostatných kartách. Chcete -li to provést, jednoduše vyhledejte v poskytnutých souborech komentované řádky „wlan1“a nahraďte je sousedními řádky „ap0“.

Krok 2: 70-persistent-net.rules

Začněte vyhledáním MAC adresy vašeho pí zadáním:

iw dev

Vytvořte následující soubor:

nano /etc/udev/rules.d/70-persistent-net.rules

a upravte jej tak, aby obsahoval následující

SUBSYSTEM == "ieee80211", ACTION == "add | change", ATTR {macaddress} == "b8: 27: eb: c0: 38: 40", KERNEL == "phy0", / RUN+= "/sbin/ iw phy phy0 interface add ap0 type _ap ", / RUN+="/bin/ip link set ap0 address b8: 27: eb: c0: 38: 40"

Tento soubor říká systému, aby přidělil zařízení pro přístupový bod při spuštění. Zde by měla být MAC adresa nahrazena vaší vlastní pí, kterou jste právě našli.

(Dvě bezdrátové karty) Tento soubor není vyžadován při použití dvou bezdrátových karet.

Krok 3: Hostapd.conf

Dále pak soubor hostapd.conf upravíte zadáním následujícího:

nano /etc/hostapd/hostapd.conf

Upravte soubor tak, aby odpovídal následující konfiguraci:

ctrl_interface =/var/run/hostapd

ctrl_interface_group = 0 #interface = ap0 interface = wlan1 driver = nl80211 ssid = testnet hw_mode = g kanál = 6 wmm_enabled = 0 macaddr_acl = 0 auth_algs = 1 wpa = 2 wpa_passphrase = 0123456789 wpa_key_mgmt = TMP-WP-PSK

Všimněte si, že zatímco můj kanál je zde nastaven na 6, možná budete muset tuto hodnotu změnit, aby odpovídala kanálu, na kterém je wlan0. V některých sítích se kanál automaticky změní tak, aby přístupový bod odpovídal wlan0, ale v podnikové síti to není moje zkušenost. Zadáním můžete zkontrolovat, které kanály se aktuálně používají a která rozhraní

kanál iwlist

(Dvě bezdrátové karty) Jednoduše odkomentujte řádek obsahující wlan1 a okomentujte ten, který obsahuje ap0.

Krok 4: Dnsmasq.conf

Nyní upravíte soubor dnsmasq.conf:

nano /etc/dnsmasq.conf

Odkomentujte nebo přidejte následující řádky:

rozhraní = lo, ap0

#interface = lo, wlan1 no-dhcp-interface = lo bind-interfaces server = 8.8.8.8 doména-falešný-priv dhcp-range = 192.168.2.100, 192.168.2.200, 12h

Pokud chcete, můžete zde použít vlastní podsíť, ale ujistěte se, že jste konzistentní.

(Dvě karty WirelessCcard) Odkomentujte řádek obsahující wlan1 a okomentujte řádek obsahující ap0.

Krok 5: Rozhraní

Dále budete muset upravit soubor rozhraní:

nano/etc/network/interfaces

auto lo

auto ap0 #auto wlan1 auto wlan0 iface lo inet loopback iface eth0 inet dhcp allow-hotplug ap0 #allow-hotplug wlan1 iface ap0 inet static #iface wlan1 inet statická adresa 192.168.2.1 síťová maska 255.255.255.0 hostapd /etc/hostapd/hostapd.conf allow -hotplug wlan0 iface wlan0 inet dhcp pre -up wpa_supplicant -B -Dwext -i wlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf post -down killall -q wpa_supplicant

Stojí za zmínku, že rozhraní wlan0 MUSÍ přijít po jakémkoli rozhraní, které do něj předáváte, jinak systém nebude fungovat správně.

(Dvě bezdrátové karty) Odkomentujte všechny řádky obsahující wlan1 a okomentujte všechny obsahující ap0.

Krok 6: Wpa_supplicant.conf

Nyní upravíte soubor wpa_supplicant.conf, který najdete na adrese:

nano /etc/wpa_supplicant/wpa_supplicant.conf

Některé sítě jsou konfigurovány odlišně než jiné, takže tato část může vyžadovat nějaké drobnosti, zde je soubor wpa_supplicant.conf, který mi umožnil připojit se k síti na Cal Poly:

country = USctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1 network = {ssid = "SecureMustangWireless" scan_ssid = 1 key_mgmt = WPA-EAP pairwise = CCMP TKIP group = CCMP TKIP eap = PEAP identity = "usern calpoly.edu "password =" your_password "phase1 =" peapver = 0 "phase2 =" MSCHAPV2 "}

Tento soubor slouží ke konfiguraci wlan0 pro připojení k vaší podnikové síti. Některé podnikové sítě vyžadují k připojení certifikát CA. Kampusová síť Cal Poly nevyžaduje certifikát, takže jsem tuto část přeskočil, ale můžete si snadno stáhnout správné certifikáty a přidat je do svého souboru wpa_supplicant s řádkem

ca_cert = "/cesta/k/cert.pem"

Krok 7: Skript Hostapdstart

Poslední věc, kterou musíte udělat, je napsat skript, který spustí obě rozhraní a nastaví předávání paketů při spuštění systému. Vytvořte soubor s názvem hostapdstart zadáním:

nano/usr/local/bin/hostapdstart

Přidejte do souboru následující

sudo ifdown --force wlan0 && sudo ifdown --force ap0 && sudo ifup ap0 && sudo ifup wlan0

#sudo ifdown --force wlan0 && sudo ifdown --force wlan1 && sudo ifup wlan1 && sudo ifup wlan0 sudo sysctl -w net.ipv4.ip_forward = 1 sudo iptables -t nat -A POSTROUTING -s 192.168.2.0/24! -d 192.168.2.0/24 -j MASQUERADEsudo systemctl restart dnsmasq

Tento skript stáhne obě rozhraní, poté je vrátí zpět ve správném pořadí, řekne pi, že byste chtěli přeposílat pakety z jednoho rozhraní do druhého, a nakonec restartuje dnsmasq, aby se změny projevily.

(Dvě bezdrátové karty) odkomentujte řádek s wlan1 a komentujte řádek s ap0.

Krok 8: Rc.local

Nakonec chceme, aby se systém spustil při spuštění systému, takže upravíme soubor rc.local, který se spouští při bootování:

nano /etc/rc.local

Jednoduše přidejte na konec souboru následující řádek:

hostapdstart> 1 &

Váš soubor by měl vypadat nějak takto:

_IP = $ (hostname -I) || trueif ["$ _IP"]; pak vytiskněte „Moje IP adresa je %s / n“„$ _IP“fi

hostapdstart> 1 &

výstup 0

Krok 9: Restartujte

A to je vše! Nyní, za předpokladu, že máte vše správně nastaveno a váš WiFi dongle je připojen (pokud jej používáte), stačí restartovat váš Raspberry Pi pomocí příkazu:

restartovat

Jakmile se váš Pi úspěšně restartuje, měli byste vidět název svého přístupového bodu na jakémkoli zařízení (telefon, notebook atd.). Jakmile se připojíte pomocí zadaného hesla, mělo by vás to připojit přímo k požadované podnikové síti!

Zvláštní poděkování patří následujícím odkazům, které nám poskytly představu, jak k tomuto projektu přistoupit:

  • https://blog.thewalr.us/2017/09/26/raspberry-pi-ze…
  • https://www.raspberrypi.org/forums/viewtopic.php?p…
  • https://www.raspberrypi.org/forums/viewtopic.php?f…

Dejte nám vědět, pokud máte nějaké dotazy, komentáře nebo návrhy!

IoT výzva
IoT výzva
IoT výzva
IoT výzva

Vítěz soutěže IoT Challenge

Doporučuje: