Routeur WIFI
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.
MISE A JOUR
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é.
Nouvelle configuration
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 !!!
Configuration du wifi
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
....
Configuration classique
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.
Configuration perso
Installation
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
Configuration
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
Installation d'un VLAN
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.
Mise en place
sudo apt-get install vlan
Configuration
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.