Table des matières
Résumé du projet de déménagement du réseau de FAImaison
ATTENTION : une grande partie des infos ci-dessous n'est plus pertinente.
Quoi ?
Suite au rachat de Network Consulting par Oceanet et à la fermeture du datacenter à Rezé, FAImaison va déménager dans le datacenter de Cogent sur l'île de Nantes.
FAImaison profite de ce déménagement pour remplacer une partie de son cœur de réseau.
Pour l'instant, FAImaison utilise un routeur (zephyr) et un switch (HP Pro Curve 2510). Ces machines vont êtres remplacées par du matériel plus récent.
Nous remplaçons le routeur par deux APU1 et le switch HP par deux switches Cisco 3750G (24 ports Giga cuivre + 4 SFP).
Combien ça coûte et rapporte ?
Le matériel nous a été offert par un membre. Merci à lui ! Les nouvelles machines consomment d'avantage d’électricité que les machines actuelles. Les coûts de revient des services vont donc augmenter.
Systèmes affectés (modifiés, supprimés, nouveaux)
- routeurs, switches
- tous les serveurs qui font du routage (les hyperviseurs et les serveurs VPN)
L'ancien routeur et l'ancien switch seront décommissionnés et pourront servir pour des tests et si le nouveau matériel lâche.
Personnes nécessairement touchées par les changements
Les adminsys devront apprendre à utiliser et configurer les nouvelles machines.
Processus modifiés
NOPE
Documentation
Configuration des APU1
Convention de nommage
- APU1 noir : camber
- APU1 gris argenté : fresk
Pour l'instant les APU1 sont sous BSD Router Project. On va installer par des Debian futures-stables (strech).
Connexion via le port série
root# cu -l cuaU0 -s 115200
Installation de Debian via PXE
- Être branché sur le port série pendant le démarrage.
- Setup PXE
Au préalable, il faut configurer l'image Debian pour activer la sortie console, sinon rien ne s'affiche.
De base il n'y a pas d'accès en console sur les ISO à installer via clé USB. On boot donc sur un programme servi via le réseau.
Côté machine serveur PXE
openbsd dhcpd.conf :
option domain-name "wxcvbn.org"; option domain-name-servers 10.64.64.1; subnet 10.64.0.0 netmask 255.255.255.0 { not authoritative; option routers 10.64.0.1; range 10.64.0.32 10.64.0.127; filename "pxelinux.0"; }
Dans /tftpboot, télécharger http://ftp.nl.debian.org/debian/dists/stretch/main/installer-amd64/current/images/netboot/netboot.tar.gz
Selon le post "Installing Debian Jessie on Alix & APU (PXE)", les étapes suivantes sont :
- extraire (tar xzf)
- vi debian-installer/amd64/boot-screens/txt.cfg
- s/vga=whatever/console=ttyS0,115200,n8/
Ensuite pour ajouter le firmware à initramfs, il faut lancer les commandes :
- cd debian-installer/amd64/
- cp debian-installer/amd64/initrd.gz debian-installer/amd64/initrd.gz.orig
- cat firmware.cpio.gz initrd.gz > a && mv a initrd.gz
Cote APU1
Il faut activer le support PXE/Network boot dans la configuration de l'APU1 (F10 → 2 Payload (setup) → N → E)
Installation de Debian sur les APU1
Une fois que l'APU boot sur l'image, rien ne s'affiche. C'est normal. Il faut appuyer sur “Entrée” une fois (attendre quelques secondes), et l'installation commence !
- Layout des partitions sur le disque de 16GB (pas de chiffrement sur le disque) :
swap 2.1GB /tmp 2GB /var 3GB / 8.9 GB
- Sélection des paquets : ([X] SSH Server, [ ] Standard system utilities)
Post-installation
!!! AVANT REBOOT FINAL !!!
- Lancer un shell
- Préparer l'env pour chroot
install# mount --bind /dev /target/dev install# mount --bind /dev/pts /target/dev/pts install# mount --bind /proc /target/proc install# mount --bind /sys /target/sys install# chroot /target target# export TERM=vt220 target# apt install firmware-realtek (check me) target# nano /etc/default/grub serial=115200 GRUB_CMDLINE_LINUX="console=ttyS0,115200,n8" GRUB_SERIAL_....=".... --speed=115200 ..." target# update-grub target# exit install# sync; sync; sync;
PULL THE PLUG!
!!! Quand grub se lance !!!
- 'e'
- C-n (next-line)
- C-f (next-char)
- Trouver la ligne avec root=sdb8 et remplacer par sda8
- C-x (save & load)
Se logger sous root et lancer cette commande pour checker :
update-grub && reboot
C'EST FINI !!! pour l'installation de base des APU1
Configuration des APU1 comme routeurs
- Lancement du role debian-base sur les deux routeurs
- Installation de quagga
router# apt install quagga
L'ordre de démarrage des daemons est maintenant géré par systemd lors de l'installation des paquets.
!!! ATTENTION !!! La dépendance zebra → {ospfd, bgpd} ne fonctionne que dans un sens. Si on stop le service zebra, les services ospfd et bgpd seront arrêtés. En revanche, si on start zebra, les services ospfd et bgpd ne seront pas lancés.
Configuration des interfaces VLAN
- Se connecter aux APU1 en ethernet
- Activer l'interface + désactiver la configuration par défaut
auto enp1s0 iface enp1s0 inet manual
- Configurer une interface VLAN dans le fichier /etc/network/interfaces de la manière suivante :
auto enp1s0.<VLAN> iface enp1s0.<VLAN> inet static address ADDRESS/NETMASK
VLAN
fresk (argenté) 149.11.52.82
Port 0 : vlan 174 → COGENT, 1100 → MANAGEMENT, 1200→BACKBONE, 1300 → ADHERENTS
Port 1 :
Port 2 :
camber (noir) 149.11.52.83
Port 0 : vlan 174 → COGENT, 1100 → MANAGEMENT, 1200→BACKBONE, 1300 → ADHERENTS
Port 1 :
Port 2 :
→ On ne change rien au niveau attribution VLAN / ports
Configuration sysctl fonctionnelle pour rp_filter, forwarding et ipv6
Liens : Linux Advanced Routing & Traffic Control HOWTO : Reverse Path Filtering et Documentation Kernel.org : ip-sysctl
Fichier /etc/sysctl.conf
#net.ipv4.conf.default.rp_filter=1 #net.ipv4.conf.all.rp_filter=1 net.ipv4.conf.default.rp_filter=0 net.ipv4.conf.all.rp_filter=0 ... # Uncomment the next line to enable packet forwarding for IPv4 #net.ipv4.ip_forward=1 net.ipv4.ip_forward=1 ... net.ipv6.conf.all.accept_ra = 0 net.ipv6.conf.default.accept_ra = 0
Test de la configuration OSPF des APU1
Test de la configuration BGP des APU1
Ces tests ont été réalisés avec bgpd (OpenBSD). L'objectif est de répliquer la configuration côté Cogent.
Sur mon laptop :
- Configurer bgpd
/etc/bgpd.conf AS 174 listen on 149.11.52.81 group "FAImaison AS203432" { remote-as 203432 announce default-route neighbor 149.11.52.82 { descr "APU1 fresk" } neighbor 149.11.52.83 { descr "APU1 camber" } }
- Enable forwarding + add NAT → OK
- Test
Configuration des switches
Convention de nommage (MAC qui se trouve aux dos des switches) :
- switch 10:8c:cf:62:5e:00 : tantad
- switch d8:24:bd:7d:36:00 : pete-culasse
Connexion via le port série
Sous OpenBSD :
cu -l cuaU0 [-s 9600]
Sous Linux :
screen /dev/ttyUSB0 <vitesse>
Dump de conf via tftp
apt install tftpd-hpa vi /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/srv/tftp" TFTP_ADDRESS="10.10.10.6:69" TFTP_OPTIONS="--secure"
Pour sauvegarder la conf du switch tantad :
touch /srv/tftp/tantad-confg chown tftp /srv/tftp/tantad-confg chmod a+w /srv/tftp/tantad-confg
Depuis tantad :
copy running-config tftp://10.10.10.6/
Glossaire
Routeurs : Ils permettent de faire transiter des paquets. Dans la documentation les routeurs sont désignés comme APU.
Switches : Ils permettent l'interconnexion de machines reliées à un même réseau physique.
PXE : Pre-boot eXecution Environment. Cela permet de démarrer depuis le réseau en récupérant une ISO qui se trouve sur un serveur.
Quagga : C'est un logiciel de routage qui utilise, entre autres, les protocoles OSPF et BGP dont nous avons besoin pour la configuration.
OSPF : Open Shortest Path First. C'est un protocole de routage dynamique.
BGP : Border Gateway Protocol. C'est un protocole d'échange de routes. BGPD est un daemon.
TFTP : Trivial File Transfer Protocol. C'est un protocole simplifié de transfert de fichiers.