Table des matières:

Pont WiFi du réseau d'entreprise Raspberry Pi : 9 étapes
Pont WiFi du réseau d'entreprise Raspberry Pi : 9 étapes

Vidéo: Pont WiFi du réseau d'entreprise Raspberry Pi : 9 étapes

Vidéo: Pont WiFi du réseau d'entreprise Raspberry Pi : 9 étapes
Vidéo: Маршрутизатор на Orange Pi 2024, Juillet
Anonim
Pont WiFi du réseau d'entreprise Raspberry Pi
Pont WiFi du réseau d'entreprise Raspberry Pi

Par: Riley Barrett et Dylan Halland

L'objectif de ce projet est de permettre à un appareil IoT, tel qu'un Weemo Smart Plug, Amazon Echo, une console de jeu ou tout autre appareil compatible Wi-Fi, de se connecter à un réseau d'entreprise WPA_EAP en utilisant un Raspberry Pi Zero W comme paquet. dispositif de renvoi. Des étapes de configuration supplémentaires sont requises pour les appareils se connectant à un réseau d'entreprise, et de nombreux appareils ne sont pas du tout compatibles. En utilisant un pont Wi-Fi, n'importe quel appareil peut facilement accéder à Internet en se connectant au Pi.

Le système peut être mis en œuvre sur une seule carte sans fil ou sur deux cartes distinctes en fonction des besoins de l'utilisateur. Pour les systèmes nécessitant une puissance de signal plus élevée et des vitesses de chargement/téléchargement plus rapides, il est préférable d'utiliser une carte sans fil dédiée pour héberger le point d'accès. Cependant, pour les systèmes où la force du signal et la bande passante sont moins importantes, ou où une solution plus rentable est souhaitée, une seule carte peut être partagée par le point d'accès et la connexion réseau.

Fournitures

Raspberry Pi Zero W

Accès à un clavier et un moniteur

Quelques connaissances en programmation (à des fins de débogage, configuration Raspberry Pi)

Adaptateur/dongle WiFi externe (en option)

Étape 1: Configuration du Raspberry Pi

Configuration du Raspberry Pi
Configuration du Raspberry Pi

Commencez par connecter votre Pi à un clavier et un moniteur (peut nécessiter un adaptateur HDMI).

Ensuite, vous pouvez commencer par taper la commande:

sudo su

Cela garantira que vous disposez des privilèges nécessaires pour modifier les fichiers sur le pi.

Maintenant, vous voudrez installer dnsmasq et hostapd à l'aide de la commande:

apt-get install dnsmasq hostapd

Vous pouvez maintenant commencer à configurer le pont WiFi.

REMARQUE - Le didacticiel suivant contiendra des informations pour ceux qui utilisent la carte sans fil intégrée unique à la fois pour le point d'accès et pour se connecter au réseau. Il est également possible de configurer le système pour qu'il fonctionne sur deux cartes distinctes. Pour ce faire, recherchez simplement les lignes "wlan1" commentées dans les fichiers fournis et remplacez-les par les lignes "ap0" voisines.

Étape 2: 70-persistent-net.rules

Commencez par trouver l'adresse MAC de votre pi en tapant:

iw dev

Créez le fichier suivant:

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

et modifiez-le pour qu'il contienne les éléments suivants

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"

Ce fichier indique au système d'allouer un périphérique au point d'accès au démarrage. Ici, l'adresse MAC doit être remplacée par celle de votre propre pi, que vous venez de trouver.

(Deux cartes sans fil) Ce fichier n'est pas requis lors de l'utilisation de deux cartes sans fil.

Étape 3: Hostapd.conf

Ensuite, vous modifierez le fichier hostapd.conf en entrant ce qui suit:

nano /etc/hostapd/hostapd.conf

Modifiez le fichier pour qu'il corresponde à la configuration suivante:

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_key_mgmt=WPAWpair-PSCCMP_K wpa_pairIPwisers=K wpa

Notez que bien que mon canal ici soit défini sur 6, vous devrez peut-être modifier cette valeur pour qu'elle corresponde au canal sur lequel wlan0 est activé. Sur certains réseaux, le canal sera automatiquement modifié pour que le point d'accès corresponde à wlan0, mais ce n'était pas mon expérience sur le réseau d'entreprise. Vous pouvez vérifier quels canaux sont actuellement utilisés et par quelles interfaces en tapant

