Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
pratique:informatique:pibox [30/06/2017 19:27] – [Finitions] Zatalyz | pratique:informatique:pibox [08/08/2017 09:25] – [Améliorer l'adresse (Dnsmasq)] Zatalyz | ||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
===== Installation du raspberry ===== | ===== Installation du raspberry ===== | ||
- | + | Voir [[pratique:informatique:raspberry]]. | |
- | Voir aussi https:// | + | |
- | + | ||
- | Télécharger | + | |
- | + | ||
- | sudo umount /dev/sdX | + | |
- | sudo dd bs=4M if=2017-04-10-raspbian-jessie-lite.img of=/ | + | |
- | + | ||
- | Mettre la carte SD dans le raspberry, le brancher avec un écran, un clavier, ethernet et l' | + | |
- | + | ||
- | Ça démarre, plus ou moins vite. Identifiant '' | + | |
- | + | ||
- | On va vite changer ça en lançant la commande | + | |
- | sudo raspi-config | + | |
- | qui s' | + | |
- | sudo rqspi)config | + | |
- | + | ||
- | Cela lance un chouette programme. En premier le clavier : Localisation Options > Change Keyboard Layout > generic 105-key > other > french > french. Ou comme vous préférez, on peut aussi le passer en bépo. Attention le clavier va rester en qwerty sur cette session. Le plus simple sera de redémarrer à la fin. | + | |
- | + | ||
- | Ensuite les locales : Localisation Options > Change Locale | + | |
- | + | ||
- | Sélectionner '' | + | |
- | + | ||
- | Maintenant on peut passer aux fioritures. | + | |
- | + | ||
- | Permettre l' | + | |
- | + | ||
- | Pendant qu'on est là, donnez un hostname sympa pour le réseau (l'une des options de base). | + | |
- | + | ||
- | Une option pour que le système prenne toute la place disponible sur la carte : Advanced Options > Expand Filesystem | + | |
- | + | ||
- | Après ça on va reboot, afin de prendre en compte ce qu'on a fait. | + | |
- | + | ||
- | Nous avons droit à un message d' | + | |
- | sudo passwd | + | |
- | sudo passwd pi | + | |
- | Mettez un bon mot de passe et mémorisez-le. | + | |
- | + | ||
- | Nous allons tout de suite configurer ssh : | + | |
- | sudo nano / | + | |
- | + | ||
- | On change le port (tout sauf 22), on s' | + | |
- | + | ||
- | Port 222 | + | |
- | PermitRootLogin no | + | |
- | AllowUsers pi | + | |
- | + | ||
- | Et un petit redémarrage de ssh pour prendre ça en compte. | + | |
- | sudo service ssh restart | + | |
- | + | ||
- | Ensuite on envoie sa propre clé sur le raspberry : | + | |
- | ssh-copy-id -p 222 -i ~/ | + | |
- | + | ||
- | Pour trouver l' | + | |
- | + | ||
- | Dernière chose et pas des moindres... la mise à jour du système... c'est long car la bestiole n'est pas puissante. Allez prendre une pause, c'est le moment. | + | |
- | + | ||
- | sudo apt-get update && sudo apt-get upgrade -y && sudo reboot | + | |
- | + | ||
- | ==== Personnalisations cosmétiques en plus ==== | + | |
- | + | ||
- | Je n'aime pas le message par défaut quand on se connecte en ssh. Il se change dans ''/ | + | |
- | + | ||
- | Je sais que ce n'est pas " | + | |
- | sudo su | + | |
- | nano / | + | |
- | + | ||
- | Décommenter/ | + | |
- | < | + | |
- | export LS_OPTIONS=' | + | |
- | eval " | + | |
- | alias ls='ls $LS_OPTIONS' | + | |
- | alias ll='ls $LS_OPTIONS -l' | + | |
- | alias l='ls $LS_OPTIONS -lA' | + | |
- | + | ||
- | # Autocompletion | + | |
- | if [ -f / | + | |
- | | + | |
- | fi | + | |
- | </ | + | |
===== Installation du serveur web ===== | ===== Installation du serveur web ===== | ||
Ligne 127: | Ligne 47: | ||
===== Transformer la Raspberry en accès wifi ===== | ===== Transformer la Raspberry en accès wifi ===== | ||
<WRAP center round info 60%> | <WRAP center round info 60%> | ||
- | Cette partie est une traduction libre et adaptée de https:// | + | À noter : je ne cherche pas à sécuriser le réseau donc la configuration d' |
- | + | ||
- | À noter : je ne cherche pas à sécuriser le réseau donc la configuration d' | + | |
</ | </ | ||
Quelques logiciels à installer pour créer un " | Quelques logiciels à installer pour créer un " | ||
- | sudo apt-get install hostapd | + | sudo apt-get install hostapd |
* hostapd va générer le réseau sans fil auquel se connecter. | * hostapd va générer le réseau sans fil auquel se connecter. | ||
- | * isc-dhcp-server | + | * dnsmasq sert à la fois à gérer la partie |
- | * iptables-persistent | + | * iptables-persistent |
- | ==== DHCP ==== | + | Il faut aussi tripatouiller dhcpcd, installé et configuré de base. Il suffit de lui dire d'ignorer wlan0, car nous allons configurer ce dernier avec une adresse statique. |
- | Éditez | + | |
- | Commenter les lignes suivantes : | + | sudo nano /etc/dhcpcd.conf |
- | < | + | Ajouter au fichier, tout au début : |
- | #option domain-name " | + | |
- | #option domain-name-servers ns1.example.org, | + | |
- | </code> | + | |
- | + | ||
- | Décommenter/ajouter ceci : | + | |
- | < | + | |
- | authoritative; | + | |
- | + | ||
- | subnet 192.168.42.0 netmask 255.255.255.0 { | + | |
- | | + | |
- | option broadcast-address 192.168.42.255; | + | |
- | option routers 192.168.42.1; | + | |
- | default-lease-time 600; | + | |
- | max-lease-time 7200; | + | |
- | option domain-name " | + | |
- | option domain-name-servers 8.8.8.8, 8.8.4.4; | + | |
- | } | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | Éditez ensuite ''/ | + | |
- | | + | |
==== Interface, wlan0 ==== | ==== Interface, wlan0 ==== | ||
- | On va configurer wlan0 pour qu'il soit | + | On va configurer wlan0 |
sudo ifdown wlan0 | sudo ifdown wlan0 | ||
+ | sudo nano / | ||
- | Éditer | + | Éditez-le pour qu'il ressemble |
- | + | ||
- | Il doit ressembler | + | |
< | < | ||
Ligne 184: | Ligne 80: | ||
allow-hotplug wlan0 | allow-hotplug wlan0 | ||
- | |||
iface wlan0 inet static | iface wlan0 inet static | ||
- | address | + | address |
netmask 255.255.255.0 | netmask 255.255.255.0 | ||
+ | network 172.24.1.0 | ||
+ | broadcast 255.0.0.0 | ||
</ | </ | ||
+ | |||
+ | Relancer dhcpcd pour que tout soit pris en compte. | ||
+ | |||
+ | sudo service dhcpcd restart | ||
Et ensuite, donnez son adresse ip statique à wlan0 : | Et ensuite, donnez son adresse ip statique à wlan0 : | ||
- | sudo ifconfig wlan0 192.168.42.1 | + | |
+ | sudo ifup wlan0 | ||
+ | | ||
==== Hostapd ==== | ==== Hostapd ==== | ||
+ | Modifiez le ficher de configuration d' | ||
+ | |||
+ | sudo nano / | ||
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
Cette configuration est particulière car elle ne demande pas de mot de passe pour se connecter. C'est un wifi ouvert ! | Cette configuration est particulière car elle ne demande pas de mot de passe pour se connecter. C'est un wifi ouvert ! | ||
Ligne 211: | Ligne 117: | ||
# canal de fréquence Wi-Fi (1-14) | # canal de fréquence Wi-Fi (1-14) | ||
channel=6 | channel=6 | ||
- | # Beacon interval in kus (1.024 ms) | + | </ |
+ | |||
+ | Ce qui suit peut aussi s' | ||
+ | <code php># Beacon interval in kus (1.024 ms) | ||
beacon_int=100 | beacon_int=100 | ||
# DTIM (delivery trafic information message) | # DTIM (delivery trafic information message) | ||
Ligne 220: | Ligne 129: | ||
rts_threshold=2347 | rts_threshold=2347 | ||
# Fragmentation threshold; 2346 = disabled (default) | # Fragmentation threshold; 2346 = disabled (default) | ||
- | fragm_threshold=2346 | + | fragm_threshold=2346</ |
- | </ | ||
Pour le driver, suivant la carte wifi, cela peut être '' | Pour le driver, suivant la carte wifi, cela peut être '' | ||
Ligne 237: | Ligne 146: | ||
Sinon, une autre machine ayant le wifi devrait voir apparaître le réseau wifi PiBox (ou le nom que vous lui avez donné) et peut s'y connecter. | Sinon, une autre machine ayant le wifi devrait voir apparaître le réseau wifi PiBox (ou le nom que vous lui avez donné) et peut s'y connecter. | ||
- | ==== Finitions | + | ==== Dnsmasq |
- | Relancez les services | + | Sauvegarder le fichier de configuration d' |
- | sudo service hostapd start | + | |
- | sudo service isc-dhcp-server start | + | |
- | Vérifiez que tout tourne sans erreur : | + | |
- | | + | sudo nano / |
- | sudo service isc-dhcp-server status | + | |
- | et faites qu'ils démarrent automatiquement : | + | <code bash / |
- | sudo update-rc.d hostapd enable | + | # Redirect all in local |
- | | + | address=/#/ |
+ | # Use interface wlan0 | ||
+ | interface=wlan0 | ||
+ | # Explicitly specify the address to listen on | ||
+ | listen-address=172.24.1.1 | ||
+ | # Bind to the interface to make sure we aren't sending things elsewhere | ||
+ | bind-interfaces | ||
+ | # Don't forward short names | ||
+ | domain-needed | ||
+ | # Never forward addresses in the non-routed address spaces. | ||
+ | bogus-priv | ||
+ | # Assign IP addresses between 172.24.1.50 and 172.24.1.150 with a 12 hour lease time | ||
+ | dhcp-range=172.24.1.50, | ||
- | Connectez-vous depuis votre autre machine sur le réseau PiBox, puis rendez-vous sur 192.168.42.1/info.php : c'est votre page ! | + | </ |
+ | <WRAP center round help 60%> | ||
+ | On garde ? | ||
+ | # Forward DNS requests to us. For Google : 8.8.8.8 | ||
+ | server=172.24.1.1 | ||
+ | </ | ||
- | Redémarrez la Raspberry, vérifiez que ça marche toujours... c'est bon ? Parfait ! | ||
+ | ==== Donner de l'ipv4 et gérer iptable ==== | ||
+ | Ok, l'ipv4 c'est mort, tout ça, mais vu le réseau on s'en moque. | ||
- | ==== Améliorer l'adresse (Dnsmasq) ==== | + | sudo nano / |
- | Taper une adresse du style "192.168.42.1" ce n'est pas vraiment intuitif... | + | Enlever le commentaire devant |
- | Bien qu'il soit possible de faire un DNS menteur qui redirige toute demande du navigateur vers notre pi-serveur, cela pose des problèmes éthiques (possibilité de vol de cookies, d' | ||
+ | <code php> | ||
+ | sudo su | ||
+ | iptables -A INPUT -i wlan0 -m conntrack --ctstate RELATED, | ||
+ | iptables -A INPUT -i wlan0 -p tcp -m tcp --dport 80 -j ACCEPT | ||
+ | iptables -A INPUT -i wlan0 -p udp -m udp --dport 53 -j ACCEPT | ||
+ | iptables -A INPUT -i wlan0 -p udp -m udp --dport 67:68 -j ACCEPT | ||
+ | iptables -A INPUT -i wlan0 -j DROP | ||
+ | iptables-save > / | ||
+ | </ | ||
- | <WRAP center round todo 60%> | + | ==== Finitions ==== |
- | Ça ne va plus, de nouveau. À noter que " | + | Relancez les services : |
- | </ | + | sudo service hostapd start |
+ | sudo service dnsmasq start | ||
+ | sudo service networking start | ||
+ | Vérifiez que tout tourne sans erreur : | ||
+ | sudo service hostapd status | ||
+ | sudo service dnsmasq status | ||
+ | sudo service networking status | ||
- | sudo apt-get install dnsmasq | + | Connectez-vous depuis votre autre machine sur le réseau PiBox, puis rendez-vous sur 172.24.1.1/info.php : c'est votre page ! |
- | sudo mv / | + | |
- | sudo nano /etc/dnsmasq.conf | + | |
- | Et copier les informations suivantes : | + | Redémarrez la Raspberry, vérifiez que ça marche toujours... c'est bon ? Parfait ! |
- | address=/ | ||
- | |||
- | < | ||
- | #dont use resolv.conf | ||
- | no-resolv | ||
- | #dont recheck resolv.conf for changes | ||
- | no-poll | ||
- | |||
- | #overwrite dns.. | ||
- | # | ||
- | |||
- | # If you don't want dnsmasq to read /etc/hosts, uncomment the | ||
- | # following line. | ||
- | no-hosts | ||
- | # or if you want it to read another file, as well as /etc/hosts, use | ||
- | # this. | ||
- | # | ||
- | ## ^^^^^^ | ||
- | |||
- | </ | ||
===== Liens utiles (ou pas) ===== | ===== Liens utiles (ou pas) ===== | ||
- | + | Disons que ça m'a servi à en arriver là. | |
- | - hostpad sur unbuntu | + | - https:// |
- http:// | - http:// | ||
- http:// | - http:// | ||
Ligne 303: | Ligne 219: | ||
- https:// | - https:// | ||
- https:// | - https:// | ||
+ | - https:// | ||
+ | - https:// | ||
+ | - http:// | ||
+ | - http:// | ||
+ | |||
+ | ===== Pour trouver plus d' | ||
+ | Une recherche sur " | ||
+ | |||
+ | " |