Skip to content

IPv6 Configuration inside the project

OpenStack users have the option to utilize a public IPv6 network pool. Instances connected to the IPv6 network do not require floating addresses since this addressing is public, and traffic is routed externally using the BGP protocol. This means that each instance with an IPv6 address becomes immediately visible on the Internet, and it is necessary to secure incoming traffic through appropriate security rules. By default, security rules block all external traffic.

Creating Networks and Subnets

When configuring the IPv6 network, ensure that the subnet is configured as follows:

  • Source network address: assigning a network address from the pool
  • Address pool: bgp-vlan92-pub0v6-pool1

In the "subnet details" tab, select the IPv6 address configuration mode.

  • SLAAC: Address is discovered from the OpenStack router

In this mode, the address is assigned by the router (Router Advertisement type SLAAC). Routing and address are assigned automatically. The DNS server may not work in this mode, and it must be configured manually.

  • SLAAC: Address discovered from an external router

This mode does not work in our network.

  • DHCPv6 stateful

Address, gateway, and DNS are configured by the DHCP service (Router Advertisement is performed by the DHCP service).

  • DHCPv6 stateless

The address is assigned by the router (Router Advertisement as in SLAAC mode), other data via DHCP.

CLI Commands

Creating a network (example name net-ipv6):

openstack network create net-ipv6

Creating a subnet (you can use the option --use-default-subnet-pool instead of naming the pool bgp-vlan92-pub0v6-pool1):

  • slaac mode

openstack subnet create --ip-version 6 --ipv6-ra-mode slaac --ipv6-address-mode slaac --use-default-subnet-pool --network net-ipv6 net-ipv6-subnet1
* dhcpv6-stateful mode
openstack subnet create --ip-version 6 --ipv6-ra-mode dhcpv6-stateful --ipv6-address-mode dhcpv6-stateful --use-default-subnet-pool --network net-ipv6 net-ipv6-subnet1
* dhcpv6 stateless mode
openstack subnet create --ip-version 6 --ipv6-ra-mode dhcpv6-stateless --ipv6-address-mode dhcpv6-stateless --use-default-subnet-pool --network net-ipv6 net-ipv6-subnet1

Creating a router and connecting the IPv6 network

openstack router create router1` `openstack router set --external-gateway PCSS-LABITAAS-IPV6-PUB0 router1` `openstack router add subnet router1 net-ipv6-subnet1

Creating a New Instance or Connecting an IPv6 Network to an Existing Instance

It is possible to create an instance that operates solely on an IPv6 network. However, metadata servers do not work in IPv6 mode, so cloud images supported by cloud-init will not configure the instance after its creation using network autoconfiguration (assigning a name, injecting SSH keys, running scripts, etc.). Therefore, one of two options must be used if instance configuration is to take place:

  1. Create an instance on the IPv4 network and add the IPv6 network as a second interface.
  2. Connect a configuration disk to the instance if using the IPv6 network as the only network used: