Aller au contenu

IPv6 en CLI

Ce guide décrit comment créer un réseau IPv6 ou dual-stack avec l'OpenStack CLI.

Prérequis

  • Application Credentials (clouds.yaml) configurées (voir Tools).
  • IPv6 est actuellement limité à la région 2 (ch-ge1).

Créer un routeur

openstack router create test-router1 --external-gateway public

Afficher le pool de sous-réseaux IPv6 disponible

openstack subnet pool list --share | grep tenant-subnet-pool-v6

Créer un réseau

openstack network create test-network1

DUAL-STACK : créer un sous-réseau IPv4 (ignorer pour IPv6 uniquement)

openstack subnet create test-subnet1-ipv4 \
    --network test-network1 \
    --subnet-range 10.11.12.0/24

DUAL-STACK : attacher le sous-réseau IPv4 au routeur (ignorer pour IPv6 uniquement)

openstack router add subnet test-router1 test-subnet1-ipv4

Créer un sous-réseau IPv6

openstack subnet create test-subnet1-ipv6 \
    --network test-network1 \
    --ip-version 6 \
    --subnet-pool external-subnet-pool-v6 \
    --prefix-length 64 \
    --ipv6-ra-mode dhcpv6-stateless \
    --ipv6-address-mode dhcpv6-stateless

Attacher le sous-réseau IPv6 au routeur

openstack router add subnet test-router1 test-subnet1-ipv6

OPTIONNEL : créer un groupe de sécurité et des règles

SECURITY_GROUP=test-secgroup
openstack security group create ${SECURITY_GROUP}

DUAL-STACK : autoriser l'accès IPv4 (ignorer pour IPv6 uniquement)

openstack security group rule create ${SECURITY_GROUP} --ethertype IPv4 --protocol icmp --ingress --remote-ip 0.0.0.0/0
openstack security group rule create ${SECURITY_GROUP} --ethertype IPv4 --protocol icmp --egress --remote-ip 0.0.0.0/0
openstack security group rule create ${SECURITY_GROUP} --ethertype IPv4 --protocol tcp --dst-port 22 --remote-ip 0.0.0.0/0
openstack security group rule create ${SECURITY_GROUP} --ethertype IPv4 --protocol tcp --dst-port 80 --remote-ip 0.0.0.0/0

Autoriser l'accès IPv6

openstack security group rule create ${SECURITY_GROUP} --ethertype IPv6 --protocol ipv6-icmp --ingress --remote-ip "::/0"
openstack security group rule create ${SECURITY_GROUP} --ethertype IPv6 --protocol ipv6-icmp --egress --remote-ip "::/0"
openstack security group rule create ${SECURITY_GROUP} --ethertype IPv6 --protocol tcp --dst-port 22 --remote-ip "::/0"
openstack security group rule create ${SECURITY_GROUP} --ethertype IPv6 --protocol tcp --dst-port 80 --remote-ip "::/0"

Créer une VM de test

SERVER_ID=test-vm1-test
openstack server create ${SERVER_ID} \
    --flavor m1.small \
    --image "Ubuntu 24.04" \
    --network test-network1 \
    --key-name test-key \
    --security-group ${SECURITY_GROUP}

DUAL-STACK : attribuer une floating IP IPv4 (ignorer pour IPv6 uniquement)

FLOATING_IP=$(openstack floating ip create public -c floating_ip_address -f value)
openstack server add floating ip ${SERVER_ID} ${FLOATING_IP}

Afficher les adresses IP

openstack server show ${SERVER_ID} -c addresses