Съдържание:

Raspberry Pi Enterprise Network WiFi Bridge: 9 стъпки
Raspberry Pi Enterprise Network WiFi Bridge: 9 стъпки

Видео: Raspberry Pi Enterprise Network WiFi Bridge: 9 стъпки

Видео: Raspberry Pi Enterprise Network WiFi Bridge: 9 стъпки
Видео: How to network monitor using Raspberry PI | Zabbix | NETVN 2024, Юли
Anonim
Raspberry Pi Enterprise Network WiFi Bridge
Raspberry Pi Enterprise Network WiFi Bridge

От: Райли Барет и Дилън Халанд

Целта на този проект е да позволи на IoT устройство, като например Weemo Smart Plug, Amazon Echo, Gaming Console или друго устройство с Wi-Fi връзка, да се свърже с WPA_EAP Enterprise Network, като използва Raspberry Pi Zero W като пакет пренасочващо устройство. За устройства, свързващи се към корпоративна мрежа, са необходими допълнителни стъпки за конфигуриране, а много устройства изобщо не са съвместими. Използвайки Wi-Fi Bridge, всяко устройство може лесно да получи достъп до интернет, като се свърже с Pi.

Системата може да бъде внедрена или на една безжична карта, или на две отделни карти в зависимост от изискванията на потребителя. За системи, изискващи по -висока сила на сигнала и по -бързи скорости на качване/изтегляне, най -добре е да използвате специална безжична карта за хостване на точката за достъп. Въпреки това, за системи, където силата на сигнала и честотната лента са по -малко важни или където се иска по -рентабилно решение, една точка може да бъде споделена от точката за достъп и мрежовата връзка.

Консумативи

Raspberry Pi Zero W

Достъп до клавиатура и монитор

Някои познания по програмиране (за отстраняване на грешки, настройка на Raspberry Pi)

Външен WiFi адаптер/ключ (по избор)

Стъпка 1: Настройка на Raspberry Pi

Настройване на Raspberry Pi
Настройване на Raspberry Pi

Започнете, като свържете вашия Pi към клавиатура и монитор (може да се нуждаете от HDMI адаптер).

След това можете да започнете, като въведете командата:

sudo su

Това ще гарантира, че имате необходимите привилегии за промяна на файлове в pi.

Сега ще искате да инсталирате dnsmasq и hostapd, като използвате командата:

apt-get install dnsmasq hostapd

Вече можете да започнете да настройвате WiFi моста.

ЗАБЕЛЕЖКА - Следният урок ще съдържа информация за тези, които използват единичната бордова безжична карта както за точката за достъп, така и за свързване към мрежата. Възможно е също така да се конфигурира системата да работи на две отделни карти. За да направите това, просто потърсете коментираните "wlan1" редове в предоставените файлове и ги заменете със съседните "ap0" редове.

Стъпка 2: 70-persistent-net.rules

Започнете, като намерите MAC адреса на вашето пи, като въведете:

iw dev

Създайте следния файл:

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

и го редактирайте така, че да съдържа следното

SUBSYSTEM == "ieee80211", ACTION == "добавяне | промяна", ATTR {macaddress} == "b8: 27: eb: c0: 38: 40", KERNEL == "phy0", / RUN+= "/sbin/ iw phy phy0 интерфейс добавете ap0 тип _ap ", / RUN+="/bin/ip набор от връзки ap0 адрес b8: 27: eb: c0: 38: 40"

Този файл казва на системата да разпредели устройство за точката за достъп при стартиране. Тук MAC адресът трябва да бъде заменен с този на вашето собствено пи, което току -що открихте.

(Две безжични карти) Този файл не е необходим, когато използвате две безжични карти.

Стъпка 3: Hostapd.conf

След това ще редактирате файла hostapd.conf, като въведете следното:

nano /etc/hostapd/hostapd.conf

Променете файла така, че да съответства на следната конфигурация:

ctrl_interface =/var/run/hostapd

ctrl_interface_group = 0 #интерфейс = ap0 интерфейс = wlan1 драйвер = nl80211 ssid = testnet hw_mode = g канал = 6 wmm_enabled = 0 macaddr_acl = 0 auth_algs = 1 wpa = 2 wpa_passphrase = 0123456789 wpa_key_mgmppCPpapa WPP-WP = WPP-WP = WPP-WP = WCP

Обърнете внимание, че докато каналът ми тук е настроен на 6, може да се наложи да промените тази стойност, за да съответства на канала, на който е включен wlan0. В някои мрежи каналът автоматично ще бъде променен, така че точката за достъп да съответства на wlan0, но това не беше моят опит в корпоративната мрежа. Можете да проверите кои канали се използват в момента и по кои интерфейси, като въведете

