howto:raspberry-pi:wirelessaccespoint

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
howto:raspberry-pi:wirelessaccespoint [2021/06/24 15:46] – modification externe 127.0.0.1howto:raspberry-pi:wirelessaccespoint [2021/07/07 15:10] (Version actuelle) admin
Ligne 20: Ligne 20:
 On active l'interface filaire par la commande : On active l'interface filaire par la commande :
  
-`sudo ifconfig eth0 up`+  sudo ifconfig eth0 up
  
 On vérifie qu'on a bien une adresse ip de notre réseau local avec la commande : On vérifie qu'on a bien une adresse ip de notre réseau local avec la commande :
  
-`ip a`+  ip a
  
 qui doit nous retourner un truc du style : qui doit nous retourner un truc du style :
  
-``` +  1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 
-1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 +      link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 
-    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 +      inet 127.0.0.1/8 scope host lo 
-    inet 127.0.0.1/8 scope host lo +         valid_lft forever preferred_lft forever 
-       valid_lft forever preferred_lft forever +      inet6 ::1/128 scope host  
-    inet6 ::1/128 scope host  +         valid_lft forever preferred_lft forever 
-       valid_lft forever preferred_lft forever +  2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 
-2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 +      link/ether b8:27:eb:53:0b:b0 brd ff:ff:ff:ff:ff:ff 
-    link/ether b8:27:eb:53:0b:b0 brd ff:ff:ff:ff:ff:ff +      inet 192.168.88.136/24 brd 192.168.88.255 scope global eth0 
-    inet 192.168.88.136/24 brd 192.168.88.255 scope global eth0 +         valid_lft forever preferred_lft forever 
-       valid_lft forever preferred_lft forever +      inet6 fe80::e82e:71df:7349:3289/64 scope link  
-    inet6 fe80::e82e:71df:7349:3289/64 scope link  +         valid_lft forever preferred_lft forever 
-       valid_lft forever preferred_lft forever +  3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000 
-3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000 +      link/ether b8:27:eb:06:5e:e5 brd ff:ff:ff:ff:ff:ff
-    link/ether b8:27:eb:06:5e:e5 brd ff:ff:ff:ff:ff:ff +
-```+
  
 On voit dans cet exemple que l'interface filaire nommée *eth0* a l'adresse ip 192.168.88.136 On voit dans cet exemple que l'interface filaire nommée *eth0* a l'adresse ip 192.168.88.136
Ligne 49: Ligne 47:
 Dans le cas contraire il peut être nécessaire de désactiver l'interface filaire eth0 : Dans le cas contraire il peut être nécessaire de désactiver l'interface filaire eth0 :
  
-`sudo ifconfig eth0 down`+  sudo ifconfig eth0 down
  
 avant de la réactiver : avant de la réactiver :
  
-`sudo ifconfig eth0 up`+  sudo ifconfig eth0 up
  
 #3- Mise à jour du système #3- Mise à jour du système
Ligne 59: Ligne 57:
 On met à jour la liste des paquets disponibles dans le dépôt par la commande : On met à jour la liste des paquets disponibles dans le dépôt par la commande :
  
-`sudo apt-get update`+  sudo apt-get update
  
 puis on met à jour les paquets installés. puis on met à jour les paquets installés.
  
-`sudo apt-get upgrade`+  sudo apt-get upgrade
  
 Il sera peut être nécessaire de redémarrer le système avec la commande: Il sera peut être nécessaire de redémarrer le système avec la commande:
  
-`sudo reboot`+  sudo reboot
  
 #4- Configuration de l'interface Wifi #4- Configuration de l'interface Wifi
Ligne 73: Ligne 71:
 On prépare notre interface Wifi en ajoutant à la fin du fichier **/etc/dhcpcd.conf**  On prépare notre interface Wifi en ajoutant à la fin du fichier **/etc/dhcpcd.conf** 
  
-``` +  interface wlan0 
-interface wlan0 +  static ip_address=192.168.0.254/24 
-static ip_address=192.168.0.254/24 +  nohook wpa_supplicant 
-nohook wpa_supplicant +
-```+
  
 Bien entendu vous pouvez donner l'adresse ip que vous souhaitez à votre interface, dans cet exemple notre Raspberry créera un réseau local avec des adresses de type 192.168.0.xxx et lui même utilisera l'adresse 192.168.0.254. Bien entendu vous pouvez donner l'adresse ip que vous souhaitez à votre interface, dans cet exemple notre Raspberry créera un réseau local avec des adresses de type 192.168.0.xxx et lui même utilisera l'adresse 192.168.0.254.
Ligne 83: Ligne 80:
 On vérifie que wlan0 ne soit pas bloquée par RF-kill On vérifie que wlan0 ne soit pas bloquée par RF-kill
 Si la commande ''rfkill list'' renvoie un résultat tel que :  Si la commande ''rfkill list'' renvoie un résultat tel que : 
-``` 
-0: phy0: Wireless LAN 
-        Soft blocked: yes 
-        Hard blocked: no 
-``` 
  
-alors wlan0 est bloquée. Pour y remédier on débloque l'interface par la commande ''sudo rfkill unblock 0''+  0: phy0: Wireless LAN 
 +          Soft blocked: yes 
 +          Hard blocked: no 
 + 
 +alors wlan0 est bloquée. Pour y remédier on débloque l'interface par la commande  
 +  sudo rfkill unblock 0
  
 #5- Installation et configuration du DHCP #5- Installation et configuration du DHCP
Ligne 95: Ligne 92:
  
 On l'installe avec la commande :  On l'installe avec la commande : 
-`sudo apt-get install dnsmasq`+  sudo apt-get install dnsmasq
  
 On fait une copie du fichier de configuration par défaut (ça peut toujours servir un jour...) : On fait une copie du fichier de configuration par défaut (ça peut toujours servir un jour...) :
  
-`sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.bak`+  sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
  
 On crée et on édite un nouveau fichier /etc/dnsmasq.conf en y insérant simplement : On crée et on édite un nouveau fichier /etc/dnsmasq.conf en y insérant simplement :
  
-``` +  # On utilise l'interface wifi wlan0 
-# On utilise l'interface wifi wlan0 +  interface=wlan0 
-interface=wlan0 +  #On définit une plage d'adresse ip ainsi que la durée du bail 
-#On définit une plage d'adresse ip ainsi que la durée du bail +  dhcp-range=192.168.0.1,192.168.0.100,255.255.255.0,24h  
-dhcp-range=192.168.0.1,192.168.0.100,255.255.255.0,24h  +
-```+
 Bien entendu, à vous de dimensionner l'étendue de la plage d'adresses ainsi que la durée du bail en fonction du besoin. Dans cet exemple notre serveur dhcp pourra attribuer 100 adresses ip de 192.168.0.1 à 192.168.0.100, la bail est fixé à 24h avant renouvellement. Bien entendu, à vous de dimensionner l'étendue de la plage d'adresses ainsi que la durée du bail en fonction du besoin. Dans cet exemple notre serveur dhcp pourra attribuer 100 adresses ip de 192.168.0.1 à 192.168.0.100, la bail est fixé à 24h avant renouvellement.
  
Ligne 115: Ligne 111:
 On installe le logiciel hostapd par la commande : On installe le logiciel hostapd par la commande :
  
-`sudo apt-get install hostapd`+  sudo apt-get install hostapd
  
 La configuration se fait en créant un fichier **/etc/hostapd/hostapd.conf** : La configuration se fait en créant un fichier **/etc/hostapd/hostapd.conf** :
Ligne 121: Ligne 117:
 ===== Exemple 1 : Un simple point d'accès ouvert  ===== ===== Exemple 1 : Un simple point d'accès ouvert  =====
  
-``` +  # interface wlan du Wi-Fi 
-# interface wlan du Wi-Fi +  interface=wlan0 
-interface=wlan0+   
 +  # nl80211 avec tous les drivers Linux mac80211  
 +  driver=nl80211 
 +   
 +  # Nom du réseau Wi-Fi 
 +  ssid=Raspiwifi 
 +   
 +  # mode Wi-Fi utilisé : a = IEEE 802.11a (5GHz) , b = IEEE 802.11b (2.4GHz), g = IEEE 802.11g) (2.4GHz) 
 +  hw_mode=g 
 +   
 +  # canal de fréquence Wi-Fi (1-14) 
 +  channel=6
  
-# nl80211 avec tous les drivers Linux mac80211  
-driver=nl80211 
  
-# Nom du réseau Wi-Fi 
-ssid=Raspiwifi 
- 
-# mode Wi-Fi utilisé : a = IEEE 802.11a (5GHz) , b = IEEE 802.11b (2.4GHz), g = IEEE 802.11g) (2.4GHz) 
-hw_mode=g 
- 
-# canal de fréquence Wi-Fi (1-14) 
-channel=6 
- 
-``` 
 Si votre réseau local n'a pas besoin d'être connecté à Internet, c'est une solution simple et rapide à mettre en œuvre mais dans un le cas contraire il serait peut être plus sage d'utiliser une clef WPA2... Si votre réseau local n'a pas besoin d'être connecté à Internet, c'est une solution simple et rapide à mettre en œuvre mais dans un le cas contraire il serait peut être plus sage d'utiliser une clef WPA2...
  
 ===== Exemple 2 : Un point d'accès avec clef WPA2 ===== ===== Exemple 2 : Un point d'accès avec clef WPA2 =====
  
