CnxRaspberryPc : Différence entre versions

De fablabo
Aller à : navigation, rechercher
(Page créée avec « {{Projet |status=Fonctionnel |image=Cnx raspberry pc.jpg |description=Connexion Raspberry au réseau via son PC |license=CC-by-sa-3.0 |contributeurs=Philippe Bonnet, }} [... »)
 
Ligne 29 : Ligne 29 :
 
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.
  
Cette technique devrait fonctionner avec une carte nouvellement installée, ce que signifie qu'on n'a à aucun moment 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...
  
 
=Installer le serveur DHCP local=
 
=Installer le serveur DHCP local=
Ligne 38 : Ligne 38 :
  
 
<code>
 
<code>
\# apt install isc-dhcp-server
+
$ sudo apt install isc-dhcp-server
 
</code>
 
</code>
  
Ligne 54 : Ligne 54 :
 
default-lease-time 600;
 
default-lease-time 600;
 
max-lease-time 7200;
 
max-lease-time 7200;
option domain-name "goulgat-city.loc";
+
option domain-name "mon-domaine.loc";
 
option domain-name-servers 8.8.8.8;
 
option domain-name-servers 8.8.8.8;
 
option subnet-mask 255.255.255.0;
 
option subnet-mask 255.255.255.0;
 
option broadcast-address 10.44.1.255;
 
option broadcast-address 10.44.1.255;
option ntp-servers 10.44.1.254
+
option ntp-servers 10.44.1.1
 
 
 
subnet 10.44.1.0 netmask 255.255.255.0 {
 
subnet 10.44.1.0 netmask 255.255.255.0 {
 
range 10.44.1.150 10.44.1.200;
 
range 10.44.1.150 10.44.1.200;
option routers 10.44.1.254;
+
option routers 10.44.1.1;
 
}  
 
}  
 
log-facility local7;
 
log-facility local7;
Ligne 79 : Ligne 79 :
 
#auto eth0 -> pas de démarrage au boot ne démarre que par ifup
 
#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.254
+
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
Ligne 125 : Ligne 125 :
 
<code>
 
<code>
 
$ sudo ifdown eth0 -> arrête le service dhcp
 
$ sudo ifdown eth0 -> arrête le service dhcp
 +
</code>
 +
 +
==Visualiser l'adresse affectée==
 +
<code>
 +
$ tail -12 /var/lib/dhcp/dhcpd.leases
 +
lease 10.44.1.150 {
 +
  starts 1 2016/01/11 12:57:27;
 +
  ends 1 2016/01/11 13:07:27;
 +
  cltt 1 2016/01/11 12:57:27;
 +
  binding state active;
 +
  next binding state free;
 +
  rewind binding state free;
 +
  hardware ethernet b8:27:eb:32:8c:7d;
 +
  uid "\001\270'\3532\214}";
 +
  set vendor-class-identifier = "dhcpcd-6.7.1:Linux-4.1.13+:armv6l:BCM2708";
 +
  client-hostname "raspberrypi";
 +
}
 
</code>
 
</code>
  

Version du 11 janvier 2016 à 15:27


Connexion Raspberry au réseau via son PC


Objet

RASPBERRY-PI connectée en local

Lorsque l'on configure et test 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.

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...

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.150 10.44.1.200; option routers 10.44.1.1; } log-facility local7;

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

$ tail -12 /var/lib/dhcp/dhcpd.leases lease 10.44.1.150 {

 starts 1 2016/01/11 12:57:27;
 ends 1 2016/01/11 13:07:27;
 cltt 1 2016/01/11 12:57:27;
 binding state active;
 next binding state free;
 rewind binding state free;
 hardware ethernet b8:27:eb:32:8c:7d;
 uid "\001\270'\3532\214}";
 set vendor-class-identifier = "dhcpcd-6.7.1:Linux-4.1.13+:armv6l:BCM2708";
 client-hostname "raspberrypi";

}

Optionnel : NetworkManager ne gère plus eth0

Modifier /etc/NetworkManager/NetworkManager.conf [main]

 plugins=ifupdown,keyfile
 no-auto-default=eth0		--> Commenter (#) pour permettre usage