Configure a Static IP on Linux — A Fast, Step-by-Step Guide

Configure a Static IP on Linux — A Fast, Step-by-Step Guide

Get predictable network addressing in minutes—this fast, step-by-step guide walks webmasters and developers through assigning and verifying a static IP on Linux, covering distro-specific methods, temporary testing, and VPS hosting tips.

Configuring a static IP on a Linux server is a fundamental task for system administrators, developers, and site operators who need predictable network addressing for services such as web servers, mail servers, VPNs, and remote management. This guide walks through the technical concepts, configuration methods across common distributions, practical use cases, and purchasing advice for VPS hosting where static IPs are required. It is aimed at webmasters, enterprise users, and developers who want a reliable, repeatable workflow to assign and verify a static IP on Linux systems.

Why choose a static IP?

A static IP provides a fixed network address that does not change between reboots or DHCP lease renewals. This is essential when:

  • DNS records (A/AAAA) must point to a stable address.
  • Firewall rules, port forwarding, or whitelist entries depend on an unchanging client or server IP.
  • SSL/TLS certificates, API integrations, or licensing systems tie to a specific IP.
  • Services like SMTP require PTR records (reverse DNS) to be configured to avoid being flagged as spam.

Underlying principles of static IP configuration

At the network stack level, an IP address is a property of a network interface. Configuring a static IP involves:

  • Assigning an address in the proper subnet with a compatible netmask (or prefix length).
  • Defining a default gateway (next-hop) for traffic destined outside the local network.
  • Specifying DNS resolvers for name resolution.
  • Optionally setting up routes, interface MTU, and alias addresses.

Linux supports several ways to set these properties:

  • Temporarily with ip and ifconfig commands (non-persistent).
  • Persistent configuration via distribution-specific network configuration files or system services (systemd-networkd, NetworkManager, /etc/network/interfaces, netplan).
  • Automation with cloud-init or provisioning tools (Ansible, Terraform) for reproducible deployments on VPS providers such as USA VPS.

Quick, temporary setup (useful for testing)

For immediate, non-persistent changes that help with testing or troubleshooting, use the ip utility. These changes are lost after a reboot.

Example:

  • Assign IP and netmask: ip addr add 203.0.113.10/24 dev eth0
  • Bring interface up: ip link set dev eth0 up
  • Set default route: ip route add default via 203.0.113.1
  • Set DNS temporarily: edit /etc/resolv.conf or use systemd-resolve --interface=eth0 --set-dns=8.8.8.8

Persistent methods by distribution

Different distributions use different configuration systems. Below are the most common approaches and precise configuration snippets.

Debian / Ubuntu (ifupdown with /etc/network/interfaces)

On older Debian/Ubuntu systems:

Append to /etc/network/interfaces:

auto eth0
iface eth0 inet static
address 203.0.113.10
netmask 255.255.255.0
gateway 203.0.113.1
dns-nameservers 8.8.8.8 8.8.4.4

Then restart networking: sudo systemctl restart networking or sudo ifdown eth0 && sudo ifup eth0.

Ubuntu Server (netplan)

Newer Ubuntu releases use netplan with YAML files under /etc/netplan/. Create or edit e.g. 01-netcfg.yaml:

network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses: [203.0.113.10/24] gateway4: 203.0.113.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]

Apply with: sudo netplan apply. Netplan is declarative and maps to systemd-networkd or NetworkManager depending on renderer.

CentOS / RHEL / Rocky Linux (ifcfg files)

Network scripts live in /etc/sysconfig/network-scripts/ifcfg-eth0. Example content:

TYPE=Ethernet
BOOTPROTO=none
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=203.0.113.10
PREFIX=24
GATEWAY=203.0.113.1
DNS1=8.8.8.8

Restart with: sudo systemctl restart network or nmcli con reload if using NetworkManager.

systemd-networkd

For minimal systems using systemd-networkd, create a .network file in /etc/systemd/network/:

[Match]Name=eth0

[Network]Address=203.0.113.10/24
Gateway=203.0.113.1
DNS=8.8.8.8

Enable and restart: sudo systemctl enable --now systemd-networkd.

Verifying the configuration