chaîne iwlist

(Deux cartes sans fil) Décommentez simplement la ligne contenant wlan1 et commentez celle contenant ap0.

Étape 4: Dnsmasq.conf

Vous allez maintenant éditer le fichier dnsmasq.conf:

nano /etc/dnsmasq.conf

Décommentez ou ajoutez les lignes suivantes:

interface=lo, ap0

#interface=lo, wlan1 no-dhcp-interface=lo bind-interfaces server=8.8.8.8 domaine nécessaire bogus-priv dhcp-range=192.168.2.100, 192.168.2.200, 12h

Vous pouvez utiliser votre propre sous-réseau ici si vous le souhaitez, assurez-vous simplement que vous êtes cohérent.

(Deux WirelessCcards) Décommentez la ligne contenant wlan1, et commentez celle contenant ap0.

Étape 5: Interfaces

Ensuite, vous devrez modifier le fichier interfaces:

nano /etc/network/interfaces

lo auto

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

Il convient de noter que l'interface wlan0 DOIT venir après l'interface que vous lui transférez, sinon le système ne fonctionnera pas correctement.

(Deux cartes sans fil) Décommentez toutes les lignes contenant wlan1 et commentez toutes les lignes contenant ap0.

Étape 6: Wpa_supplicant.conf

Vous allez maintenant modifier le fichier wpa_supplicant.conf qui se trouve à l'adresse:

nano /etc/wpa_supplicant/wpa_supplicant.conf

Certains réseaux sont configurés différemment que d'autres donc cette partie peut nécessiter un peu de bricolage, voici le fichier wpa_supplicant.conf qui m'a permis de me connecter au réseau à 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="votre_mot de passe" phase1="peapver=0" phase2="MSCHAPV2" }

Ce fichier est utilisé pour configurer wlan0 pour se connecter à votre réseau d'entreprise. Certains réseaux d'entreprise nécessitent un certificat CA pour se connecter. Le réseau du campus de Cal Poly ne nécessite pas de certificat, j'ai donc sauté cette partie, mais vous pouvez facilement télécharger les certificats appropriés et les ajouter à votre fichier wpa_supplicant avec la ligne

ca_cert="/chemin/vers/cert.pem"

Étape 7: Script Hostapdstart

La dernière chose à faire est d'écrire un script qui démarre les deux interfaces et configure le transfert de paquets lorsque le système démarre. Créez un fichier appelé hostapdstart en tapant:

nano /usr/local/bin/hostapdstart

Ajoutez ce qui suit au fichier

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

Ce script fait tomber les deux interfaces, puis les ramène dans le bon ordre, indique au pi que vous souhaitez transférer des paquets d'une interface à une autre, et enfin redémarre dnsmasq pour que les modifications prennent effet.

(Deux cartes sans fil) décommentez la ligne avec wlan1 et commentez la ligne avec ap0.

Étape 8: Rc.local

Enfin, nous voulons que le système démarre au démarrage du système, nous allons donc modifier le fichier rc.local, qui est exécuté au démarrage:

nano /etc/rc.local

Ajoutez simplement la ligne suivante à la fin du fichier:

hostapdstart>1&

Votre fichier devrait ressembler à ceci:

_IP=$(nom d'hôte -I) || trueif ["$_IP"]; then printf "Mon adresse IP est %s\n" "$_IP" fi

hostapdstart>1&

sortie 0

Étape 9: Redémarrez

Et c'est tout! Maintenant, en supposant que tout soit correctement configuré et que votre dongle WiFi soit connecté (si vous en utilisez un), il vous suffit de redémarrer votre Raspberry Pi avec la commande:

redémarrer

Une fois que votre Pi a redémarré avec succès, vous devriez pouvoir voir le nom de votre point d'accès sur n'importe quel appareil (téléphone, ordinateur portable, etc.). Une fois que vous vous êtes connecté à l'aide du mot de passe spécifié, il devrait vous connecter directement au réseau d'entreprise de votre choix !

Un merci spécial aux liens suivants pour nous avoir donné une idée de la façon d'aborder ce projet:

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

Faites-nous savoir si vous avez des questions, des commentaires ou des suggestions!

Défi IdO
Défi IdO
Défi IdO
Défi IdO

Finaliste du défi IoT

Conseillé: