title | excerpt | updated |
---|---|---|
Configuring IP aliasing |
Find out how to add Additional IP addresses to your VPS configuration |
2024-11-05 |
[!primary]
Since October 6th, 2022 our service "Failover IP" is named Additional IP. This renaming has no effect on its technical features.
IP aliasing refers to a special network configuration for certain OVHcloud services. Additional IPs allow you to associate multiple IP addresses with a single network interface.
This guide explains how to add Additional IP addresses to your network configuration.
Warning
OVHcloud is providing you with services for which you are responsible, with regard to their configuration and management. You are therefore responsible for ensuring they function correctly.
This guide is designed to assist you in common tasks as much as possible. Nevertheless, we recommend that you contact a specialist service provider and/or discuss the issue with our community on https://community.ovh.com/en/ if you have difficulties or doubts concerning the administration, usage or implementation of services on a server.
- A Virtual Private Server in your OVHcloud account
- An Additional IP address
- Administrative access (sudo) via SSH or GUI to your server
- Basic networking and administration knowledge
The following sections contain the configurations for the most commonly used distributions/operating systems. The first step is always to log in to your server via SSH or a GUI login session (RDP for a Windows VPS). The examples below presume you are logged in as a user with elevated permissions (Administrator/sudo).
[!primary]
Concerning different distribution releases, please note that the proper procedure to configure your network interface as well as the file names may have been subject to change. We recommend to consult the manuals and knowledge resources of the respective OS versions if you experience any issues.
Please take note of the following terminology that will be used in code examples and instructions of the guide sections below:
Term | Description | Examples |
---|---|---|
ADDITIONAL_IP | An Additional IP address assigned to your service | 203.0.113.0 |
NETWORK_INTERFACE | The name of the network interface | eth0, ens3 |
ID | ID of the IP alias, starting with 0 (depending on the number of additional IPs there are to configure) | 0, 1 |
Open the following file path with a text editor, in our example, we are using nano
.
sudo nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
Enter the following line, then save and exit the editor.
network: {config: disabled}
Creating this configuration file will prevent changes to your network configuration from being made automatically.
By default, the configuration file is located in the path etc\network\interfaces.d
.
In our example, our file is called 50-cloud-init
, so we make a copy of the 50-cloud-init
file using the following command:
sudo cp /etc/network/interfaces.d/50-cloud-init /etc/network/interfaces.d/50-cloud-init.bak
In case of a mistake, you will be able to revert the changes, using the commands below:
sudo rm -f /etc/network/interfaces.d/50-cloud-init
sudo cp /etc/network/interfaces.d/50-cloud-init.bak /etc/network/interfaces.d/50-cloud-init
The first step is to verify your network interface name with this command:
ip a
Next, open the network configuration file for editing with the following command:
sudo nano /etc/network/interfaces.d/50-cloud-init
To configure your Additional IP, you need to add a virtual interface or ethernet alias to your network interface. In our example, our interface is called eth0
, so our first alias is eth0:0
. Do this for each Additional IP you wish to configure.
Do not modify the existing lines in the configuration file, simply add your Additional IP to the file as follows, replacing NETWORK_INTERFACE
, ID
and ADDITIONAL_IP
wih your own values:
auto NETWORK_INTERFACE:ID
iface NETWORK_INTERFACE:ID inet static
address ADDITIONAL_IP
netmask 255.255.255.255
If you are configuring more than one Additional IP, your configuration file should look like this:
auto NETWORK_INTERFACE:ID
iface NETWORK_INTERFACE:ID inet static
address ADDITIONAL_IP1
address ADDITIONAL_IP2
netmask 255.255.255.255
Configuration example:
auto eth0:0
iface eth0:0 inet static
address 203.0.113.0
netmask 255.255.255.255
Apply the changes with the following command:
sudo systemctl restart networking
The configuration file for your Additional IP addresses is located in the folder /etc/netplan/
. In this example it is called 50-cloud-init.yaml
.
The best practice approach is to create a separate configuration file to set up Additional IP addresses. This way, you can easily revert the changes in case of an error.
In our example, our file is call 51-cloud-init.yaml
:
sudo touch /etc/netplan/51-cloud-init.yaml
You can verify your network interface name with this command:
ip a
Next, open the network configuration file for editing with the following command:
sudo nano /etc/netplan/51-cloud-init.yaml
Edit the file with the content below, replacing INTERFACE_NAME
and ADDITIONAL_IP
with your own values:
network:
version: 2
ethernets:
INTERFACE_NAME:
dhcp4: true
addresses:
- ADDITIONAL_IP1/32
If you have more Additional IPs to configure, the configuration file should look like this:
network:
version: 2
ethernets:
INTERFACE_NAME:
dhcp4: true
addresses:
- ADDITIONAL_IP1/32
- ADDITIONAL_IP2/32
Warning
It is important to respect the alignment of each element in this file as represented in the example above. Do not use the tab key to create your spacing.
Configuration example:
network:
version: 2
ethernets:
eth0:
dhcp4: true
addresses:
- 203.0.113.0/32
Save and close the file.
You can test your configuration using this command:
sudo netplan try
If it is correct, apply it using the following command:
sudo netplan apply
The main configuration file is located in /etc/sysconfig/network-scripts/
. In this example it is called ifcfg-eth0
. Before making changes, verify the actual file name in this folder.
For each Additional IP to be configured, we create a seperate configuration file with the following parameters: ifcfg-NETWORK_INTERFACE:ID
. Where NETWORK_INTERFACE
is the physical interface and ID
is the virtual network interface or ethernet alias starting with a value of 0. For example, for our interface named eth0
the first alias is eth0:0
, the second alias is eth0:1
, etc...
ip a
First, create the configuration file. Replace NETWORK_INTERFACE:ID
with your own values.
sudo nano /etc/sysconfig/network-scripts/ifcfg-NETWORK_INTERFACE:ID
Next, edit the file with the content below, replacing NETWORK_INTERFACE:ID
, and ADDITIONAL_IP
with your own values:
DEVICE=NETWORK_INTERFACE:ID
ONBOOT=yes
BOOTPROTO=none # For CentOS use "static"
IPADDR=ADDITIONAL_IP
NETMASK=255.255.255.255
BROADCAST=ADDITIONAL_IP
Configuration example:
DEVICE=eth0:0
ONBOOT=yes
BOOTPROTO=none # For CentOS use "static"
IPADDR=203.0.113.0
NETMASK=255.255.255.255
BROADCAST=203.0.113.0
sudo systemctl restart network
sudo systemctl restart NetworkManager
Fedora now uses keyfiles. NetworkManager previously stored network profiles in ifcfg format in this directory: /etc/sysconfig/network-scripts/
. However, the ifcfg format is now deprecated. By default, NetworkManager no longer creates new profiles in this format. The configuration file is now found in /etc/NetworkManager/system-connections/
.
In our example, our file is called cloud-init-eno1.nmconnection
, so we make a copy of the cloud-init-eno1.nmconnection
file using the following command:
sudo cp -r /etc/NetworkManager/system-connections/cloud-init-eno1.nmconnection /etc/NetworkManager/system-connections/cloud-init-eno1.nmconnection.bak
In case of a mistake, you will be able to revert the changes, using the commands below:
sudo rm -f /etc/NetworkManager/system-connections/cloud-init-eno1.nmconnection
sudo cp /etc/NetworkManager/system-connections/cloud-init-eno1.nmconnection.bak /etc/NetworkManager/system-connections/cloud-init-eno1.nmconnection
[!primary] Please note that the name of the network file in our example may differ from yours. Please adapt the commands to your file name.
sudo nano /etc/NetworkManager/system-connections/cloud-init-eno1.nmconnection
Do not modify the existing lines in the configuration file, add your Additional IP to the file as follows, replacing ADDITIONAL_IP/32
wih your own values:
[ipv4]
method=auto
may-fail=false
address1=ADDITIONAL_IP/32
If you have two Additional IPs to configure, the configuration should look like this:
[ipv4]
method=auto
may-fail=false
address1=ADDITIONAL_IP1/32
address2=ADDITIONAL_IP2/32
Configuration example:
[ipv4]
method=auto
may-fail=false
address1=203.0.113.0/32
You now need to restart your interface:
sudo systemctl restart NetworkManager
In the WHM control panel, click on IP Functions
{.action} and select Add a New IP Address
{.action} in the left-hand sidebar.
Enter your Additional IP in the form xxx.xxx.xxx.xxx
into the field “New IP or IP range to add”.
Select 255.255.255.255
as your subnet mask, then click on Submit
{.action}.
Warning
Please note that if you have more than one IP to configure on the same block and you add them all at once, the WHM system will force you to use the subnet mask 255.255.255.0
. We do not recommend using this configuration. Instead, you need to add each IP individually in order to use the proper subnet mask 255.255.255.255
.
Back in the section IP Functions
{.action}, click on Show or Delete Current IP Addresses
{.action} to verify that the Additional IP address was added correctly.
In the Plesk control panel, choose Tools & Settings
{.action} from the left-hand sidebar.
Click on IP Addresses
{.action} under Tools & Resources.
In this section, click on the button Add IP Address
{.action}.
Enter your Additional IP in the form xxx.xxx.xxx.xxx/32
into the field "IP address and subnet mask", then click on OK
{.action}.
Back in the section "IP Addresses", verify that the Additional IP address was added correctly.
Right-click on the Start Menu
{.action} button and open Run
{.action}.
Type cmd
and click OK
{.action} to open the command line application.
In order to retrieve the current IP configuration, enter ipconfig
at the command prompt.
C:\Users\Administrator>ipconfig
Windows IP Configuration
Ethernet adapter Ethernet:
Connection-specific DNS Suffix . : openstacklocal
Link-local IPv6 Address . . . . . : fe90::30gf:258a:84d6:abcf%5
IPv4 Address. . . . . . . . . . . : 192.0.2.29
Subnet Mask . . . . . . . . . . . : 255.255.255.255
Default Gateway . . . . . . . . . : 192.0.2.1
Now you need to change the IP properties to a static configuration.
- Go to
Start
{.action}>Control Panel
{.action}>Network and Internet
{.action}>Network and Sharing Centre
{.action}>Change Adapter Settings
{.action}(in the left-hand menu). - Right-click on
Ethernet
{.action}. - Click on
Properties
{.action}. - Select
Internet Protocol Version 4 (TCP/IPv4)
{.action}, then click onProperties
{.action}. - Click on
Use the following IP address
{.action} and type in your server’s primary IP, subnet mask and default gateway information obtained by using theipconfig
{.action} command above. In the "Preferred DNS Server" box, type213.186.33.99
.
Warning
Be careful – the server will no longer be accessible if you enter incorrect information. You will then have to make the corrections in the KVM.
Once done, click on Advanced
{.action}.
In the new window, click on Add...
{.action} under "IP addresses". Enter your Additional IP address and the subnet mask (255.255.255.255).
Confirm by clicking on Add
{.action}.
Once done, click on OK
{.action} to apply the configuration.
You will lose the connection to the server for a few seconds.
Open the command prompt (cmd) and enter ipconfig
. The configuration should now include the new Additional IP address.
C:\Users\Administrator>ipconfig
Windows IP Configuration
Ethernet adapter Ethernet:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe90::30gf:258a:84d6:abcf%5
IPv4 Address. . . . . . . . . . . : 192.0.2.29
Subnet Mask . . . . . . . . . . . : 255.255.255.255
IPv4 Address. . . . . . . . . . . : 203.0.113.0
Subnet Mask . . . . . . . . . . . : 255.255.255.255
Default Gateway . . . . . . . . . : 192.0.2.1
First, restart your server from the command line or its GUI. If you are still unable to establish a connection from the public network to your alias IP and suspect a network problem, you need to reboot the server in rescue mode. Then you can set up the Additional IP address directly on the server.
Once you are connected to your server via SSH, enter the following command:
ifconfig ens3:0 ADDITIONAL_IP netmask 255.255.255.255 broadcast ADDITIONAL_IP up
To test the connection, simply ping your Additional IP from the outside. If it responds in rescue mode, that probably means that there is a configuration error. If, however, the IP is still not working, please inform our support teams by creating a support request for further investigations.
If you would like assistance using and configuring your OVHcloud solutions, please refer to our support offers.
Join our community of users.