Skip to content
Odinex Cloud
Concepts

Networking

Public IPv4 and IPv6 addresses, private networks and floating IPs.

Odinex networking follows the model you may know from Hetzner Cloud: each server sits directly on the public network with its own addresses; private networks are separate, internal-only networks between your servers; floating IPs are extra addresses you move between servers yourself.

Public addresses (primary IPs)

A server gets one public IPv4 address and one IPv6 address. These are primary IPs in the API (GET /primary_ips) and belong to the server's location.

  • You can leave out either one when you create the server (public_net.enable_ipv4 / enable_ipv6, or --without-ipv4 / --without-ipv6 in the CLI), but a server needs at least one.
  • The IPv4 address is billed separately from the server; IPv6 is included. See Pricing.
  • The server receives its addresses automatically at boot; you don't need to configure them.
  • Each server gets a single IPv6 address, not a whole /64.
  • You can set reverse DNS on both.

Private networks

A private network connects servers in the same location over an internal network that is not reachable from the internet.

  • Choose the IPv4 range when you create the network. It must be inside 10.0.0.0/8, 172.16.0.0/12 or 192.168.0.0/16, between /16 and /28. The range can't be changed later.
  • Attach servers when you create them or later (attach_to_network). Each attached server gets an address from the range, or one you choose that is free and inside the range.
  • Private networks have no router or NAT. A server reaches the internet through its own public addresses; a server without any public address can't reach the internet.
odx network create --name backend --ip-range 10.0.0.0/16 --location fra1
odx server attach-to-network --network backend web-1

Floating IPs

A floating IP is an additional IPv4 or IPv6 address that you can assign to any server in its location and move to another server at any time, for example to fail over to a standby server. It is billed whether or not it is assigned.

odx floating-ip create --type ipv4 --name ip-1 --location fra1
odx floating-ip assign ip-1 web-1

Assigning routes the address to the server's public interface. The address does not configure itself inside the server: you have to add it to the network interface and announce it.

Configure the floating IP in the server and send a gratuitous ARP

After assigning a floating IPv4 address, add it to the server's public interface and announce it once with a gratuitous ARP. Until the server announces it, traffic may still go to the server that held the address before.

ip addr add 203.0.113.7/32 dev eth0
arping -U -c 3 -I eth0 203.0.113.7     # Ubuntu/Debian: apt install iputils-arping

Rebooting the server after you have made the address permanent has the same effect as the arping.

ip addr add does not survive a reboot. To make the address permanent on Ubuntu, add it to netplan, for example in /etc/netplan/60-floating-ip.yaml, and run netplan apply:

/etc/netplan/60-floating-ip.yaml
network:
  version: 2
  ethernets:
    eth0:
      addresses:
        - 203.0.113.7/32

The interface may have another name than eth0 on your image; check with ip addr. For a floating IPv6 address, add it the same way with its prefix length (ip -6 addr add 2001:db8::7/128 dev eth0).

When you move a floating IP to another server, remove it from the old server and configure and announce it on the new one.

On this page