-``` +  # interface wlan du Wi-Fi 
-# interface wlan du Wi-Fi +  interface=wlan0 
-interface=wlan0 +   
- +  # nl80211 avec tous les drivers Linux mac80211  
-# nl80211 avec tous les drivers Linux mac80211  +  driver=nl80211 
-driver=nl80211 +   
- +  # Nom du réseau Wi-Fi 
-# Nom du réseau Wi-Fi +  ssid=Raspiwifi 
-ssid=Raspiwifi +   
- +  # Sécurité activée 
-# Sécurité activée +  auth_algs=1 
-auth_algs=1 +   
- +  #Type de clef 
-#Type de clef +  wpa=2 
-wpa=2 +   
- +  #La clef 
-#La clef +  wpa_passphrase=CeciEstMaClefWPA2 
-wpa_passphrase=CeciEstMaClefWPA2 +   
- +  # Modes de sécurité 
-# Modes de sécurité +  wpa_key_mgmt=WPA-PSK 
-wpa_key_mgmt=WPA-PSK +  wpa_pairwise=TKIP 
-wpa_pairwise=TKIP +  rsn_pairwise=CCMP 
-rsn_pairwise=CCMP +   
- +  # mode Wi-Fi utilisé : a = IEEE 802.11a (5GHz) , b = IEEE 802.11b (2.4GHz), g = IEEE 802.11g) (2.4GHz) 
-# mode Wi-Fi utilisé : a = IEEE 802.11a (5GHz) , b = IEEE 802.11b (2.4GHz), g = IEEE 802.11g) (2.4GHz) +  hw_mode=g 
-hw_mode=g +   
- +  # canal de fréquence Wi-Fi (1-14) 
-# canal de fréquence Wi-Fi (1-14) +  channel=6
-channel=6 +
- +
-```+
  
-On indique à hostpad qu'il doit utiliser ce fichier de configuration en éditant le fichier **/etc/default/hostapd** afin qu'il contienne :+On indique à hostapd qu'il doit utiliser ce fichier de configuration en éditant le fichier **/etc/default/hostapd** afin qu'il contienne :
  
-`DAEMON_CONF="/etc/hostapd/hostapd.conf"`+  DAEMON_CONF="/etc/hostapd/hostapd.conf"
  
 #7- On relance les services #7- On relance les services
Ligne 182: Ligne 174:
 On (re)démarre le serveur dhcp : On (re)démarre le serveur dhcp :
  
-`sudo systemctl restart dnsmasq`+  sudo systemctl restart dnsmasq
  
 On active le service hostapd : On active le service hostapd :
  
-`sudo systemctl unmask hostapd`+  sudo systemctl unmask hostapd
  
-`sudo systemctl enable hostapd`+  sudo systemctl enable hostapd
  
-`sudo systemctl start hostapd`+  sudo systemctl start hostapd
  
 #8 - On teste et on vérifie #8 - On teste et on vérifie
Ligne 198: Ligne 190:
  
 Par exemple : Par exemple :
-`cat /var/log/syslog`+  cat /var/log/syslog
  
 nous montre : nous montre :
-``` + 
-Apr  1 15:43:08 raspberrypi hostapd: wlan0: STA 28:48:ca:e9:da:ff IEEE 802.11: associated +  Apr  1 15:43:08 raspberrypi hostapd: wlan0: STA 28:48:ca:e9:da:ff IEEE 802.11: associated 
-Apr  1 15:43:08 raspberrypi hostapd: wlan0: STA 28:48:ca:e9:da:ff RADIUS: starting accounting session E2B35E97F7D9D551 +  Apr  1 15:43:08 raspberrypi hostapd: wlan0: STA 28:48:ca:e9:da:ff RADIUS: starting accounting session E2B35E97F7D9D551 
-Apr  1 15:43:11 raspberrypi dnsmasq-dhcp[974]: DHCPDISCOVER(wlan0) 28:48:ca:e9:da:ff +  Apr  1 15:43:11 raspberrypi dnsmasq-dhcp[974]: DHCPDISCOVER(wlan0) 28:48:ca:e9:da:ff 
-Apr  1 15:43:11 raspberrypi dnsmasq-dhcp[974]: DHCPOFFER(wlan0) 192.168.0.83 28:48:ca:e9:da:ff +  Apr  1 15:43:11 raspberrypi dnsmasq-dhcp[974]: DHCPOFFER(wlan0) 192.168.0.83 28:48:ca:e9:da:ff 
-Apr  1 15:43:11 raspberrypi dnsmasq-dhcp[974]: DHCPDISCOVER(wlan0) 48:88:ca:f9:ea:dd +  Apr  1 15:43:11 raspberrypi dnsmasq-dhcp[974]: DHCPDISCOVER(wlan0) 48:88:ca:f9:ea:dd 
-Apr  1 15:43:11 raspberrypi dnsmasq-dhcp[974]: DHCPOFFER(wlan0) 192.168.0.83 28:48:ca:e9:da:ff +  Apr  1 15:43:11 raspberrypi dnsmasq-dhcp[974]: DHCPOFFER(wlan0) 192.168.0.83 28:48:ca:e9:da:ff 
-Apr  1 15:43:11 raspberrypi dnsmasq-dhcp[974]: DHCPREQUEST(wlan0) 192.168.0.83 28:48:ca:e9:da:ff +  Apr  1 15:43:11 raspberrypi dnsmasq-dhcp[974]: DHCPREQUEST(wlan0) 192.168.0.83 28:48:ca:e9:da:ff 
-Apr  1 15:43:11 raspberrypi dnsmasq-dhcp[974]: DHCPACK(wlan0) 192.168.0.83 28:48:ca:e9:da:ff +  Apr  1 15:43:11 raspberrypi dnsmasq-dhcp[974]: DHCPACK(wlan0) 192.168.0.83 28:48:ca:e9:da:ff
-```+
  
 Le service hostapd a bien associé le périphérique dont l'adresse MAC est : 28:48:ca:e9:da:ff Le service hostapd a bien associé le périphérique dont l'adresse MAC est : 28:48:ca:e9:da:ff
