From 4a880316126e6da37a5d0cf4ea0af380cbf5a356 Mon Sep 17 00:00:00 2001 From: sinavir Date: Thu, 7 Nov 2024 13:46:36 +0100 Subject: [PATCH] feat(documentation): Document networking on krz01 and add a registry for our IP prefixes --- NETWORKING.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ REGISTRY.md | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 NETWORKING.md create mode 100644 REGISTRY.md diff --git a/NETWORKING.md b/NETWORKING.md new file mode 100644 index 0000000..06cefe1 --- /dev/null +++ b/NETWORKING.md @@ -0,0 +1,47 @@ +# `krz01` + +Le réseau est en IPv6 only grâce au /48 mwan + +On a aussi un `/29` en v4 à utiliser avec parcimonie. (Il faudra déployer un sni-proxy un jour pour utiliser encore moins d'ip). + +## Architecture du réseau + +### Bridges (switchs virtuels) + +- `vmbr0`: bridge pas vlan-aware, connecté à l'uplink ens. Le tunnel GRE milky wan passe par ce bridge +- `vmbr1`: bridge vlan-aware pour le LAN. Actuellement on a que 2 vlans: + - 2520: DMZ milky-wan + - 2530: DMZ Hurricane Electric + - Ne pas hésiter à en proposer d'autres + +### Le routeur + +Le routeur fait de la traduction d'addresses stateless pour nos v4 publiques (comprendre si le routeur reçoit un paquet à destination de `45.13.104.24/29` il traduira le paquet en IPv6 sur le préfixe `2a0e:e701:1120:1000:ffff::45.13.104.24/125`). Pour plus d'informations [https://nicmx.github.io/Jool/en/intro-xlat.html](https://nicmx.github.io/Jool/en/intro-xlat.html) + +On utilise la NAT64 de milkywan pour pouvoir communiquer avec l'internet legacy. Il faut pour cela un DNS récursif spécial, le DNS64 (déployé sur `labcore01`). Plus d'infos sur [https://nicmx.github.io/Jool/en/dns64.html](https://nicmx.github.io/Jool/en/dns64.html) et sur internet. + +### Affectation des préfixes + +Cf [/registry.md](/registry.md) + +Par défaut le /48 entier n'est pas routé, uniquement les sous-préfixes en utilisation. C'est à nous d'ajouter proprement les routes sur le routeur. + +## Tuto + +### Connecter une machine en IPv6 only + +Il suffit d'ajouter une intarface sur `vmbr1` avec le vlan 2520. + +Normalment le routeur annonce le info suivante: + - Préfixe SLAAC `2a0e:e701:1120:1000::/64` + - IP du routeur (gateway): `2a0e:e701:1120:1000::1` + - DNS: `2a0e:e701:1120:1000::f:1` (labcore01) + +### Utiliser une ipv4 publique + +On a un `/29` offert par mwan. Les étapes sont les suivantes: +1. Ajouter une entrée dans [/registry.md](/registry.md). +2. Ajouter l'ip `2a0e:e701:1120:1000:ffff::45.13.104.XXX` (ou `45.13.104.XXX` est l'ip attribuée dans le registre) à la machine (pour les routes c'est pareil que en v6 only) +3. C'est tout, le routeur se charge de la traduction grâce à SIIT ([rfc7915](https://datatracker.ietf.org/doc/html/rfc7915)) + +> Remarque. Les paquets venant du legacy-world seront traduit avec le préfixe `2a0e:e701:1120:ffff::/96` (on peut pas prendre le même préfixe que la NAT64 parce que sinon ça va clasher) diff --git a/REGISTRY.md b/REGISTRY.md new file mode 100644 index 0000000..53abfb0 --- /dev/null +++ b/REGISTRY.md @@ -0,0 +1,39 @@ +# Registre des IP milkywan et Hurricane Electric + +## HE + +On a un `/64` uniquement routé via un tunnel 6in4: + - IP de lien local: `2001:470:1f12:187::2/64` + - IP de lien Remote: `2001:470:1f12:187::1/64` + - Endpoint ipv4: `216.66.84.42`/`129.199.146.230` + +| Préfixe | Attribution | +|-|-| +| `2001:470:1f13:187::/64` | he-dmz, vlan 2530 | + +## MWAN + +### IPv4 + +#### `45.13.104.24/29` + +Routé via SIIT sur le vlan mwan-siit (2520) + +| IP | Attribution | Mainteneur | +|----|-------------|------------| +| `.25` | `labcore01` | Maurice | +| `.26` | | | +| `.27` | | | +| `.28` | | | +| `.29` | | | +| `.30` | | | + +#### `2a0e:e701:1120::/48` + + +| Préfixe | Attribution | Mainteneur | +|---------|-------------|------------| +| `2a0e:e701:1120::/64` | IPv6 pour les routeurs, sur les interfaces du GRE | Maurice | +| `2a0e:e701:1120:1000::/64` | DMZ mwan sur le vlan 2520 mwan-siit | Maurice | +| `2a0e:e701:1120:ffff::/96` | pool6 du siit | Maurice | +