Installation d’un point d’accès sous Raspbian Stretch sur Raspberry Pi 3

Installation d’un point d’accès sous Raspbian Stretch sur Raspberry Pi 3.

1/ Remplacer le miroir des dépôts :

Ouvrir :

/etc/apt/sources.list 

Chercher :

deb http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi 

Remplacer par :

deb http://archive.raspbian.org/raspbian/ stretch main contrib non-free rpi 

2/ Mettre-à-jour du système d’exploitation :

pi@photobooth:~ $ sudo apt-get update 
pi@photobooth:~ $ sudo apt-get upgrade 

3/ Installer les paquets de base :

pi@photobooth:~ $ sudo apt-get install mc vim 

4/ Supprimer les paquets/logiciels inutiles :

pi@photobooth:~ $ sudo apt-get remove minecraft-pi scratch wolfram-engine sonic-pi
pi@photobooth:~ $ sudo apt-get autoremove
pi@photobooth:~ $ sudo apt-get clean

5/ A partir du terminal, vérifier la connexion sans-fil :

pi@photobooth:~ $ ifconfig
...
wlan0: flags=4099  mtu 1500
        ether b8:27:eb:ea:a2:4c  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

pi@photobooth:~ $ 

6/ Installation du paquet du point d’accès :

pi@photobooth:~ $ sudo apt-get install hostapd 

7/ Installation du paquet DHCP :

pi@photobooth:~ $ sudo apt-get install dnsmasq

8/ Désactiver les services :

pi@photobooth:~ $ sudo systemctl stop hostapd
pi@photobooth:~ $ sudo systemctl stop dnsmasq

9/ Configure une ip statique pour wlan0 :

Ouvrir :

/etc/dhcpcd.conf

Ajouter à la fin :

interface wlan0
static ip_address=192.168.4.1/24
static routers=192.168.4.1
static domain_name_servers=8.8.8.8

10/ Sauvegarde du fichier original ‘dnsmasq.conf‘ :

pi@photobooth:~ $ sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig  

11/ Configurer le serveur DHCP :

Ouvrir :

/etc/dnsmasq.conf 

Ajouter :

interface=wlan0
domain-needed
bogus-priv
dhcp-range=192.168.4.8,192.168.4.250,12h

12/ Configurer le point d’accès :

Ouvrir :

/etc/hostapd/hostapd.conf

Ajouter :

interface=wlan0
driver=nl80211
ssid=
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

13/ Configuration du chemin d’accès du fichier ‘hostapd.conf‘ :

Ouvrir :

/etc/default/hostapd

Chercher :

#DAEMON_CONF=""

Remplacer par :

DAEMON_CONF="/etc/hostapd/hostapd.conf"

14/ Démarrer les services :

pi@photobooth:~ $ sudo service hostapd start  
pi@photobooth:~ $ sudo service dnsmasq start  

15/ Activer le routage :

Ouvrir :

/etc/sysctl.conf

Chercher :

#net.ipv4.ip_forward=1

Remplacer par :

net.ipv4.ip_forward=1

16/ Ajouter une règle de pare-feu :

pi@photobooth:~ $ sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

17/ Sauvegarder la règle de pare-feu :

pi@photobooth:~ $ sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

18/ Charger la règle au démarrage :

Ouvrir :

/etc/rc.local

Chercher :

exit 0

Ajouter avant :

iptables-restore < /etc/iptables.ipv4.nat

19/ Redémarrer le Raspberry Pi 3 :

pi@photobooth:~ $ sudo reboot

20/ Tester :

A partir d'un autre ordinateur, se connecter au réseau sans-fil puis vérifier :

[~] ➔ ifconfig
...
wlan0     Link encap:Ethernet  HWaddr 9c:ad:97:92:ed:43  
          inet adr:192.168.4.72  Bcast:192.168.4.255  Masque:255.255.255.0
          adr inet6: fe80::9ead:97ff:fe92:ed43/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Packets reçus:187 erreurs:0 :0 overruns:0 frame:0
          TX packets:182 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          Octets reçus:16218 (16.2 KB) Octets transmis:20811 (20.8 KB)

[~] ➔ 

Ensuite se connecter en ssh :

[~] ➔ ssh pi@192.168.4.1
...
Last login: Sun Jun  3 12:01:23 2018
pi@photobooth:~ $ 

21/ Liens :

https://github.com/SurferTim/documentation/blob/6bc583965254fa292a470990c40b145f553f6b34/configuration/wireless/access-point.md
http://www.mforge.org/fr/2017/11/26/creez-point-dacces/