ajoute le réseau pour OpenStack : dummy0, paire veth, NAT restreint au réseau externe

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Adam Belkacemi 2026-10-07 11:40:34 +02:00
parent e879a214a9
commit 87c8aac5f5
14 changed files with 247 additions and 0 deletions

View file

@ -0,0 +1,3 @@
[NetDev]
Name={{ reseau_dummy_nom }}
Kind=dummy

View file

@ -0,0 +1,8 @@
[Match]
Name={{ reseau_dummy_nom }}
[Network]
Address={{ reseau_dummy_ip }}
# Pas de route par défaut ni de DNS ici : cette interface sert uniquement de
# point d'ancrage interne pour Kolla (network_interface, kolla_internal_vip_address).
DHCP=no

View file

@ -0,0 +1,11 @@
# Géré par Ansible (rôle reseau-openstack) — ne pas modifier à la main.
# NAT masquerade : seul le sous-réseau "externe" OpenStack ({{ reseau_veth_gw_subnet }},
# utilisé par les routeurs de VM qui en ont explicitement besoin, jamais les
# VM de lab elles-mêmes — voir étape 10 du prompt de déploiement) sort vers
# Internet via {{ reseau_interface_publique }}.
table ip nat {
chain postrouting {
type nat hook postrouting priority 100;
ip saddr {{ reseau_veth_gw_subnet }} oifname "{{ reseau_interface_publique }}" masquerade
}
}

View file

@ -0,0 +1,6 @@
[NetDev]
Name={{ reseau_veth_ovs }}
Kind=veth
[Peer]
Name={{ reseau_veth_gw }}

View file

@ -0,0 +1,10 @@
[Match]
Name={{ reseau_veth_ovs }}
[Network]
# Pas d'IP : ce bout sera donné à Neutron (neutron_external_interface) à
# l'étape 5, qui l'attachera lui-même à son bridge OVS/OVN. On se contente de
# le faire monter et de le laisser persister au redémarrage.
DHCP=no
LinkLocalAddressing=no
ConfigureWithoutCarrier=yes

View file

@ -0,0 +1,10 @@
[Match]
Name={{ reseau_veth_gw }}
[Network]
Address={{ reseau_veth_gw_ip }}
DHCP=no
# Passerelle du réseau "externe" OpenStack (celui des routeurs de VM). Pas de
# route par défaut ajoutée ici : c'est le NAT masquerade nftables qui fait
# sortir ce sous-réseau vers Internet via {{ reseau_interface_publique }},
# pas une route système.

View file

@ -0,0 +1,3 @@
# Géré par Ansible (rôle reseau-openstack) — ne pas modifier à la main.
# Nécessaire pour que le NAT masquerade du réseau externe OpenStack fonctionne.
net.ipv4.ip_forward = 1