CnxRaspberryPc : Différence entre versions
Ligne 27 : | Ligne 27 : | ||
</code> | </code> | ||
− | L'objectif est donc de connecter la carte avec un câble réseau sur son PC et d'utiliser le PC comme routeur. | + | 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 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... | ||
Ligne 39 : | Ligne 39 : | ||
==Installation== | ==Installation== | ||
− | <code> | + | <code>$ sudo apt install isc-dhcp-server</code> |
− | $ sudo apt install isc-dhcp-server | ||
− | </code> | ||
Modifier '''/etc/default/isc-dhcp-server''' | Modifier '''/etc/default/isc-dhcp-server''' | ||
− | <code> | + | <code> INTERFACES="eth0"</code> |
− | |||
− | </code> | ||
==Configuration d'un réseau local 10.44.1.0/24== | ==Configuration d'un réseau local 10.44.1.0/24== | ||
Modifier '''/etc/dhcp/dhcpd.conf''' | Modifier '''/etc/dhcp/dhcpd.conf''' | ||
− | <code> | + | <code> ddns-update-style none; |
− | |||
default-lease-time 600; | default-lease-time 600; | ||
max-lease-time 7200; | max-lease-time 7200; | ||
Ligne 63 : | Ligne 58 : | ||
subnet 10.44.1.0 netmask 255.255.255.0 { | subnet 10.44.1.0 netmask 255.255.255.0 { | ||
− | range 10.44.1. | + | range 10.44.1.100 10.44.1.100; |
option routers 10.44.1.1; | option routers 10.44.1.1; | ||
} | } | ||
− | log-facility local7; | + | log-facility local7;</code> |
− | </code> | + | 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== | ==Ne pas démarrer automatiquement le service== | ||
− | <code> | + | <code>$ sudo update-rc.d isc-dhcp-server remove</code> |
− | $ sudo update-rc.d isc-dhcp-server remove | ||
− | </code> | ||
=Configurer eth0 avec une IP statique= | =Configurer eth0 avec une IP statique= | ||
Créer '''/etc/network/interfaces.d/static_eth0''' | Créer '''/etc/network/interfaces.d/static_eth0''' | ||
− | <code> | + | <code> #auto eth0 -> pas de démarrage au boot ne démarre que par ifup |
− | |||
iface eth0 inet static | iface eth0 inet static | ||
address 10.44.1.1 | address 10.44.1.1 | ||
netmask 255.255.255.0 | netmask 255.255.255.0 | ||
up service isc-dhcp-server start | up service isc-dhcp-server start | ||
− | down service isc-dhcp-server stop | + | down service isc-dhcp-server stop</code> |
− | </code> | ||
Cette configuration permet de ne pas démarrer automatiquement le serveur DHCP, mais uniquement lorsque l'on active manuellement l'interface eth0. | Cette configuration permet de ne pas démarrer automatiquement le serveur DHCP, mais uniquement lorsque l'on active manuellement l'interface eth0. | ||
Ligne 97 : | Ligne 88 : | ||
Modifier '''/etc/sysctl.conf''' | Modifier '''/etc/sysctl.conf''' | ||
− | <code> | + | <code> net.ipv4.conf.default.forwarding=1</code> |
− | |||
− | </code> | ||
Pour une prise en compte immédiate : | Pour une prise en compte immédiate : | ||
− | <code> | + | <code>$ sudo sysctl -p (activer la prise en compte pas le kernel) |
− | $ sudo sysctl -p (activer la prise en compte pas le kernel) | + | (ou bien $ sudo echo 1 > /proc/sys/net/ipv4/ip_forward )</code> |
− | (ou bien $ sudo echo 1 > /proc/sys/net/ipv4/ip_forward ) | ||
− | </code> | ||
===Masquer les paquets sortants=== | ===Masquer les paquets sortants=== | ||
Ligne 111 : | Ligne 98 : | ||
Ajouter cette ligne avant "exit 0" dans '''/etc/rc.local''' | Ajouter cette ligne avant "exit 0" dans '''/etc/rc.local''' | ||
− | <code> | + | <code> iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE</code> |
− | |||
− | </code> | ||
=Usage= | =Usage= | ||
Ligne 119 : | Ligne 104 : | ||
Après la connexion de la carte : | Après la connexion de la carte : | ||
− | <code> | + | <code>$ sudo ifup eth0 -> démarre le service dhcp</code> |
− | $ sudo ifup eth0 -> démarre le service dhcp | ||
− | </code> | ||
Avant la déconnexion : | Avant la déconnexion : | ||
− | <code> | + | <code>$ sudo ifdown eth0 -> arrête le service dhcp</code> |
− | $ sudo ifdown eth0 -> arrête le service dhcp | ||
− | </code> | ||
==Visualiser l'adresse affectée== | ==Visualiser l'adresse affectée== | ||
− | <code> | + | Pour confirmer l'affectation de l'adresse : |
− | $ tail -12 /var/lib/dhcp/dhcpd.leases | + | <code>$ tail -12 /var/lib/dhcp/dhcpd.leases |
− | lease 10.44.1. | + | lease 10.44.1.100 { |
starts 1 2016/01/11 12:57:27; | starts 1 2016/01/11 12:57:27; | ||
ends 1 2016/01/11 13:07:27; | ends 1 2016/01/11 13:07:27; | ||
− | .../... | + | .../...</code> |
− | </code> | ||
=Optionnel : NetworkManager ne gère plus eth0= | =Optionnel : NetworkManager ne gère plus eth0= |
Version du 12 janvier 2016 à 11:06
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
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 surement 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 mise à 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