Оглавление:

Wi-Fi-мост корпоративной сети Raspberry Pi: 9 шагов
Wi-Fi-мост корпоративной сети Raspberry Pi: 9 шагов

Видео: Wi-Fi-мост корпоративной сети Raspberry Pi: 9 шагов

Видео: Wi-Fi-мост корпоративной сети Raspberry Pi: 9 шагов
Видео: AXR-5P - свой собственный WiFi монстр в доме//Основа для мощной уличной точки//947_КоПСС 2024, Июль
Anonim
Сетевой WiFi-мост Raspberry Pi Enterprise
Сетевой WiFi-мост Raspberry Pi Enterprise

Авторы: Райли Барретт и Дилан Халланд

Цель этого проекта - разрешить IoT-устройству, например Weemo Smart Plug, Amazon Echo, Gaming Console или любому другому устройству с поддержкой Wi-Fi, подключаться к корпоративной сети WPA_EAP, используя Raspberry Pi Zero W в качестве пакета. экспедиторское устройство. Для устройств, подключающихся к корпоративной сети, требуются дополнительные шаги по настройке, а многие устройства вообще несовместимы. Используя мост Wi-Fi, любое устройство может легко получить доступ в Интернет, подключившись к Pi.

Система может быть реализована либо на одной беспроводной карте, либо на двух отдельных картах в зависимости от требований пользователя. Для систем, требующих более высокого уровня сигнала и более высокой скорости загрузки / выгрузки, лучше всего использовать выделенную беспроводную карту для размещения точки доступа. Однако для систем, где мощность сигнала и полоса пропускания менее важны или где требуется более экономичное решение, точка доступа и сетевое соединение могут использовать одну карту.

Запасы

Малина Pi Zero W

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

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

Внешний адаптер / ключ Wi-Fi (опционально)

Шаг 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

Создайте следующий файл:

нано /etc/udev/rules.d/70-persistent-net.rules

и отредактируйте его так, чтобы он содержал следующие

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"

Этот файл сообщает системе выделить устройство для точки доступа при загрузке. Здесь MAC-адрес следует заменить на адрес вашего собственного пи, который вы только что нашли.

(Две беспроводные карты) Этот файл не требуется при использовании двух беспроводных карт.

Шаг 3: Hostapd.conf

Затем вы отредактируете файл hostapd.conf, введя следующее:

нано /etc/hostapd/hostapd.conf

Измените файл так, чтобы он соответствовал следующей конфигурации:

ctrl_interface = / var / run / hostapd

ctrl_interface_group = 0 # interface = ap0 interface = wlan1 driver = nl80211 ssid = testnet hw_mode = g channel = 6 wmm_enabled = 0 macaddr_acl = 0 auth_algs = 1 wpa = 2 wpa_passphrase = 0123456789 wpa_key_mgmt = WPA_key_mgmt = CCMP_WPAIRK = CCMPWPAIRK = 0123456789 wpa_key_mgmt = CCMPWise_mgmt = CCMP_WPAI

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

канал iwlist

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

Шаг 4: Dnsmasq.conf

Теперь вы отредактируете файл dnsmasq.conf:

нано /etc/dnsmasq.conf

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

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

# interface = lo, wlan1 no-dhcp-interface = lo bind-interfaces server = 8.8.8.8 требуется домен bogus-priv dhcp-range = 192.168.2.100, 192.168.2.200, 12h

Вы можете использовать здесь свою собственную подсеть, если хотите, просто убедитесь, что вы согласны.

(Две карты WirelessCard) Раскомментируйте строку, содержащую wlan1, и закомментируйте строку, содержащую ap0.

Шаг 5: интерфейсы

Далее вам нужно будет изменить файл интерфейсов:

нано / и т. д. / сеть / интерфейсы

авто лоу

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 static address 192.168.2.1 netmask 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

Стоит отметить, что интерфейс wlan0 ДОЛЖЕН идти после того интерфейса, который вы ему перенаправляете, иначе система не будет работать должным образом.

(Две беспроводные карты) Раскомментируйте любые строки, содержащие wlan1, и закомментируйте любые, содержащие ap0.

Шаг 6: Wpa_supplicant.conf

Теперь вы измените файл wpa_supplicant.conf, расположенный по адресу:

нано /etc/wpa_supplicant/wpa_supplicant.conf

Некоторые сети настроены иначе, чем другие, поэтому эта часть может потребовать некоторой доработки. Вот файл wpa_supplicant.conf, который позволил мне подключиться к сети в 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 = "username @ calpoly.edu "password =" your_password "phase1 =" peapver = 0 "phase2 =" MSCHAPV2 "}

Этот файл используется для настройки wlan0 для подключения к корпоративной сети. Некоторым корпоративным сетям для подключения требуется сертификат CA. Сеть кампуса Cal Poly не требует сертификата, поэтому я пропустил эту часть, но вы можете легко загрузить соответствующие сертификаты и добавить их в свой файл wpa_supplicant с помощью строки

ca_cert = "/ путь / к / cert.pem"

Шаг 7. Сценарий Hostapdstart

Последнее, что осталось сделать, это написать сценарий, который запускает оба интерфейса и настраивает пересылку пакетов при загрузке системы. Создайте файл с именем hostapdstart, набрав:

нано / usr / локальный / 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

Этот сценарий отключает оба интерфейса, затем возвращает их обратно в надлежащем порядке, сообщает пи, что вы хотите пересылать пакеты с одного интерфейса на другой, и, наконец, перезапускает dnsmasq, чтобы изменения вступили в силу.

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

Шаг 8: Rc.local

Наконец, мы хотим, чтобы система запускалась при загрузке системы, поэтому мы изменим файл rc.local, который запускается при загрузке:

нано /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

Рекомендуемые: