Additional IPv4 addresses and subnets on a dedicated server
An extra IPv4 address on a ZevsHost dedicated server costs $5/month per address. It is delivered either as a single address from the same network as the primary one, or as a block: a /29 or /28 subnet routed to the server. Single addresses are configured as aliases on the same interface; a subnet is more convenient when you hand addresses out to virtual machines or containers.
- An extra IPv4 costs $5/month per address, on every plan and in all three locations.
- A /29 holds 8 addresses but only 5 are usable for services: network, broadcast and gateway are taken.
- Binding outbound connections to a specific IP is done with the
srcroute option, not by editing application configs. - Buying an address does not open outbound SMTP: ports 25, 465 and 587 are closed by default and opened on request.
When you actually need more than one address
| Use case | Addresses needed | Alternative without buying |
|---|---|---|
| Several sites with separate certificates | 1 | SNI: one IP serves hundreds of TLS domains |
| Virtual machines with public addresses | one per VM | NAT plus port forwarding |
| Separating the control panel from the public site | 2 | Non-standard port plus a source filter |
The most common case where no purchase is needed is "one IP per domain for HTTPS". That requirement disappeared with SNI support: a single address serves any number of domains with their own certificates. The underlying addressing mechanics are covered in the article on IPv4 addresses.
Single addresses or a subnet
A single extra address comes from the same network as the primary one: same netmask, same gateway. You simply add it to the interface as a second address.
A subnet works differently: the block is routed to the server primary address and you allocate inside it yourself. That is the layout you want under a hypervisor when every virtual machine needs a public address; the hypervisor side is covered in the article on virtualization on a dedicated server.
| Prefix | Total addresses | Usable for services | Typical use |
|---|---|---|---|
| /29 | 8 | 5 | A handful of VMs or services |
| /28 | 16 | 13 | Small customer hosting |
Three addresses in every block go to addressing itself: network, broadcast and gateway. A CIDR subnet calculator does the arithmetic quickly.
Configuration in Linux
Ubuntu and Debian with netplan
# use a separate file so the provider config stays untouched
cat << 'EOF' > /etc/netplan/60-extra-ips.yaml
network:
version: 2
ethernets:
eth0:
addresses:
- 203.0.113.10/24
- 203.0.113.11/24
- 203.0.113.12/24
routes:
- to: default
via: 203.0.113.1
nameservers:
addresses: [1.1.1.1, 9.9.9.9]
EOF
chmod 600 /etc/netplan/60-extra-ips.yaml
# trial run that rolls back after 120 seconds if connectivity drops
netplan try
# apply for good
netplan apply
ip -4 addr show dev eth0
RHEL, AlmaLinux and Rocky
# add addresses to the existing connection
nmcli connection modify eth0 +ipv4.addresses 203.0.113.11/24
nmcli connection modify eth0 +ipv4.addresses 203.0.113.12/24
nmcli connection up eth0
nmcli -g ipv4.addresses connection show eth0
ip -4 addr show dev eth0
Never run netplan apply blind over SSH. A YAML indentation mistake, a wrong netmask or a lost default route cuts the server off the network, and the only way back is the IPMI console or rescue mode. Work in this order: run netplan try first, which rolls the change back after 120 seconds without confirmation, and only then netplan apply. The sign that all is well: ip route get 1.1.1.1 reports the gateway and source address you expect, and a second, already open SSH session stays alive.
Which address outbound connections use
By default the system sends outbound packets from the first address on the interface. If an external service must see a specific IP, pin it in the default route.
# which address goes out right now
ip route get 1.1.1.1
# pin the source address for all traffic
ip route replace default via 203.0.113.1 dev eth0 src 203.0.113.11
# send VMs from the internal network out through a dedicated public IP
iptables -t nat -A POSTROUTING -s 10.10.0.0/24 -o eth0 -j SNAT --to-source 203.0.113.12
PTR records, mail and address reputation
A PTR record for an extra address is set through a support request: you cannot change it yourself, since the reverse delegation zone belongs to the owner of the block. Without a correct PTR, receiving mail servers reject your messages, so set it up before launching a mail node.
One limitation to be clear about: outbound SMTP on ports 25, 465 and 587 is closed by default and opened on request for verified customers. Buying an extra IPv4 does not change that on its own; request the ports first, then configure the mail node.
If the goal is separating services rather than obtaining public IPv4 specifically, look at IPv6: addresses there come at no extra cost, and the setup is covered in the article on configuring IPv6 in Linux. Pricing for extra addresses and the other options is listed on the dedicated servers page.
Key takeaways
- An extra IPv4 costs $5/month and arrives either as a single address or as a routed /29 or /28 subnet.
- HTTPS across many domains needs no extra address, SNI covers it.
- Change network config with
netplan tryor with the IPMI console open, or you risk losing access. - The outbound address is chosen by the
srcroute option, and PTR records go through support.