====== 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 (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 [[http://lea-linux.org/documentations/Driver:Wifi|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 dev wlan0 Un ping vers www.google.com vous confirmera la connexion vers internet. ==== Configuration perso ==== 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]] https://translate.google.com/translate?hl=fr&sl=en&u=https://frillip.com/using-your-raspberry-pi-3-as-a-wifi-access-point-with-hostapd/&prev=search http://www.geekmag.fr/raspberry-pi-creer-un-hotspot-wifi-avec-une-cle-edimax/ === 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 === * Interfaces 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 * Hostpad 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" * dnsmask 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 * Transmission IPV4 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.