Outils pour utilisateurs

Outils du site


fr:rapports:2020:08-15

**Ceci est une ancienne révision du document !**

2020/08/15 (Hub infra)

À mettre sur https://wiki.neutrinet.be/fr/rapports/2020/08-15 après.

FIXME mis à LARACH® et il faut relire (mais ça se voit vite non ? 😃)!!!

A faire

* créer nos utilisateur unix/proxmox/ilo * changé les mdp root/admin/…. * créer les vm edge * config bgp * créer les script pour les hook de vzdump https://pve.proxmox.com/pve-docs/vzdump.1.html#vzdump_configuration

Présences

tharyrok, ptr_here, tierce et hgo

Numérotation des VMs dans Proxmox

Les VMs de 110 à 199 sont des VM à !!! NE PAS DÉPLACER !! et c'est pour cette raison que leur storage est sur /local et /data. Et c'est surtout parce que c'est les routeurs edges01 et edges02 et il y aura aussi les pfsenses de la futur infra qui NE DOIVENT PAS être déplacés.

Les VMs de 300 à 899 c'est pour Neutrinet (future nouvelle infra), même si on est pas sur que ça nous laissera assez de n° de VM 😛

Les VMs au-dessus de 900 c'est pour d'autres usages comme les amis, les labos, etc…

Par exemple, les VMs qu'on va ramener de i3D seront dans les 900 parce que c'est « l'ancienne infra » qu'on finira par supprimer.

Copier les iso

Télécharger debian installation ISO, et mettre dans le bon repertoire pour que proxmox les retrouve (local, nam et bour)

nam # cd /var/lib/vz/template/iso/
nam # wget … une image iso non-free …

===== Provisionner edge01 ===== 

3 interfaces reseau
vmbr0:vlan40   WAN
vmbr1   switch connection v verixi
et une autre dans le reseau management (vmbr0:vlan10)
 
boot 1GB ext2
root partition 9.2GB
512 MB swap


===== nettoyage réseau =====

==== configurer les ilo via ipmtool ====

On va utiliser ipmitool depuis nam et bour pour parler à leur iLo et pouvoir configurer leur vlan10 et leurs ips.

Sur nam et bour / installer outil pour gerer l'iLo depuis le host

apt install ipmitool

ipmitool lan print

… IP Address : 192.168.12.62 # pas la bonne ip, on va la changer …


ipmitool gère des « channels » (iLo c'est channel 2, iDrac −de Dell− c'est le 1 … mais on sait pas trop pourquoi)

On va les mettre dans le vlan10, fixer une ip statique, un masque, lui demander de répondre au ping (arp) et le redémarrer à chaud.

Il sera sur le vlan10 parceque sur topi on avait dit que l'interface 3 et 4 était « untag vlan10 ».

ipmitool lan set 2 ipsrc static # fixe une ip statique

ipmitool lan set 2 ipaddr 10.0.10.112 # définir l'ip

ipmitool lan set 2 netmask 255.255.255.0 # définir le masque

ipmitool lan set 2 defgw ipaddr 10.0.10.254 # définir une gateway qui existe pas encore

ipmitool lan set 2 arp respond on # répondre au ping

ipmitool mc reset warm # reboot du iLo pour qu'il prenne en compte la nouvelle config

ipmitool lan print

… IP Address : 10.0.10.112 …


On fera l'ipv6 plus tard parce que on a encore pas mal de choses à faire.

pour nam la meme chose

root@nam:~# ipmitool lan print … IP Address : 10.0.10.111

Pour pouvoir afficher les interfaces web des Proxmox (ou accéder aux iLo), n'ayant pas d'ip publiques (et c'est bien normal puisqu'on vient de changer de plage IP) pour les iLo et les Proxmox, on peut utiliser cette commande:

ssh 192.168.12.214 -p22 -ltharyrok -D 1337 #.214 sera un jour l'ip de edge01 ou edge02

le -D permet d'ouvrir un proxy socks que l'on configure dans firefox (on lui dit de passer par ce proxy) et cela permet d'accéder au vlan de management, pour gérer les iLo.
Et donc, dans Firefox, on accède à l'iLo via la 10.0.10.111 !

==== on nettoie le réseau de nam ====

On retire l'IP statique du vmbr1, parce que cette interface est pour la connexion avec Verixi, et on ne veut pas que les serveurs physique aient une adresse IP publique. Pour rappel, on passera par les VMs edge
On retire aussi la config local (192.168.12.213 et .214) de nam et bour.

iface vmbr1 inet manual


Du coup on aura plus accès à la machine et il faudra passer par un proxy sock.