iwlist канал

(Две безжични карти) Просто декомментирайте реда, съдържащ wlan1, и коментирайте този, съдържащ ap0.

Стъпка 4: Dnsmasq.conf

Сега ще редактирате файла dnsmasq.conf:

nano /etc/dnsmasq.conf

Ракоментирайте или добавете следните редове:

интерфейс = lo, ap0

#интерфейс = lo, wlan1 no-dhcp-интерфейс = lo bind-интерфейси сървър = 8.8.8.8 необходим за домейн фалшив прив dhcp-range = 192.168.2.100, 192.168.2.200, 12h

Можете да използвате вашата собствена подмрежа тук, ако искате, просто бъдете сигурни, че сте последователни.

(Две безжични карти) Декомментирайте реда, съдържащ wlan1, и коментирайте този, съдържащ ap0.

Стъпка 5: Интерфейси

След това ще трябва да промените файла с интерфейси:

nano/etc/network/интерфейси

авто ло

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 статичен адрес 192.168.2.1 маска на мрежата 255.255.255.0 hostapd /etc/hostapd/hostapd allow -hotplug wlan0 iface wlan0 inet dhcp предварително up wpa_supplicant -B -Dwext -i wlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf post -down killall -q wpa_supplicant

Струва си да се отбележи, че интерфейсът wlan0 ТРЯБВА да идва след интерфейса, който препращате към него, в противен случай системата няма да работи правилно.

(Две безжични карти) Декомментирайте всички редове, съдържащи wlan1, и коментирайте всички, съдържащи ap0.

Стъпка 6: Wpa_supplicant.conf

Сега ще промените файла wpa_supplicant.conf, намерен на:

nano /etc/wpa_supplicant/wpa_supplicant.conf

Някои мрежи са конфигурирани по различен начин от други, така че тази част може да изисква известна работа, ето файла wpa_supplicant.conf, който ми позволи да се свържа с мрежата в Cal Poly:

държава = USctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1 мрежа = {ssid = "SecureMustangWireless" scan_ssid = 1 key_mgmt = WPA-EAP по двойки = CCMP TKIP група = CCMP TKIP eap = PEAP идентичност = calpoly.edu "password =" your_password "phase1 =" peapver = 0 "phase2 =" MSCHAPV2 "}

Този файл се използва за конфигуриране на wlan0 за свързване към вашата корпоративна мрежа. Някои корпоративни мрежи изискват CA сертификат, за да се свържат. Мрежата на кампуса на Cal Poly не изисква сертификат, затова пропуснах тази част, но можете лесно да изтеглите подходящите сертификати и да ги добавите към вашия файл wpa_supplicant с реда

ca_cert = "/път/към/cert.pem"

Стъпка 7: Hostapdstart Script

Последното нещо, което трябва да направите, е да напишете скрипт, който стартира двата интерфейса и настройва пренасочването на пакети при стартиране на системата. Създайте файл, наречен hostapdstart, като въведете:

nano/usr/local/bin/hostapdstart

Добавете следното към файла

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 рестартиране dnsmasq

Този скрипт сваля двата интерфейса, след това ги връща обратно в правилния ред, казва на pi, че искате да препращате пакети от един интерфейс към друг и накрая рестартира dnsmasq, така че промените да влязат в сила.

(Две безжични карти) разкомментирайте реда с wlan1 и реда за коментар с ap0.

Стъпка 8: Rc.local

И накрая, искаме системата да стартира, когато системата се стартира, затова ще променим файла rc.local, който се изпълнява при зареждане:

nano /etc/rc.local

Просто добавете следния ред в края на файла:

hostapdstart> 1 &

Вашият файл трябва да изглежда така:

_IP = $ (име на хост -I) || trueif ["$ _IP"]; след това printf "Моят IP адрес е %s / n" "$ _IP" fi

hostapdstart> 1 &

изход 0

Стъпка 9: Рестартирайте

И това е! Сега, ако приемем, че всичко е настроено правилно и вашият WiFi ключ е прикрепен (ако използвате такъв), просто трябва да рестартирате Raspberry Pi с командата:

рестартирайте

След като вашият Pi успешно се рестартира, трябва да можете да видите името на вашата точка за достъп на всяко устройство (телефон, лаптоп и т.н.). След като се свържете с посочената от вас парола, тя трябва да ви свърже директно с желаната от вас корпоративна мрежа!

Специални благодарности на следните връзки, които ни предоставиха идея как да подходим към този проект:

  • 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…

Кажете ни, ако имате въпроси, коментари или предложения!

IoT Challenge
IoT Challenge
IoT Challenge
IoT Challenge

На второ място в IoT Challenge

Препоръчано: