Managing compute subnets

You can add, edit, and delete subnets of physical compute networks. Also, if you exhaust all public IP addresses in a physical compute network, you can add more subnets to this network by using the vinfra command-line tool. The new subnets will be available in the admin and self-service panel for IP address allocation and management.

Limitations

  • For an IPv6 subnet, you cannot change the IPv6 address mode.
  • A compute network with enabled IP address management must have at least one subnet.

Prerequisites

To add a subnet to a physical compute network

Admin panel

  1. On the Compute > Networks tab, click the desired physical network.
  2. In the Subnets section, click Add, and then select IPv4 subnet or IPv6 subnet, depending on the available option.
  3. In the new window, specify the subnet settings, and then click Add.

Command-line interface

Use the following command:

vinfra service compute subnet create [--dhcp | --no-dhcp] [--dns-nameserver <dns-nameserver>]
                                     [--allocation-pool <allocation-pool>] [--gateway <gateway> | --no-gateway]
                                     [--ipv6-address-mode {dhcpv6-stateful,dhcpv6-stateless,slaac}]
                                     --network <network> --cidr <cidr>
--dhcp
Enable DHCP
--no-dhcp
Disable DHCP
--dns-nameserver <dns-nameserver>
DNS server IP address. This option can be used multiple times.
--allocation-pool <allocation-pool>
Allocation pool to create inside the network in the format: <starting_ip_address>-<ending_ip_address>. This option can be used multiple times.
--gateway <gateway>
Gateway IP address
--no-gateway
Do not configure a gateway for this network.
--ipv6-address-mode {dhcpv6-stateful,dhcpv6-stateless,slaac}
IPv6 address mode. Valid modes are dhcpv6-stateful, dhcpv6-stateless, and slaac.
--network <network>
Network ID or name
--cidr <cidr>
Subnet range in CIDR notation

For example, to add an IPv6 subnet to the physical network public, run:

# vinfra service compute subnet create --network public --cidr 2001:bd8::/64 --ipv6-address-mode dhcpv6-stateful \
--dhcp --allocation-pool 2001:bd8::100-2001:bd8::200 --dns-nameserver 2001:4860:4860::8888

The created subnet will appear in the vinfra service compute subnet list output:

# vinfra service compute subnet list --network public -c id -c network_id -c cidr
+--------------------------------------+--------------------------------------+----------------+
| id                                   | network_id                           | cidr           |
+--------------------------------------+--------------------------------------+----------------+
| 8d2169a1-3459-4e87-9f5c-6d2d20353eea | d94545f0-c974-49ac-99f6-db6da73cd23d | 10.136.16.0/20 |
| afa4710a-a82c-4273-a1b0-72d5d2884be6 | d94545f0-c974-49ac-99f6-db6da73cd23d | 2001:bd8::/64  |
+--------------------------------------+--------------------------------------+----------------+

To add more subnets to a physical compute network

  1. Identify the required network by listing all of the existing networks:

    # vinfra service compute network list -c id -c name -c physical_network -c cidr
    +--------------------------------------+---------+------------------+------------------+
    | id                                   | name    | physical_network | cidr             |
    +--------------------------------------+---------+------------------+------------------+
    | 3cbd594b-a1ff-4ee4-a771-1010822607c4 | private |                  | 192.168.128.0/24 |
    | d94545f0-c974-49ac-99f6-db6da73cd23d | public  | Public           | 10.136.16.0/20   |
    +--------------------------------------+---------+------------------+------------------+
  2. Create a new subnet in the network by using the vinfra service compute subnet create command. For example:

    # vinfra service compute subnet create --network public --cidr 10.164.132.0/24 --gateway 10.164.132.1 \
    --dhcp --allocation-pool 10.164.132.201-10.164.132.250 --dns-nameserver 8.8.8.8

To edit a subnet of a physical compute network

Admin panel

  1. On the Compute > Networks tab, click the desired physical network.
  2. In the Subnets section, click the pencil icon next to the subnet you want to edit.
  3. In the Edit subnet window, change the subnet settings, and then click Save.

Command-line interface

Use the following command:

vinfra service compute subnet set [--dhcp | --no-dhcp] [--dns-nameserver <dns-nameserver>]
                                  [--allocation-pool <allocation-pool>]
                                  [--gateway <gateway> | --no-gateway] <subnet>
--dhcp
Enable DHCP
--no-dhcp
Disable DHCP
--dns-nameserver <dns-nameserver>
DNS server IP address. This option can be used multiple times.
--allocation-pool <allocation-pool>
Allocation pool to create inside the network in the format: <starting_ip_address>-<ending_ip_address>. This option can be used multiple times.
--gateway <gateway>
Gateway IP address
--no-gateway
Do not configure a gateway for this network.
<subnet>
Subnet ID

For example, to add more IP addresses to the subnet allocation pool, run:

# vinfra service compute subnet set 8d2169a1-3459-4e87-9f5c-6d2d20353eea --allocation-pool 10.136.18.201-10.136.18.250

To delete a subnet from a physical compute network

Admin panel

  1. On the Compute > Networks tab, click the desired physical network.
  2. In the Subnets section, click the bin icon next to the subnet you want to remove.

    You cannot delete the only subnet.

Command-line interface

Use the following command:

vinfra service compute subnet delete <subnet>
<subnet>
Subnet ID

For example, to delete the IPv6 subnet from the physical network public, run:

# vinfra service compute subnet delete afa4710a-a82c-4273-a1b0-72d5d2884be6