After applying configuration, verify connectivity and correctness:

  • Check interface state and address: ip addr show eth0
  • Check routing table: ip route show
  • Query DNS resolution: dig +short VPS.DO or getent hosts example.com
  • Ping gateway and external host: ping -c 3 203.0.113.1 and ping -c 3 8.8.8.8
  • Traceroute to confirm path: traceroute 8.8.8.8

For persistent DNS changes, ensure your distribution doesn’t overwrite /etc/resolv.conf (NetworkManager, resolvconf, systemd-resolved can manage it).

Advanced topics and best practices

When configuring static IPs in production, consider these technical details:

  • IP addressing scheme: Use proper subnetting and avoid address conflicts. Document addresses in an IPAM (IP Address Management) system.
  • Reverse DNS (PTR): For mail servers and some APIs, PTR records need to be set by the hosting provider. Request PTR setup from your VPS provider.
  • Multiple IPs and aliases: Add secondary addresses with additional Address lines in netplan/systemd-networkd or with ip addr add for quick testing.
  • Routing and multiple NICs: Use policy-based routing (ip rule) for complex multi-homed setups.
  • Security: Combine static IPs with firewall rules (iptables/nftables, ufw) and fail2ban for exposed services.
  • Automation: Manage network configuration as code via Ansible playbooks or cloud-init user-data for reproducible server builds.

Application scenarios and examples

Here are specific scenarios where static IPs are preferred:

Web hosting and DNS

When running web services you publish via DNS, a static IP ensures A/AAAA records remain accurate. For high-availability clusters, static internal IPs or virtual IPs (VIP) are used with keepalived or VRRP.

Mail servers

Mail delivery relies on consistent IPs and correct reverse DNS. Major mailbox providers evaluate sending IP reputation; a stable, clean static IP reduces the chance of being marked as spam.

VPN and remote access

When clients or services must connect to your server by IP, a static address simplifies client configuration. Static IPs also make firewall whitelisting straightforward.

API endpoints and partner integrations

Business integrations often whitelist specific IP addresses. A static IP avoids frequent updates to partner allowlists and reduces friction with third-party services.

Static IP vs DHCP — pros and cons

Understanding the trade-offs helps decide which approach fits your environment:

  • Static IP advantages: Predictability, easier firewall/DNS management, necessary for services requiring fixed addressing.
  • Static IP disadvantages: Manual management overhead, higher chance of misconfiguration or IP conflicts if not centrally managed.
  • DHCP advantages: Simplified central management, IP lease tracking, less manual work for large fleets.
  • DHCP disadvantages: Addresses can change unless DHCP reservations are used; requires DHCP server support and secure configuration.

Choosing a VPS and static IP considerations

When selecting a VPS provider for servers requiring static IPs, evaluate:

  • Whether the provider assigns static public IPv4 and IPv6 addresses by default, and if additional IPs are available.
  • Support for reverse DNS configuration (PTR records) and whether it’s editable from the control panel or by support ticket.
  • Network performance, dedicated bandwidth, and availability zones to reduce latency to your user base.
  • Management APIs and cloud-init support for automating IP configuration during provisioning.
  • Documentation quality and SSH/console access methods for troubleshooting network issues.

If you want a reliable, US-located VPS provider with straightforward static IP options, consider exploring solutions such as the USA VPS offering, which provides clear networking controls and additional IP provisioning suitable for production workloads.

Summary

Assigning a static IP on Linux is a core networking task that can be done temporarily with command-line tools or persistently through distribution-specific configuration systems like netplan, systemd-networkd, or legacy ifcfg/ifupdown files. For production servers, pay attention to routing, reverse DNS, DNS resolvers, and automation. Static IPs bring predictability and are essential for many services, but they require disciplined IP management to avoid conflicts. For VPS deployments where static IPs are a requirement, choose a provider that supports PTR records, API-driven provisioning, and dependable network performance. If you’re ready to deploy, see the USA VPS plans for options that match enterprise and developer needs.

Fast • Reliable • Affordable VPS - DO It Now!

Get top VPS hosting with VPS.DO’s fast, low-cost plans. Try risk-free with our 7-day no-questions-asked refund and start today!