Le but de la manip est de créer un réseau wifi privé dans lequel on enregistrera le flux vidéo des caméras.
j'utilise un BananaPi car il y a la possibilité de connecter un disque dur, pratique pour enregistrer !
Pour le wifi, j'utilise un clé usb, le réseau wifi ou ethernet sera en vlan car le réseau privé utilise le filaire et le wifi.
Suite à différents tests décrits ci dessous, je me suis résolu à utiliser un routeur/wifi TP-LINK
En effet créer un passerelle avec un banana pi est faisable, mais dans mon projet, il me manque une deuxième interface réseau pour connecter les caméra non wifi.
Il est bien possible de créer un interface virtuelle, mais cela surcharge encore le système.
De plus l'utilisation de motion (zoneminder dans mon cas) demande de la ressource qui est prise par le réseau.
Donc quitte à utiliser un deuxième banana pi autant utiliser du matos dédié.
BOX|-->Wan|-->tp-link|-->WIFI|--o Caméras wifi | " |<--WLAN0|--|Mon poste | Switch|-->Caméras IP " |-->Banana pi
Comme décrit un port de la box (192.168.0.0/24) va à l'entré WAN du routeur qui sort en wifi et sur ses ports LAN le réseau privé (192.168.1.0/24)
La conf du routeur ne laisse passer aucun ports et le DHCP est limité au mac address connues, pour accéder au LAN il faut se connecter soit en filaire ou en wifi.
Chose que je fait depuis mon poste auquel j'ai ajouté un clé wifi.
Le banana pi ne se consacre plus qu'à l'enregistrement de flux vidéos des différentes caméra.
Et pour tout dire, c'est déjà pas mal pour lui.
—————————————————————————————————–
Suite pour info !!!
On va chercher quel drivers charger.
On connecte la clé puis un coup de dmesg.
usb 4-1: new high-speed USB device number 8 using sw-ehci Oct 30 19:44:08 lemaker kernel: [ 5307.730571] usb 4-1: New USB device found, idVendor=0bda, idProduct=8176 Oct 30 19:44:08 lemaker kernel: [ 5307.736672] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Oct 30 19:44:08 lemaker kernel: [ 5307.739829] usb 4-1: Manufacturer: Realtek Oct 30 19:44:08 lemaker kernel: [ 5307.743427] usb 4-1: SerialNumber: 00e04c000001 Oct 30 19:44:08 lemaker kernel: [ 5308.268217] usbcore: registered new interface driver rtl8192cu Oct 30 19:44:08 lemaker ifplugd(wlan0)[2969]: ifplugd 0.28 initializing. Oct 30 19:44:09 lemaker ifplugd(wlan0)[2969]: Using interface wlan0/00:B8:18:7B:7C:24 with driver <rtl8192cu> (version: ) Oct 30 19:44:09 lemaker kernel: [ 5308.982405] ADDRCONF(NETDEV_UP): wlan0: link is not ready Oct 30 19:44:09 lemaker wpa_supplicant[2981]: nl80211: Could not configure driver to use managed mode Oct 30 19:44:09 lemaker ifplugd(wlan0)[2969]: Using detection mode: wireless extension Oct 30 19:44:09 lemaker ifplugd(wlan0)[2969]: Initialization complete, link beat not detected. Oct 30 19:44:09 lemaker kernel: [ 5308.990754] ADDRCONF(NETDEV_UP): wlan0: link is not ready
Il s'agit d'une clé realtech rtl8192cu, reste a cherche le drivers sur internet.
bingo ! sur Léa-linux
Sinon un ifconfig -a
wlan0 Link encap:Ethernet HWaddr 00:b8:18:7b:7c:24 UP BROADCAST MULTICAST MTU:1500 Metric:1 ....
Il faut activer la configuration wifi
ip link set wlan0 up
Lancer un scan pour trouver les réseaux aux alentours
iwlist wlan0 scan
Choisir votre réseau et ajouter le mot de passe
wpa_passphrase VOTRE_SSID >> /etc/wpa_supplicant.conf
Attention : Après avoir entré cette commande, il faut taper le mot de passe du réseau
Puis il faut appliquer la configuration
wpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant.conf
Ensuite, vous pouvez lancer l'attribution DHCP pour votre connexion
dhclient wlan0
Cette commande permet de connaitre votre adresse ip
ip addr show wlan0
Enfin, la derniere commande permet de diriger les paquets vers la passerelle. (Généralement : 192.168.1.1)
ip route add default via <passerelle> dev wlan0
Un ping vers www.google.com vous confirmera la connexion vers internet.
En fait pour mon appli j'ai besoin de configurer manuellement les interfaces réseaux.
Je me suis basé sur :
http://xael.org/2015/raspberry_pi-AP_wifi.html
http://lea-linux.org/documentations/Point_d'acc%C3%A8s_s%C3%A9curis%C3%A9_par_hostAPd
http://www.geekmag.fr/raspberry-pi-creer-un-hotspot-wifi-avec-une-cle-edimax/
sudo apt-get install dnsmasq hostapd
A noter que par défaut, hostpad n’est pas compatible avec le chipset RTL8188CUS comme celui présent dans la clé USD – Edimax EW. Vous pouvez donc utiliser le binaire indiqué dans ce tuto.
wget http://www.daveconroy.com/wp3/wp-content/uploads/2013/07/hostapd.zip unzip hostapd.zip sudo mv /usr/sbin/hostapd /usr/sbin/hostapd.bak sudo mv hostapd /usr/sbin/hostapd.edimax sudo ln -sf /usr/sbin/hostapd.edimax /usr/sbin/hostapd sudo chown root.root /usr/sbin/hostapd sudo chmod 755 /usr/sbin/hostapd
Dans /etc/network/interfaces
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
# wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
sudo vi /etc/hostapd/hostapd.conf
interface=wlan0 driver=rtl871xdrv bridge=br0 # Nom du spot Wi-Fi ssid=Skycontroller channel=1 wmm_enabled=0 wpa=1 #le mot de passse pour se connecter à l’AP wpa_passphrase=anybody fuck wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP auth_algs=1 macaddr_acl=0
Démarrage par :
sudo hostapd -dd /etc/hostapd/hostapd.conf
Pour que cela soit permanent :
sudo vi /etc/default/hostapd
Dé-commantez cette ligne et indiquer le chemin du fichier de conf hostapd
DAEMON_CONF=“/etc/hostapd/hostapd.conf”
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig sudo vi /etc/dnsmasq.conf
# Use interface wlan0 interface=wlan0 # Explicitly specify the address to listen on listen-address=192.168.1.1 # Bind to the interface to make sure we aren't sending things elsewhere bind-interfaces # Forward DNS requests to Google DNS server=8.8.8.8 # Don't forward short names domain-needed # Never forward addresses in the non-routed address spaces. bogus-priv # Assign IP addresses between 192.168.1.50 and 192.168.1.150 with a 12 hour lease time dhcp-range=192.168.1.50,192.168.1.150,12h # If you’d like to have dnsmasq assign static IPs, bind the LAN computer's # NIC MAC address: dhcp-host=02:0F:B5:B8:EC:AA,192.168.1.10
sudo vi /etc/sysctl.conf
retirer le # depuis le début de la ligne contenant net.ipv4.ip_forward=1
Nous devons également partager la connexion Internet de notre Pi à nos appareils connectés via WiFi par la configuration d' un NAT entre notre wlan0 interface et notre eth0 interface. Nous pouvons le faire en utilisant les commandes suivantes:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
La Bananapi a juste une interface réseau, dans mon cas j'ai besoin de connecter une caméra IP filaire et une wifi.
Je pourrais faire le trunk sur le réseau filaire, mais je n'ai pas de switch configurable.
Donc on va passer par le WIFI.
sudo apt-get install vlan
Déjà installer le driver.
sudo modprobe 8021q
Pour que cela soit permanent.
sudo su -c 'echo "8021q" >> /etc/modules'
Assigner une nouvelle address IP.
sudo ip addr add 192.168.0.9/24 dev wlan0.1
On démarre la nouvelle interface.
sudo ip link set up wlan0.1
Pour que cela soit permanent, on édite /etc/network/interfaces.
iface wlan0.1 inet static address 192.168.0.9 netmask 255.255.255.0 gateway 192.168.0.254
Bon après multiples tests cela ne marche pas.
Le pb semble venir de hostapd qui n'accepte pas le vlan.
Il me faut configurer un autre poste qui accroche le wifi défini pas hostpad afin de pouvoir lire les data sur le disque.