CnxRaspberryPc
Connexion Raspberry au réseau via son PC
Contributeur·ice·s
Statut du projet
Fonctionnel
Statut de la publication
License
CC-by-sa-3.0
Inspiration
Fichiers source
Machines
Matériaux
Lien
Sommaire
Objet
RASPBERRY-PI connectée en local
Lorsque l'on configure et teste une carte Raspberry-pi via le réseau, il est nécessaire de connecter cette carte. Pour cela on l'équipe souvent d'une clé Wifi, mais ce n'est pas incontournable.
−−−−−−−−−−−−− | | |−| |W| −−−−−−−−−−−− Cnx filaire |E| |L|
|Raspberry-pi|______________|T| PC |A|__ \\\\ Liaison Wifi du PC
−−−−−−−−−−−− |H| |N| //// 10.44.1.0/24 |0| |0| − − | | −−−−−−−−−−−−−
L'objectif est donc de connecter la carte avec un câble réseau sur son PC et d'utiliser le PC comme routeur, sans perturber le fonctionnement habituel du PC.
Cette technique devrait fonctionner avec une carte nouvellement installée, ce que signifie qu'on n'a à aucun moment besoin d'un clavier et d'un écran...
Cette procédure est validée sur Linux-Mint LMDE mais fonctionne sûrement avec Debian et probablement avec Ubuntu.
Installer le serveur DHCP local
Pour affecter une adresse IP à la carte il nous faut un serveur DHCP local qui écoutera uniquement sur l'interface filaire.
Installation
$ sudo apt install isc-dhcp-server
Modifier /etc/default/isc-dhcp-server
INTERFACES="eth0"
Configuration d'un réseau local 10.44.1.0/24
Modifier /etc/dhcp/dhcpd.conf
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
option domain-name "mon-domaine.loc";
option domain-name-servers 8.8.8.8;
option subnet-mask 255.255.255.0;
option broadcast-address 10.44.1.255;
option ntp-servers 10.44.1.1
subnet 10.44.1.0 netmask 255.255.255.0 { range 10.44.1.100 10.44.1.100; option routers 10.44.1.1; } log-facility local7; Cette configuration ne prévoit d'affecter qu'une seule IP 10.44.1.100 (option range) ce qui simplifie la recherche de l'adresse affectée.
Ne pas démarrer automatiquement le service
$ sudo update-rc.d isc-dhcp-server remove
Configurer eth0 avec une IP statique
Créer /etc/network/interfaces.d/static_eth0
#auto eth0 -> pas de démarrage au boot ne démarre que par ifup
iface eth0 inet static
address 10.44.1.1
netmask 255.255.255.0
up service isc-dhcp-server start
down service isc-dhcp-server stop
Cette configuration permet de ne pas démarrer automatiquement le serveur DHCP, mais uniquement lorsque l'on active manuellement l'interface eth0.
Activer le routage
Pour permettre à la carte d'accéder à internet, ne serait-ce que pour les installations et mises à jour des logiciels, il faut configurer le PC pour qu'il se comporte comme un routeur.
Forwarding
Modifier /etc/sysctl.conf
net.ipv4.conf.default.forwarding=1
Pour une prise en compte immédiate :
$ sudo sysctl -p (activer la prise en compte pas le kernel)
(ou bien $ sudo echo 1 > /proc/sys/net/ipv4/ip_forward )
Masquer les paquets sortants
Ajouter cette ligne avant "exit 0" dans /etc/rc.local
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
Usage
Après la connexion de la carte :
$ sudo ifup eth0 -> démarre le service dhcp
Avant la déconnexion :
$ sudo ifdown eth0 -> arrête le service dhcp
Visualiser l'adresse affectée
Pour confirmer l'affectation de l'adresse :
$ tail -12 /var/lib/dhcp/dhcpd.leases
lease 10.44.1.100 {
starts 1 2016/01/11 12:57:27; ends 1 2016/01/11 13:07:27; .../...
Optionnel : NetworkManager ne gère plus eth0
Modifier /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile no-auto-default=eth0 --> Commenter (#) pour permettre usage