Skip to content
Configuring DHCP Options

Configuring DHCP Options

With VPC, it’s possible to configure the virtual DHCP server to pass some DHCP options. This can be useful to easily configure your instances from a single place.

The following options are available:

  • [DHCP Option 6] DNS Servers.
  • [DHCP Option 42] NTP Servers.
  • [DHCP Option 119] Domain Search List.

Warning

These DHCP options apply globally to the entire instance, not just the VPC interface. For example, depending on your instance configuration, all DNS queries may be forwarded to the DNS server set in the VPC config.

Set DHCP Options when creating a VPC

You can create a VPC directly with DHCP options configured.

$ exo networking vpc create my-vpc --dns-server 8.8.8.8 --dns-server 1.1.1.1 --ntp-server 162.159.200.1 --ntp-server 216.239.35.0 --domain-search myorg.internal --domain-search exoscale.gva2.internal 
 ✔ Creating VPC "my-vpc"... 0s
┼──────────────┼────────────────────────────────────────────────────────────┼
│     VPC      │                                                            │
┼──────────────┼────────────────────────────────────────────────────────────┼
│ ID           │ ebd4b6c9-3a10-4850-983f-2411b650fa1f                       │
│ Name         │ my-vpc                                                     │
│ Description  │                                                            │
│ Default      │ false                                                      │
│ Zone         │ ch-gva-2                                                   │
│ Created At   │ 2026-10-27 15:32:22 +0000 UTC                              │
│ DHCP options │                                                            │
│              │   DNS Servers     8.8.8.8, 1.1.1.1                         │
│              │   NTP Servers     162.159.200.1, 216.239.35.0              │
│              │   Domain Search   myorg.internal, exoscale.gva2.internal   │
│              │                                                            │
│ Labels       │ n/a                                                        │
│ Subnets      │ -                                                          │
┼──────────────┼────────────────────────────────────────────────────────────┼

Then you can create a subnet and attach an instance to it.

$ exo networking vpc subnet create my-vpc my-subnet --address-family inet4 --address-space private --ipv4-block 10.0.0.0/24
 ✔ Creating Subnet "my-subnet"... 0s
┼────────────────┼──────────────────────────────────────┼
│   VPC SUBNET   │                                      │
┼────────────────┼──────────────────────────────────────┼
│ ID             │ 22a213de-8805-4d85-a0d2-ec0f01833bc6 │
│ Name           │ my-subnet                            │
│ Description    │                                      │
│ Zone           │ ch-gva-2                             │
│ Created At     │ 2026-10-27 15:52:55 +0000 UTC        │
│ Address Family │ inet4                                │
│ Address Space  │ private                              │
│ IPv4 Block     │ 10.0.0.0/24                          │
│ Labels         │ n/a                                  │
│ Instances      │ -                                    │
┼────────────────┼──────────────────────────────────────┼

$ exo compute instance attach-to-subnet my-instance my-vpc my-subnet 
 ✔ Attaching instance "my-instance" to Subnet "my-subnet"... 3s
┼─────────────────────────────────────────┼──────────────────────────────────────┼
│            COMPUTE INSTANCE             │                                      │
┼─────────────────────────────────────────┼──────────────────────────────────────┼
│ ID                                      │ 325b1bc1-5867-4c28-8aa0-d4ed49441e8f │
│ Name                                    │ my-instance                          │
│ Creation Date                           │ 2026-10-27 15:50:18 +0000 UTC        │
│ Instance Type                           │ standard.medium                      │
│ Template                                │ Linux Ubuntu 26.04 LTS 64-bit        │
│ Zone                                    │ ch-gva-2                             │
│ Anti-Affinity Groups                    │ n/a                                  │
│ Deploy Target                           │ -                                    │
│ Security Groups                         │ default                              │
│ Private Instance                        │ No                                   │
│ Elastic IPs                             │ n/a                                  │
│ Public IP                               │ inet4                                │
│ IP Address                              │ 85.217.162.215                       │
│ IPv6 Address                            │ -                                    │
│ Vpc                                     │ my-vpc                               │
│ Vpc Subnets                             │ my-subnet 10.0.0.143                 │
│ Private Networks                        │ n/a                                  │
│ Ip Forwarding                           │ false                                │
│ SSH Keys                                │ mykey                                │
│ Disk Size                               │ 50 GiB                               │
│ State                                   │ running                              │
│ Labels                                  │ n/a                                  │
│ Secure Boot                             │ false                                │
│ Tpm                                     │ false                                │
│ Reverse DNS                             │                                      │
│ Application-Consistent Snapshot enabled │ false                                │
┼─────────────────────────────────────────┼──────────────────────────────────────┼

