You order an additional IPv4 address in the Overview tab with Order another IP. We attach a separate, additional network card to your server for it, add the address to the firewall (rule "Allow All (default)") and show the network card (for example net1) and its MAC address in the IP addresses card. You then configure the address in the operating system yourself - there is no DHCP server.
Why a separate routing table?
The firewall in front of your server only allows each network card's own address as sender. Without further configuration, however, the system sends replies of the additional address via the first card and the default route - these packets are dropped and the address appears "unreachable". This is why the additional address gets its own routing table: everything that originates from it leaves the server via its own card. Gateway and netmask are the same as for the main address.
Example values in this guide: main address 203.0.113.10, additional address 203.0.113.20, netmask /24 (255.255.255.0), gateway 203.0.113.1, MAC of the new card bc:24:11:4a:7e:21. Your real values are shown in the Overview tab in the IP addresses and Network configuration cards.
1. Find the network card
The name of the new card in the system depends on the operating system (for example ens19, enp6s19, eth1 or vtnet1). The MAC address from the customer area is unique:
ip -br link # Linux: Name und MAC aller Karten
ifconfig # FreeBSD
Back up first
Create a snapshot before changing the network and keep the web console at hand - it works even if the network stops working.
2a. Debian and Ubuntu (netplan)
Debian 13 and Ubuntu configure the network with netplan (the setup file is /etc/netplan/50-cloud-init.yaml - do not change it). Create a file of your own; the card is found by its MAC, the name does not matter. On Debian 12, first check with ls /etc/netplan whether netplan is used.
# /etc/netplan/60-zusatz-ip.yaml
network:
version: 2
ethernets:
zusatz0:
match:
macaddress: "bc:24:11:4a:7e:21"
addresses:
- 203.0.113.20/24
routes:
- to: default
via: 203.0.113.1
table: 101
- to: 203.0.113.0/24
scope: link
table: 101
routing-policy:
- from: 203.0.113.20
table: 101
chmod 600 /etc/netplan/60-zusatz-ip.yaml
netplan try # übernimmt die Einstellung und nimmt sie zurück, wenn Sie nicht bestätigen
netplan apply
2b. AlmaLinux, Rocky Linux, CentOS Stream and openSUSE Leap (NetworkManager)
These systems use NetworkManager. NetworkManager often creates an automatic DHCP profile for the new card (for example "Wired connection 1") - remove it so that your profile applies after a restart.
# Netzwerkkarte zur MAC finden (hier z. B. eth1)
ip -br link | grep -i bc:24:11:4a:7e:21
# Automatisch angelegtes DHCP-Profil der Karte entfernen (falls vorhanden)
nmcli -t -f NAME,DEVICE con show
nmcli con delete "Wired connection 1"
# Feste Adresse mit eigener Routing-Tabelle anlegen und aktivieren
nmcli con add type ethernet con-name zusatz-ip ifname eth1 \
ipv4.method manual ipv4.addresses 203.0.113.20/24 ipv4.never-default yes \
ipv4.routes "0.0.0.0/0 203.0.113.1 table=101, 203.0.113.0/24 table=101" \
ipv4.routing-rules "priority 100 from 203.0.113.20 table 101" \
ipv6.method disabled connection.autoconnect yes
nmcli con up zusatz-ip
2c. FreeBSD (rc.conf)
FreeBSD uses a second FIB for the separate routing table. Incoming connections on the new card are then answered via this card automatically.
# Karte zur MAC finden (hier z. B. vtnet1)
ifconfig | grep -B3 bc:24:11:4a:7e:21
# Zweite Routing-Tabelle (FIB) - dauerhaft und sofort
echo 'net.fibs=2' >> /boot/loader.conf
sysctl net.fibs=2
# Adresse auf der neuen Karte in FIB 1, Standardroute dieser FIB
sysrc ifconfig_vtnet1="inet 203.0.113.20 netmask 255.255.255.0 fib 1"
sysrc static_routes+=" zusatz"
sysrc route_zusatz="default 203.0.113.1 -fib 1"
service netif restart vtnet1
service routing restart
Programs that should establish connections from the additional address themselves are started on FreeBSD with setfib 1.
Further additional addresses
Every further address gets its own network card. Set it up the same way, but with its own table (102, 103 …) or on FreeBSD its own FIB (increase net.fibs accordingly).
3. Test
- From your computer:
ping 203.0.113.20and for examplessh root@203.0.113.20. - On the server, outgoing from the additional address:
ping -I 203.0.113.20 1.1.1.1(Linux) orsetfib 1 ping -S 203.0.113.20 1.1.1.1(FreeBSD). - Restart once and test again - this shows that the setting is stored permanently.
If the address does not respond, check in the Firewall log tab whether packets are dropped and whether the rule for the address is still active (Firewall). You can then also set the reverse DNS for the address.