Ligne 221: Ligne 212:
 Par exemple : Par exemple :
  
-`cat /var/lib/misc/dnsmasq.leases`+  cat /var/lib/misc/dnsmasq.leases
  
 Affiche  Affiche 
  
-`1554216191 28:48:ca:e9:da:ff 192.168.0.83 * 28:48:ca:e9:da:ff`+  1554216191 28:48:ca:e9:da:ff 192.168.0.83 * 28:48:ca:e9:da:ff
  
 avec : avec :
Ligne 242: Ligne 233:
   * Activer l'IP Forwarding en modifiant le fichier **/etc/sysctl.conf** pour dé-commenter la ligne (= supprimer le # devant)   * Activer l'IP Forwarding en modifiant le fichier **/etc/sysctl.conf** pour dé-commenter la ligne (= supprimer le # devant)
  
-`net.ipv4.ip_forward=1`+  net.ipv4.ip_forward=1
  
   * Ajouter une règle de parefeu :    * Ajouter une règle de parefeu : 
  
-`sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE`+  sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  
 Pour rendre cette règle persistante après redémarrage : Pour rendre cette règle persistante après redémarrage :
  
-`sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"`+  sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
    
 Puis on édite le fichier **/etc/rc.local** pour ajouter juste au dessus de la ligne *exit 0* : Puis on édite le fichier **/etc/rc.local** pour ajouter juste au dessus de la ligne *exit 0* :
  
-`iptables-restore < /etc/iptables.ipv4.nat`+  iptables-restore < /etc/iptables.ipv4.nat
  
   * Construire un pont de connexion à l'aide de bridge-utils :   * Construire un pont de connexion à l'aide de bridge-utils :
Ligne 260: Ligne 251:
 On installe bridge-utils : On installe bridge-utils :
  
-`sudo apt-get install bridge-utils`+  sudo apt-get install bridge-utils
  
 On crée un nouveau pont nommé //br0// : On crée un nouveau pont nommé //br0// :
  
-`sudo brctl addbr br0`+  sudo brctl addbr br0
  
 On connecte notre interface //eth0// au pont //br0// : On connecte notre interface //eth0// au pont //br0// :
  
-`sudo brctl addif br0 eth0`+  sudo brctl addif br0 eth0
  
 On ajoute notre pont en tant qu'interface réseau en ajoutant au fichier /etc/network/interfaces : On ajoute notre pont en tant qu'interface réseau en ajoutant au fichier /etc/network/interfaces :
  
-``` +  auto br0 
-auto br0 +  iface br0 inet manual 
-iface br0 inet manual +  bridge_ports eth0 wlan0
-bridge_ports eth0 wlan0 +
-```+
  
 Enfin on on modifie le fichier **/etc/hostapd/hostapd.conf** pour **ajouter __sous la ligne__** interface=wlan0 : Enfin on on modifie le fichier **/etc/hostapd/hostapd.conf** pour **ajouter __sous la ligne__** interface=wlan0 :
  
-`bridge=br0`+  bridge=br0
  
 Après redémarrage du système les clients ont accès à Internet ! Après redémarrage du système les clients ont accès à Internet !
- 
  • howto/raspberry-pi/wirelessaccespoint.txt
  • Dernière modification : 2021/07/07 15:10
  • de admin