===== Configuration des edges01 et edges02 =====

Sur les deux premières VMs faites ce matin, on va mettre les IPv4 et v6 reçues de Verixi sur nos deux routeurs virtuels.

On ajoute les ips 192.168.12.213 et .214 et aussi les IPs de Verixi dans la config reseau de edge01, edge02 

les interfaces réseau sont nommées ens18, ens19, ens20 par defaut dans proxmox (ens18 is the name of interface inside the vm. (because proxmox add the interface on pci slot 18).)

En gros, voir ```/etc/networx/interfaces``` sur edge01 et edge01, c'est le seul fichier adapté pour le moment.


==== installation de bird (BGP) ====

Sur edge01 et edge02 …

apt install bird


Dans la config BGÉ, par convention, on prend l'ipv4 (publique) de la machine en tant que « router id ».

root@edge-02:~# birdc show proto          
BIRD 1.6.6 ready.  
name     proto    table    state  since       info  
device1  Device   master   up     11:16:16 
kernel1  Kernel   master   up     11:16:16      
neutrinet Static   master   up     11:16:16  
neutrinet_vpn Static   master   up     11:16:16
verixi   BGP      master   start  11:16:16    Connect       Socket: No route to host       

root@edge-02:~# ip r s   
default via 192.168.12.254 dev ens18    
10.0.10.0/24 dev ens20 proto kernel scope link src 10.0.10.52   
62.112.29.90/31 dev ens18 proto kernel scope link src 62.112.29.91  
80.67.181.0/28 dev ens19 proto kernel scope link src 80.67.181.3     
80.67.181.0/24 dev ens19 proto bird scope link  
80.67.181.128/25 via 80.67.181.11 dev ens19 proto bird 
192.168.12.0/24 dev ens18 proto kernel scope link src 192.168.12.128 


maintenant config ipv6
bird6 est compris dans le package bird 

edition de /etc/bird/bird6.conf

root@edge-02:~# systemctl enable bird6
Synchronizing state of bird6.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable bird6

root@edge-02:~# systemctl restart bird6

root@edge-02:~# ip -6 r s
::1 dev lo proto kernel metric 256 pref medium
2001:913:1000::/40 dev ens19 proto kernel metric 256 pref medium
2001:913:1f00::/40 via 2001:913:1000::11 dev ens19 proto bird metric 1024 pref medium
2001:913:1000::/36 dev ens18 proto bird metric 1024 pref medium
2a00:1528:3201:5::24/126 dev ens18 proto kernel metric 256 pref medium
2a02:578:857c:c01::/64 dev ens18 proto kernel metric 256 expires 7082sec pref medium
fd97:cbaf:f4d3:32a9::/64 dev ens20 proto kernel metric 256 pref medium
fe80::/64 dev ens20 proto kernel metric 256 pref medium
fe80::/64 dev ens19 proto kernel metric 256 pref medium
fe80::/64 dev ens18 proto kernel metric 256 pref medium
default via fe80::cece:1eff:fecd:ddb8 dev ens18 proto ra metric 1024 expires 1682sec mtu 1492 hoplimit 255 pref medium
root@edge-02:~#

==== installation de keepalived ====

Pour les IPs flottantes ( 80.67.181.1 et 2001:913:1000::1 pour le WAN et aussi 10.0.10.1 et fd97:cbaf:f4d3:32a9:10::1 pour le MAN) entre les edge01 et edge02.
On se dit qu'il nous manque un réseau SHOW pour faire un jour un WAN-MAN-SHOW !  ^_^

Sur edge01 et edge02 donc…

apt install keepalived

nano /etc/keepalived/keepalived.conf

systemctl enable keepalived

systemctl start keepalived

ip a # pour voir si les ipv4 et ipv6 apparaîttent


check_bird : check si bird daemon tourne, en lui envoyant un SIGUSR1 (?)  par la commande killall -0 bird; 

Et voir le contenu du fichier ```/etc/keepalived/keepalived.conf``` pour les détails.
Pour le « priority 150 » on préfère que edge01 (edge02 est à « priority 100 ») soit prioritaire parce que si demain on avait deux interconnections différentes (une verixi et une cogent par exemple), Verixi nous demandera de privilégier la connexion de Verixi (ou la moins cher pour nous comme pour eux)

=== NAT et forwarding de packets ===
 
