User Tools

Site Tools


network:naming_convention

Convention de nommage

Cette page centralise les règles de nommage utilisées sur l'infrastructure : hostnames, adressage IP, VMID Proxmox, interfaces switch/pare-feu et règles de firewall OPNsense. Référencée depuis network:ipam plutôt que dupliquée.

Principe de base

Trois éléments distincts, à ne jamais mélanger dans un seul nom :

  • Hostname — identité physique/logique stable de la machine
  • Nom de service — ce qui est exposé via le reverse proxy, peut survivre à une migration de host
  • IP — position réseau, gérée par l'IPAM, jamais encodée dans le nom

Ne pas encoder le VLAN dans le hostname (éviter srv-jellyfin-vlan40). L'IPAM et le sous-réseau portent déjà cette information ; la dupliquer crée un point de désynchronisation en cas de migration de VLAN.

Domaine interne

domaine dédié à la résolution interne, distinct du domaine public :

homelab.lan

Résolu uniquement par Unbound.

Convention de hostname

Format : <prefix>-<slug>[-nn], minuscules, tirets uniquement (compatibilité DNS/RFC1123 strict, pas d'underscore).

Préfixe Usage Exemple
fw- Pare-feu fw-opnsense
sw- Switch sw-crs310
ap- Point d'accès ap-eap225-salon
srv- VM serveur srv-jellyfin, srv-unbound
ct- Conteneur LXC/Docker ct-pihole, ct-traefik
nas- Stockage nas-backup
iot- Objet connecté générique iot-prise-salon
game- Console/PC gaming game-ps5-salon
pc- Poste utilisateur pc-bureau

Allocation IP par tranche

Découpage identique appliqué sur les quatre VLANs.

Plage Usage
.1–.9 Infra réseau (gateway, switch mgmt, AP)
.10–.99 Réservations statiques (serveurs, services critiques) — documentées dans network:ipam
.100–.200 Pool DHCP dynamique — non tracké manuellement
.201–.254 Réservé / tests temporaires

Commentaires interfaces (switch / trunk)

Format : <ROLE>-<CIBLE> en PascalCase-avec-tirets.

Exemples en production sur le CRS310 : Trunk-AP-EAP225, Access-Proxmox, Uplink-OPNsense.

Règles de pare-feu OPNsense

Format

[VLAN_SRC]_<ACTION>_<PROTO/SERVICE>_TO_<DEST>

MAJUSCULES_SNAKE_CASE, underscore comme séparateur — distingue visuellement des hostnames (qui utilisent des tirets).

  • ACTION explicite (ALLOW/BLOCK/REJECT) même si l'icône OPNsense l'indique déjà — facilite la recherche texte dans un export XML.
  • BLOCK vs REJECT : distinction conservée dans le nom, pas uniquement dans le comportement (utile pour les règles REJECT ciblées, ex. feedback DNS rapide sur Guest).
  • Règles temporaires : préfixe TMP_ + date ISO en commentaire uniquement, jamais dans le nom de la règle (contrairement aux pages wiki, une règle firewall n'est pas de la documentation figée). Permet un grep TMP_ périodique pour repérer les règles oubliées.

Alias

Préfixe alias Contenu
NET_ Réseaux/CIDR (NET_TRUSTED, NET_HOMELAB)
HOST_ IP unique (HOST_JELLYFIN)
PORT_ Groupe de ports (PORT_WEB = 80,443)

Mapping interfaces OPNsense → VLAN (état de production)

Interface OPNsense VLAN Remarque
opt2 TRUSTED (10) Règle de blocage RFC1918 présente mais désactivée intentionnellement (accès complet voulu depuis ce poste)
opt3 GUEST (20) Pattern standard : DNS local, blocage RFC1918, accès internet
opt4 IOT_GAMING (30) Comprend un blocage DNS forcé (force la résolution via le résolveur local)
opt5 WIREGUARD (VPN) Sous-réseau tunnel 10.10.0.0/24, accès scopé vers Trusted et Homelab uniquement
opt6 HOMELAB (40) Bloqué par défaut vers les autres VLANs, accès internet autorisé
lan Legacy (igc1, pré-VLAN) Règles par défaut auto-générées, en cours de décommissionnement

Exemple de jeu de règles renommé (VLAN Trusted)

TRUSTED_ALLOW_ANY_TO_HOMELAB
TRUSTED_ALLOW_DNS_TO_SELF
TRUSTED_ALLOW_ANY_TO_SELF
TRUSTED_ALLOW_ANY_TO_WIFI_CONTROLLER
TRUSTED_BLOCK_ANY_TO_RFC1918          # désactivée intentionnellement
TRUSTED_ALLOW_ANY_TO_ANY
TRUSTED_ALLOW_ANY_TO_WIREGUARD        # redondante avec la règle précédente, conservée pour lisibilité
network/naming_convention.txt · Last modified: by reaton