Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
183 changes: 107 additions & 76 deletions pages/dedibox-ip-failover/how-to/configure-debian-ubuntu.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,95 +7,126 @@ content:
paragraph: This page explains how to configure a Dedibox failover IP on Debian or Ubuntu Linux.
tags: failover-failover IP ip debian ubuntu dedibox linux
dates:
validation: 2025-01-30
validation: 2025-02-13
posted: 2021-07-29
categories:
- dedibox-network
---

This page shows you how to configure a [failover IP](/dedibox-ip-failover/concepts/#failover-ips) on Dedibox servers running on Debian or Ubuntu Linux.

This guide provides step-by-step instructions for configuring a Dedibox [failover IP](/dedibox-ip-failover/concepts/#failover-ips) on Debian and Ubuntu Linux. A failover IP is a secondary IP address that can be assigned to your server.


<Macro id="requirements" />

- A Dedibox account logged into the [console](https://console.online.net)
- [Created](/dedibox/how-to/order-a-server/) a Dedibox dedicated server


## Failover IP configuration on Debian

<Message type="note">
If you are using Ubuntu 18.04 or later, you should configure the interfaces using [Netplan](/dedibox-network/how-to/configure-network-netplan/).
</Message>

1. Connect to your server using SSH.
2. Open the network configuration file `/etc/network/interfaces` in a text editor, for example `nano`:
```
nano /etc/network/interfaces
```
3. Add the failover IP to the configuration as shown in the following example:
```
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 195.154.123.123
netmask 255.255.255.0
gateway 195.154.123.1
auto eth0:0
iface eth0:0 inet static
address ip_failover
netmask 255.255.255.255
```

<Message type="note">
The interface name `eth0` may vary, depending on your OS version and system configuration. Use the `ifconfig` command to determine the name of your primary network interface.
</Message>
4. Save the file and exit the editor.
5. Bring up the interface using the following command:
```
ifup eth0:0
```

## Failover IP configuration on Ubuntu

Since the release of version 18.04 (Bionic Beaver) Ubuntu has switched to [Netplan](https://netplan.io/) for the configuration of network interfaces.

It is a YAML-based configuration system, which simplifies the configuration process.

1. Connect to your Dedibox using SSH.
2. Open the Netplan configuration file of the main interface in a text editor, for example `nano`:
```
sudo nano /etc/netplan/01-netcfg.yaml
```
3. Edit the network configuration. The IP addresses have to be written with their [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation). The netmask is `/24` for the principal IP of the server and `/32` for each failover IP. Your configuration should look as in the following example:
```yaml
network:
renderer: networkd
ethernets:
ensXX:
1. Connect to your server using SSH and open the network configuration file `/etc/network/interfaces` in a text editor, such as `nano`:
```bash
nano /etc/network/interfaces
```
2. Add the failover IP to the configuration as shown in the following example:
```bash
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 195.154.123.123
netmask 255.255.255.0
gateway 195.154.123.1
auto eth0:0
iface eth0:0 inet static
address ip_failover
netmask 255.255.255.255
```
<Message type="note">
The interface name (`eth0` in this example) may vary depending on your OS version and system configuration. Use the `ifconfig` command to determine the name of your primary network interface.
</Message>

3. Save the file and exit the editor. Bring up the interface using the following command:
```bash
ifup eth0:0
```

## Failover IP configuration on Ubuntu (Netplan)

Since Ubuntu 18.04, Netplan has been the default network configuration system.

1. Disable cloud-init network configuration to prevent conflicts with Netplan:
```bash
sudo mkdir -p /etc/cloud/cloud.cfg.d
echo 'network: {config: disabled}' | sudo tee /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
```
<Message type="important">
This step is necessary to prevent cloud-init from overriding the Netplan configuration.
</Message>

2. Backup the existing Netplan configuration and create a new file:
```bash
sudo cp /etc/netplan/50-cloud-init.yaml /etc/netplan/01-myplan.yaml
sudo mv /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml-backup
```
4. Edit the new Netplan configuration file `/etc/netplan/01-myplan.yaml` using `nano`:
```yml
network:
renderer: networkd
ethernets:
enp5s0:
critical: true
dhcp-identifier: mac
dhcp4: false
dhcp6: false
addresses:
- 51.111.222.333/24 # Server main IP (/24)
- 212.111.222.333/32 # Alternate IPs / IP redirects (/32)
- 212.111.222.334/32
- 212.111.222.335/32
routes:
- to: 0.0.0.0/0
via: 62.210.0.1
metric: 1
on-link: true
nameservers:
addresses:
- <FAILOVER_IP>/32
routes:
- to: 62.210.0.1
- to: default
via: 62.210.0.1
nameservers:
addresses:
- 51.159.47.28
- 51.159.47.26 # Replace the IP of the DNS cache server with the one located in the same physical location as your machine for optimal performance (https://www.scaleway.com/en/docs/account/reference-content/scaleway-network-information/#dns-cache-servers)
search: []
version: 2
```
<Message type="tip">
* Make sure to respect the YAML standards when you edit the file, as it might not work if there is a syntax error in your configuration.
* You can find an extended list of [netplan configuration examples](https://github.com/canonical/netplan/tree/main/examples) in the official Canonical Netplan repository.
</Message>
4. Activate the new configuration by running the following command:
```
sudo netplan apply
```
- 51.159.69.156
- 51.159.69.162
enp6s0:
dhcp4: true
dhcp4-overrides:
use-routes: false
routes:
- to: 10.88.0.0/13 # Use appropriate IP/gateway from DHCP
via: 10.89.23.129
version: 2
```
<Message type="tip">
Ensure that indentation and formatting are correct to avoid YAML syntax errors.
</Message>

5. Run the following command to test the configuration:
```bash
sudo netplan try
```
6. If everything works as expected, apply the configuration:
```bash
sudo netplan apply
```
<Message type="important">
If there is an error in your configuration, it might render your network inaccessible. You may need to revert changes using [KVM/IPMI](/dedibox-kvm-over-ip/quickstart/) access.
</Message>

## Troubleshooting

If you encounter issues with your network configuration, check the logs using:
```bash
sudo journalctl -u systemd-networkd --no-pager
```
You can also refer to the [official Canonical repository](https://github.com/canonical/netplan/tree/main/examples) for more Netplan examples and troubleshooting guides.