The cloud images that we provide use cloud-init and DHCP to configure your instance network interfaces. There may be a situation where you want to disable cloud-init and/or DHCP and set your IP addresses statically. This can be accomplished a variety of ways. Feel free to use the configuration examples below as desired:

Example Netplan Configuration

  1. Log into your server.

  2. Get root: sudo -i

  3. Create a new cloud-init configuration file /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with contents:

    network: {config: disabled}

  4. Edit /etc/netplan/50-cloud-init.yaml. Remove the dhcp4 and dhcp6 lines and replace with:

    addresses:
      - <your IPv4 address>/24
      - "<your IPv6 address>/64"
    nameservers:
      addresses: [8.8.8.8, 8.8.4.4, 2001:4860:4860::8888, 2001:4860:4860::8844]
    gateway4: <your IPv4 gateway>
    gateway6: "<your IPv6 gateway>"


  5. Apply your changes: netplan apply (netplan try to verify first)

  6. Reboot to confirm cloud-init no longer configures networking (check for no new netplan file changes).

Other example configurations can be found on the Netplan website. DHCP (4 and 6) can be combined with static address configuration as well.

Example Interfaces Configuration (Debian)

  1. Log into your server.

  2. Create a new cloud-init configuration file /etc/cloud/cloud.cfg.d/95-debian-network-config.cfg with contents:

    network: {config: disabled}

  3. Edit /etc/network/interfaces.d/50-cloud-init.cfg and comment all lines related to eth0 (or any interface you want to statically configure).

  4. Edit /etc/network/interfaces. Replace iface eth0 inet dhcp with:

    iface eth0 inet static
        address <your IPv4 address>/24
        gateway <your IPv4 gateway>

    You can add IPv6 the same way:

    iface eth0 inet6 static
        address <your IPv6 address>/64
        gateway <your IPv6 gateway>

  5. Save and close the file. Then run ifdown eth0;ifup eth0 or reboot.

Example Sysconfig Configuration (CentOS 7)

  1. Log into your server.

  2. Replace the contents of /etc/cloud/cloud.cfg.d/90-centos-networking.cfg with:

    network: {config: disabled}

  3. Replace the contents of /etc/sysconfig/network-scripts/ifcfg-eth0 with:

    BOOTPROTO=static
    DEVICE=eth0
    ONBOOT=yes
    TYPE=Ethernet
    IPADDR=<your IPv4 address>
    PREFIX=24
    GATEWAY=<your IPv4 gateway>
    IPV6ADDR=<your IPv6 address>/64
    IPV6_DEFAULTGW=<your IPv6 gateway>

  4. Run the following commands to apply the changes:

    systemctl disable dhclient6.service
    ifdown eth0;ifup eth0 (or reboot)
Was this answer helpful? 7 Users Found This Useful (31 Votes)