If you’ve ever had to utilize a hosting provider that offers the option to buy extra IPs or failover IP addresses, you may have observed instances where these IPs shared the same gateway as your original IPs, rather than being part of the additional IP network.
Here are some of the providers I’m aware of that require this.
- OVH
- SoYouStart
The problem is when you use Cloudinit to deploy your VM’s on Ubuntu which uses netplan and unfortunately, there isn’t a method to configure netplan through Cloudinit to use a gateway that isn’t on the same network as the IP address.
I’m using Proxmox, and although you can create a custom network configuration for netplan.yml and deploy it as a snippet via Cloudinit. This isn’t ideal.
Canonical looks to have fixed the bug this year (2023) in January https://github.com/canonical/cloud-init/pull/1931
However, that most likely relates to the new Ubuntu LTS. I’ve tested this within Ubuntu 20.04, and the appropriate config is in place. Here’s the generated /etc/netplan/50-cloud-init.yaml
root@srv01:~# cat /etc/netplan/50-cloud-init.yaml # This file is generated from information provided by the datasource. Changes # to it will not persist across an instance reboot. To disable cloud-init's # network configuration capabilities, write a file # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following: # network: {config: disabled} network: version: 2 ethernets: eth0: addresses: - 147.135.0.0/24 match: macaddress: 02:00:00:79:e4:73 nameservers: addresses: - 213.186.33.99 search: - domain.com routes: - on-link: true to: default via: 15.0.0.254 set-name: eth0 eth1: dhcp4: true match: macaddress: 8a:ca:d3:4d:c9:28 set-name: eth1
Related Articles
https://linuxconfig.org/how-to-add-static-route-with-netplan-on-ubuntu-22-04-jammy-jellyfish-linux