If you need to configure networking for your colocated server, this is where you can find that information.
Quick TL;DR
We don’t expose your public IPv4 or IPv6 address directly to your system. You’ll need to statically assign the transit IP addresses for your server, then use your routed public addresses as the preferred source addresses. When your server is racked and ready to use, you’ll receive an email with your public IP addresses, IPv6 allocation, and colocation ID allocation. We do not support DHCP for colocated server IP assignment. Your static IP configuration for your server should look something like this. In this example, $ID is your colocation ID/port, $PUBLIC_IP is your routed public IPv4 address, $PUBLIC_IPV6 is your assigned public IPv6 address, and $IPV6_DELEGATED_PREFIX is your delegated IPv6 prefix:
See IPMI for more information about IPMI access. More information about our networking configuration for IPMI is at the bottom of this page.
See below for a more detailed description of the setup process according to your networking setup.
Firewall Configuration
Fyra Stack colocation does not run your traffic through a NAT. That means you are responsible for configuring your firewall to protect your server. We recommend using ufw or iptables to configure your firewall. We also recommend changing your SSH port, as it will be exposed to the public internet and susceptible to brute-force attacks. Refer to your distribution’s documentation, or see our documentation for VPS hardening. If you are using a firewall, make sure to allow traffic to your public IP addresses and transit IP addresses.
For compatibility, our router configuration will pass through any traffic from your assigned transit IP (ending in .4) to your public IP. This is primarily in case you use something like Podman or Docker that doesn’t follow standard routes. Any inbound traffic MUST still listen on the public IPv4 address; this backup NAT only applies to outbound traffic.
Because we don’t support DHCP, make sure you configure DNS as it will not be configured by default. We recommend Cloudflare DNS, Quad9, or self-hosting Unbound DNS, depending on how concerned you are about privacy. We peer directly with Cloudflare, so Cloudflare DNS will likely be fastest.
Debian (/etc/network/interfaces)
Example configuration for Debian systems using /etc/network/interfaces for networking configuration. This assumes an interface name of eno3.
auto lo
iface lo inet loopback
up ip addr add $PUBLIC_IP/32 dev lo || true
down ip addr del $PUBLIC_IP/32 dev lo || true
up ip -6 addr add $PUBLIC_IPV6/128 dev lo || true
down ip -6 addr del $PUBLIC_IPV6/128 dev lo || true
auto eno3
iface eno3 inet static
address 10.30.$ID.4/24
gateway 10.30.$ID.254
post-up ip route replace default via 10.30.$ID.254 dev eno3 src $PUBLIC_IP
post-up sysctl -w net.ipv4.conf.all.rp_filter=0
post-up sysctl -w net.ipv4.conf.eno3.rp_filter=0
post-up sysctl -w net.ipv4.conf.lo.rp_filter=0
iface eno3 inet6 static
address 2602:f41f:10:11$ID::4/64
post-up ip -6 route replace default via fe80::$VLAN:ffff dev eno3 src $PUBLIC_IPV6
pre-down ip -6 route del default via fe80::$VLAN:ffff dev eno3 || true
systemd-networkd
Example configuration for systems using systemd-networkd. This assumes a network interface name of eno3.
Create a file at /etc/systemd/network/10-eno3.network (change the interface name accordingly). The following are example contents:
For Ubuntu/Debian systems using Netplan with networkd, create or edit the file at /etc/netplan/00-installer-config.yaml. This example assumes your network interface is named eno3.
Not all versions of Netplan support loopback address management, so use systemd-networkd if you’re not sure what your version supports. Create a file at /etc/systemd/network/10-lo.network:
If you know that your version of Netplan supports loopback management, you can place your public IP addresses directly on your interface in /etc/netplan/00-installer-config.yaml:
If NetworkManager rejects the src= route attribute, use a dispatcher script instead. Create /etc/NetworkManager/dispatcher.d/90-colo-public-source (assuming your interface is named eno3):
#!/bin/sh
IFACE="$1"
ACTION="$2"
[ "$IFACE" = "eno3" ] || exit 0
[ "$ACTION" = "up" ] || exit 0
ip addr replace 10.30.$ID.4/24 dev eno3
ip addr add $PUBLIC_IP/32 dev lo 2>/dev/null || true
ip route replace default via 10.30.$ID.254 dev eno3 src $PUBLIC_IP
ip -6 addr replace 2602:f41f:10:11$ID::4/64 dev eno3
ip -6 addr add $PUBLIC_IPV6/128 dev lo 2>/dev/null || true
ip -6 route replace default via fe80::$VLAN:ffff dev eno3 src $PUBLIC_IPV6
sysctl -w net.ipv4.conf.all.rp_filter=0 >/dev/null
sysctl -w net.ipv4.conf.eno3.rp_filter=0 >/dev/null
sysctl -w net.ipv4.conf.lo.rp_filter=0 >/dev/null
nmcli connection down "<connection-name>"
nmcli connection up "<connection-name>"
A Note on IPMI and DHCP Networking
Your IPMI interface will receive its own IP address over DHCP. Typically, we assign it the IP address of 10.30.$ID.5, but anything on your server that tries to connect over DHCP will connect to something in the IP range of 10.30.$ID.5–10.30.$ID.100. Anything that is not on your transit IP address will not be publicly accessible. For this reason, make sure your server has its networking statically configured.
Post-Networking Setup
We strongly recommend that you harden your system and its configuration after setting up networking. See our VPS hardening documentation for some recommendations. Specifically, we recommend changing your SSH port, setting up a firewall, and setting up fail2ban for SSH.
Colocation Networking
If you need to configure networking for your colocated server, this is where you can find that information.
Quick TL;DR
We don’t expose your public IPv4 or IPv6 address directly to your system. You’ll need to statically assign the transit IP addresses for your server, then use your routed public addresses as the preferred source addresses. When your server is racked and ready to use, you’ll receive an email with your public IP addresses, IPv6 allocation, and colocation ID allocation. We do not support DHCP for colocated server IP assignment. Your static IP configuration for your server should look something like this. In this example,
$IDis your colocation ID/port,$PUBLIC_IPis your routed public IPv4 address,$PUBLIC_IPV6is your assigned public IPv6 address, and$IPV6_DELEGATED_PREFIXis your delegated IPv6 prefix:See IPMI for more information about IPMI access. More information about our networking configuration for IPMI is at the bottom of this page.
See below for a more detailed description of the setup process according to your networking setup.
Firewall Configuration
Fyra Stack colocation does not run your traffic through a NAT. That means you are responsible for configuring your firewall to protect your server. We recommend using
ufworiptablesto configure your firewall. We also recommend changing your SSH port, as it will be exposed to the public internet and susceptible to brute-force attacks. Refer to your distribution’s documentation, or see our documentation for VPS hardening. If you are using a firewall, make sure to allow traffic to your public IP addresses and transit IP addresses.For compatibility, our router configuration will pass through any traffic from your assigned transit IP (ending in .4) to your public IP. This is primarily in case you use something like Podman or Docker that doesn’t follow standard routes. Any inbound traffic MUST still listen on the public IPv4 address; this backup NAT only applies to outbound traffic.
Because we don’t support DHCP, make sure you configure DNS as it will not be configured by default. We recommend Cloudflare DNS, Quad9, or self-hosting Unbound DNS, depending on how concerned you are about privacy. We peer directly with Cloudflare, so Cloudflare DNS will likely be fastest.
Debian (/etc/network/interfaces)
Example configuration for Debian systems using
/etc/network/interfacesfor networking configuration. This assumes an interface name ofeno3.systemd-networkd
Example configuration for systems using
systemd-networkd. This assumes a network interface name ofeno3.Create a file at
/etc/systemd/network/10-eno3.network(change the interface name accordingly). The following are example contents:Configure your public IP addresses on interface
loby creating/etc/systemd/network/10-lo.network:Netplan
For Ubuntu/Debian systems using Netplan with
networkd, create or edit the file at/etc/netplan/00-installer-config.yaml. This example assumes your network interface is namedeno3.Not all versions of Netplan support loopback address management, so use
systemd-networkdif you’re not sure what your version supports. Create a file at/etc/systemd/network/10-lo.network:If you know that your version of Netplan supports loopback management, you can place your public IP addresses directly on your interface in
/etc/netplan/00-installer-config.yaml:NetworkManager
If your system is using
NetworkManager, follow these instructions:First, find your connection name:
Next, modify that connection:
If
NetworkManagerrejects thesrc=route attribute, use a dispatcher script instead. Create/etc/NetworkManager/dispatcher.d/90-colo-public-source(assuming your interface is namedeno3):Make that file executable:
Then reconnect:
A Note on IPMI and DHCP Networking
Your IPMI interface will receive its own IP address over DHCP. Typically, we assign it the IP address of
10.30.$ID.5, but anything on your server that tries to connect over DHCP will connect to something in the IP range of10.30.$ID.5–10.30.$ID.100. Anything that is not on your transit IP address will not be publicly accessible. For this reason, make sure your server has its networking statically configured.Post-Networking Setup
We strongly recommend that you harden your system and its configuration after setting up networking. See our VPS hardening documentation for some recommendations. Specifically, we recommend changing your SSH port, setting up a firewall, and setting up fail2ban for SSH.