Finally you can verify that the DHCP options are correctly propagated to the instances. For instances using systemd-networkd as network manager you can do:

$ networkctl status eth1
● 3: eth1
                   Link File: /usr/lib/systemd/network/99-default.link
                Network File: /run/systemd/network/zzzz-dracut-default.network
                       State: routable (configured)
                Online state: online                                          
                        Type: ether
                        Path: pci-0000:00:06.0
                      Driver: virtio_net
                      Vendor: Red Hat, Inc.
                       Model: Virtio network device
           Alternative Names: enp0s6
                              ens6
                              enx0e000006432f
            Hardware Address: 0e:00:00:06:43:2f
                         MTU: 1500 (min: 68, max: 65535)
                       QDisc: mq
IPv6 Address Generation Mode: eui64
    Number of Queues (Tx/Rx): 2/2
            Auto negotiation: no
                     Address: 10.0.0.143 (DHCPv4 via 10.0.0.1)
                              fe80::c00:ff:fe06:432f
                         DNS: 8.8.8.8
                              1.1.1.1
              Search Domains: myorg.internal
                              exoscale.gva2.internal
                         NTP: 162.159.200.1
                              216.239.35.0
           Activation Policy: up
         Required For Online: yes
            DHCPv4 Client ID: 0e:00:00:06:43:2f
          DHCPv6 Client DUID: DUID-EN/Vendor:0000ab11b02448dc497bb0e5

Oct 27 15:54:11 my-instance systemd-networkd[1004]: eth1: Configuring with /run/systemd/network/zzzz-dracut-default.network.
Oct 27 15:54:11 my-instance systemd-networkd[1004]: eth1: Link UP
Oct 27 15:54:11 my-instance systemd-networkd[1004]: eth1: Gained carrier
Oct 27 15:54:11 my-instance systemd-networkd[1004]: eth1: DHCPv4 address 10.0.0.143/32 acquired from 10.0.0.1
Oct 27 15:54:13 my-instance systemd-networkd[1004]: eth1: Gained IPv6LL

Set DHCP Options of an existing VPC

Warning

For the moment, you can only update DHCP Options on VPCs with no instance attached. Support for all VPCs is coming soon.

# Update the VPC to keep only one domain search

$ exo networking vpc update my-vpc --domain-search myorg.internal       
┼──────────────┼─────────────────────────────────────────────────┼
│     VPC      │                                                 │
┼──────────────┼─────────────────────────────────────────────────┼
│ ID           │ ebd4b6c9-3a10-4850-983f-2411b650fa1f            │
│ Name         │ my-vpc                                          │
│ Description  │                                                 │
│ Default      │ false                                           │
│ Zone         │ ch-gva-2                                        │
│ Created At   │ 2026-10-27 15:32:22 +0000 UTC                   │
│ DHCP options │                                                 │
│              │   DNS Servers     8.8.8.8, 1.1.1.1              │
│              │   NTP Servers     162.159.200.1, 216.239.35.0   │
│              │   Domain Search   myorg.internal                │
│              │                                                 │
│ Labels       │ n/a                                             │
│ Subnets      │                                                 │
│              │   my-subnet   10.0.0.0/24                       │
│              │                                                 │
┼──────────────┼─────────────────────────────────────────────────┼

Limits

The DHCP options are subject to the following limits per VPC:

  • DNS Servers: maximum 5 allowed.
  • NTP Servers: maximum 5 allowed.
  • Domain Search List: limited to 255 octets post RFC3397 compression.
Last updated on