==== Le réseau du premier samedi ====
Les connecteurs réseaux qui sont sur les tables sont connectés aux switch de la cité des sciences.
Le vendredi, la cité des sciences envoie un mail à son prestataire afin qu'il reconfigure les ports des switch de la cité des sciences, pour faire en sorte que les connecteurs réseaux des tables soient dans un vlan non filtré, sans aucun service (DHCP, DNS, etc).
Parinux à un serveur (une [[https://linux-sunxi.org/Olimex_A20-OLinuXino-Lime|lime1 A20]]) qui est configuré pour utiliser l'adresse IP du gateway du sortie, et qui fournit divers services:
* DHCP (avec dhcpd)
* DNS
* cache pour les paquets des distributions et démarage réseau à travers PXE ([[https://framagit.org/Parinux/pxe-install|configurations et scripts]]) qui utilise:
* dnsmasq (avec le DHCP désactivé)
* nginx
L'adresse IP du gateway de sortie est: **172.17.199.254/21**
L'adresse IP du serveur de Parinux (la Lime 1 A20) est: **172.17.192.1/21**
Pour installer le réseau, il faut prévoir de venir avant 14h afin de faire en sorte que ça marche à 14h.
Dans le cas contraire beaucoup de personnes vont demander pourquoi le réseau ne marche pas, et y répondre retarde encore plus le fait de faire fonctionner le réseau.
Une fois sur place il faut donc:
* Allimenter les switch de Parinux et les brancher aux port réseaux des tables
* Allimenter la lime 1 A20 et la brancher à un des switch réseaux
Une fois que c'est fait le réseau devrais fonctionner normalement.
==== Quand ça marche pas ====
- Vérifier qu'on est bien connecté physiquement au réseau de la cité des sciences: Si on connecte au à un des connecteur réseaux des tables on devrait voir des paquets réseaux passer avec cette commande: tcpdump -i eth0 -A -s0 vrrp
Pour que la commande marche, penser à remplacer eth0 par le nom de l'interface de votre carte réseau. Si on ne voit rien passer c'est que l'ordinateur n'est pas connecté au réseau de la cité des sciences. Les causes peuvent être multiples:
* Le cable réseau entre votre ordinateur et le connecteur réseau du switch ou de la table peut être déféctueux: pour vérifier ça on peut uttiliser la commande 'ip' : Tout d'abbord vérifier que la carte est bien dans l'état UP: $ ip addr show dev eth0
2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000
[...]
Dans le cas contraire ça devrait ressembler à ça: $ ip addr show dev eth0
2: pe0: mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
[...]
Si le cable réseau est pas connecté ou déffectueux on a un NO-CARRIER: $ ip addr show dev eth0
2: eth0: mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
[...]
Sinon quand tout est normal ça ressemble à ça: $ ip addr show dev eth0
2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000
[...]
* Il peut y avoir une boucle réseau, c'est à dire un cable réseau qui est branché à ses deux extrémitées à un switch de Parinux. Ça affecte en général uniquement le switch en question. Pour régler le problème il faut enlever le ou les cables en question puis débrancher et rebrancher l'allimentation du switch.
- Si on est bien connecté et que les switch de Parinux marchent, et que la Lime 1 A20 est joignable et que ça marche toujours pas il se peux que:
* Le le présetataire qui gère le réseau de la cité des sciences n'ai pas configuré les switch pour le premier samedi.
* Pour verifier cela, il faut faire un : root@lime:~# tcpdump -i eth0 -A vrrp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
15:53:48.526619 IP 172.17.199.250 > vrrp.mcast.net: VRRPv2, Advertisement, vrid 4, prio 200, authtype none, intvl 1s, length 20
E..(.E...paB........!.........................
15:53:49.526586 IP 172.17.199.250 > vrrp.mcast.net: VRRPv2, Advertisement, vrid 4, prio 200, authtype none, intvl 1s, length 20
E..(.F...paA........!.........................
* Dans ce cas il est sans doute possible de s'en tirer en bidoullant: il est possible de partager la connection WiFi de la cité des sciences et de la redistribuer sur le réseau cablé (optionellement en utilisant un VPN comme le VPN open-bar de FDN ou un VPN Francilien afin de ne pas avoir de filtrage).
* La Lime1 A20 soit mal configuré ou ait des services qui n'ont pas démarrés. Par exemple:
* Le serveur DHCP qui ne démarre pas
* L'adresse IP du gateway soit mal configuré dans la configuration du server DHCP
* etc
==== Problème du 07 Janvier 2023 ====
Parfois du à des changements de configuration réseau, la configuration seul une partie des machines machent.
Par exemple si on à la configuration suivante:
| IPv4 | 172.17.198.218/21 |
| gateway | 172.17.103.254 |
| dns1 | 192.168.12.234 |
| dns2 | 172.17.192.1 |
On peut essayer de vérifier si on arrive à joindre le gateway et tout ça:
$ ipcalc 172.17.198.218/21
Address: 172.17.198.218 10101100.00010001.11000 110.11011010
Netmask: 255.255.248.0 = 21 11111111.11111111.11111 000.00000000
Wildcard: 128.0.0.0 00000000.00000000.00000 111.11111111
=>
Network: 172.17.192.0/21 10101100.00010001.11000 000.00000000
HostMin: 172.17.192.1 10101100.00010001.11000 000.00000001
HostMax: 172.17.199.254 10101100.00010001.11000 111.11111110
Broadcast: 172.17.199.255 10101100.00010001.11000 111.11111111
Hosts/Net: 2046 Class B, Private Internet
Et la on peut voir le range d'adresses IP possible données par le serveur DHCP dedans:
HostMin: 172.17.192.1 [...]
HostMax: 172.17.199.254 [...]
Et la le gateway (172.17.103.254) et les le premier DNS (192.168.12.234) ne sont en théorie pas joignables.
Apparament ça marchait quand même avec Network Manager car Network Manager rajoutait une route en plus automatiquement pour arriver à joindre le gateway et/ou premier serveur DNS mais pas avec dhclient, Android ou Ordissimo.
sinon il est aussi fortement conseillé d'avoir un dns1 fonctionnel car certains logiciels (debootstrap?) ne vont pas essayer le second DNS si le premier ne marche pas.
Apparament changer l'addresse MAC souvent finisait par parfois faire marcher le réseau mais ni Android ni Ordissimo avait un moyen facile de faire ça.
La solution (à faire une prochaine fois) est de:
(1) Vérifier que le gateway et le dns1 sont joignables du range d'addresse IP fournis par le serveur Parinux
(2) Vérifier s'il n'y à pas d'autre soucis en plus (par exemple vérifier qu'il n'y à qu'un serveur DHCP sur le réseau, par exemple en débranchant le serveur de Parinux ou en faisant une capture réseau et en comparant les addresses MACs). Car la le fait que ça ait aussi marché une fois avec dhclient eur la même machine après avoir changé l'addresse MAC est bizzare.
==== Quand on doit reconfigurer le réseau en urgence ====
La lime1 A20 est configurée pour avoir une console sur le port USB. Pour y accéder il faut:
* Un cable USB
* Un logiciel spécial
Pour accéder à la console du port USB, il faut connecter un cable USB classique entre son port USB et un ordinateur. Le connecteur utilisé côté lime est du mini-usb.
Le fait de brancher un cable USB devrait faire apparaitre /dev/ttyUSB0 sur l'ordinateur portable. Si /dev/ttyUSB0 est déja présent sur l'ordinateur portable avant de brancher le cable USB, il se peut que /dev/ttyUSB1 ou suppérieur (/dev/ttyUSB2, etc) apparaisse.
Une fois que c'est fait, il avoir picocom d'installé. Il se trouve normalement dans la plus part des distributions GNU/Linux. Par exemple pour les distributions basées sur Debian on peut l'installer avec la commande suivante:
$ sudo apt install picocom
Ensuite pour se connecter à la console:
$ sudo picocom /dev/ttyUSB0
Ça devrait afficher un truc du genre:
picocom v3.1
port is : /dev/ttyUSB0
flowcontrol : none
baudrate is : 9600
parity is : none
databits are : 8
stopbits are : 1
escape is : C-a
local echo is : no
noinit is : no
noreset is : no
hangup is : no
nolock is : no
send_cmd is : sz -vv
receive_cmd is : rz -vv -E
imap is :
omap is :
emap is : crcrlf,delbs,
logfile is : none
initstring : none
exit_after is : not set
exit is : no
Type [C-a] [C-h] to see available commands
Terminal ready
Puis appuyer sur entrée si rien d'autre ne s'affiche. On devrait ensuite voir une demande d'authentification:
lime1 login:
Rentrer le login et le mot de passe donne une console qui n'est pas dépendante du réseau.
Par contre il se peut que certains éditeurs de texte se comportent mal. La commande suivante peut potentiellement résoudre le problème.
[root@lime1] # export TERM=xterm
[root@lime1] # reset
==== Choix techniques ====
* La lime1 à été choisie pour différentes raisons:
* Elle peux fonctionner sans logiciels propriétaires: les logiciels de démarage (qui remplacent le BIOS) sont complètement libre.
* Le fait que le démarage soit libre permet aussi à toute distribution GNU/Linux de supporter facilement ce genre de matériel. Cela permet par exemple de faire facilement tourner debian stable sans avoir à recourrir à des distributions spécifiquement adaptés à un ordinateur particulier (raspbian etc). Cela permet d'être plus stable et plus proche d'une version x86 de la distribution choisie.
* Cet ordinateur possède un port USB périphérique et un port d'allimentation séparés. Cela permet d'exporter une console sur le port USB périphérique. Cela est crucial si on doit reconfigurer le réseau en urgence: Au lien de passer 2H à faire marcher le réseau, on en à pour 10min car on à pas à redémarrer (et à hésiter à prendre la décision de redémarrer) pour changer la configuration réseau car ça marche sans réseau contrairement à SSH.
* Debian à été choisi car peu de personnes étaient habitués à des distributions comme Parabola
==== WiFi ====
GNUtoo ammène en général un point d'accès WiFi en mode bridge. Le point d'accès WiFi peut être branché à n'importe quel switch ou prise qui marche.
Normalement n'importe quel autre point d'accès WiFi en mode bridge devrait aussi marcher en théorie.
Pour éviter les bogues qui provoquent des incompatibilitées le mieux est d'avoir un point d'accès compatible libreCMC (une distribution basée sur OpenWRT 100% libre) avec le maximum de RAM et de stockage pour qu'il dure un maximum de temps et avoir deux deux interfaces WiFi compatible avec le driver ath9k (marche en 100% libre): une en 2.4 et une en 5GHz.
==== Autre ====
* [[si:psl:vpn|vpn]]: Réseau pour install parties à base de VPN
* [[si:psl:inventaire|inventaire]]: Inventaire du matériel et des services disponibles