( C'est avec sysctl qu'on parle de forwarding et si c'était elle.. on parle de Nath ^_^ )

nano /etc/sysctl.conf

On fixe  ```inet.ipv4.ip_forward=1``` et ```net.ipv6.conf.all.forwarding=1``` sinon Debian ne fonctionne pas comme routeur.

sysctl -p # pour appliquer les changements


Et maintenant on paramètre le firewall (iptables étant déprécié, on utilis nftables)

nano /etc/nftables.conf # nano dispose d'une colloration syntaxique pour nftables, ce qui est bien pratique



On (disons… tharyrok) a bien dû cherche un peu pour les chaines my_forward et my_nat

… chain my_forward {

              type filter hook forward priority 0; policy drop;
              ip saddr 80.67.181.0/24 accept comment "Allow Neutrinet to Internet"
              ip6 saddr 2001:913:1000::/36 accept comment "Allow Neutrinet to Internet"
              ip daddr 80.67.181.0/24 accept comment "Allow Internet to Neutrinet"
              ip6 daddr 2001:913:1000::/36 accept comment "Allow Internet to Neutrinet"
              ip saddr 10.0.10.0/24 accept comment "Allow Management to Internet"
              ip daddr 10.0.10.0/24 ct state related,established accept comment "Allow Internet To Management"
              counter drop
      }

… table ip my_nat {

      chain postrouting {                                                                                                                                                                   
              type nat hook postrouting priority 0;
              # Masquerade outgoing traffic
              ip saddr 10.0.10.0/24 oif ens18 snat 192.168.12.127
      }

}


Et on install sshguard pour ban les tentatives de brute force sur ssh.

apt install sshguard


Et il rajoutera des entrées dans nft.

nft list ruleset # pour lister les règles appliquées


Pour que les keepalived (VRRP) puissent continuer à se parler, nous avons également ajouter les règles suivantes dans le nftables sur les deux routeurs.

ip protocol vrrp accept comment “Accept VRRP” ip protocol ah accept comment “Accept ah (vrrp auth)” ==== appliquer les settings reseau ==== reboot pour appliquer tout ces settings reseau TODO!! on a oublie de installer qemu-agent dans les VM (donc la commande shutdown de Proxmox ne marche pas) Sur chaque VMs, il faut donc installer qemu-agent.

apt install qemu-agent

```

on passe par topi pour pouvoir acceder au reseaux configure' (config local ssh proxyjump)

TODO!! on a oublie de faire le setup du resolv.conf (à faire quand on sera à la blue) nameserver 80.67.169.12 nameserver 80.67.169.40

Configuration de ssh local

Pour avoir accès à toutes les machines depuis un PC et fair tourner ansilbe. En passant par topi comme proxy jump. En ajoutant les ip 10.0.10.x de nam et bour dans son propre /etc/hosts. En ajoutant l'ip 192.168.12:217 de topi dans son propre /etc/hosts. En configurant ssh (~/.ssh/config) pour y mettre le proxyjump.

https://gitlab.domainepublic.net/Neutrinet/infra/-/blob/master/group_vars/all

shutdown VMs qui tournent au i3d / demarrer backup

infra i3d reste joignable par edge-router (avec son interface ip i3d)

Placement physique des nouveaux serveurs

On souhaite aller placer les serveurs avant le 20 août chez Verixi. Ça tombe bien, on est le 15 \o/

Migrer l'annonce des sessions BGP

Faire des records DNS

Pour edge-01 et edge-02 avec les 2 IPs fournies par Verixi.

Calendrier déménagement

  • Avant le 8 : mail + mattermost aux membres à propos des changements d'IP (8/😎 et du déménagement (15/😎
  • Samedi 8 : déménagement logique (IPs) + pitit downtime
  • <del>Avant le 15 : mail + mattermost aux membres à propos du déménagement physique<del>
  • <del>Samedi 15 : déménagement physique chez Verixi + long downtime<del>
  • Samedi 22 : rien à voir, déménagement des triplettes
  • Avant le (5 jours ouvrables avant access) : enregistrer la plaque de la voiture et les cartes d'identités chez i3d
  • Avant le 31 : récupérer les serveurs chez i3d
  • Avant la fête : mail, mattermost, pigeons, sémaphores, radio et on fait la fête
  • Après le 31 : double pendaison de crémaillère, méga fiesta, etc et ramener tous les anciens et les anciennes de NeutriCorp

Reste à faire

  • le soucis avec keepalived
  • le backup automatique (proxmox + rsync)
  • la HA dans proxmox
  • la nsftab (pour keepalived)
  • le ipv6 management qu'il faudrait isoler
  • Récupérer les serveur de i3d
    • on prévoit le lundi 24 août 2015
    • Enregistrer la voiture
    • récupérer le code de l’armoire
fr/rapports/2020/08-15.1597520587.txt.gz · Dernière modification : 2020/08/15 21:43 de tierce