Configuring Linux Networking
Server Academy Members Only
Sorry, this lesson is only available to Server Academy members. Create a free account now to get instant access to this and more free courses. Click the Sign Up Free button below to get access to our free courses now, or sign in if you have an account.
Instructions
Q&A (0)
Notes (0)
Resources (0)
Saving Progress...
Resources
There are no resources for this lesson.
Notes can be saved and accessed anywhere in the course. They also double as bookmarks so you can quickly review important lesson material.
In this lesson, you'll learn how to configure a static IP address on a Linux server with netplan. This is an essential skill for network management and server configuration, as it ensures that your server always has the same IP address, facilitating reliable and consistent access.
This is particularly important in environments where the server hosts websites, provides remote access, or runs network services. Unlike dynamic IP addresses assigned by DHCP (Dynamic Host Configuration Protocol), a static IP does not change, making it easier to set up DNS (Domain Name System) and firewall rules.
Understanding IP Address Configuration
Every device on a network, like a local network or the internet, requires an IP address to communicate. While DHCP can be used to automatically assign an IP address, a static IP address is manually configured and remains constant. This is particularly useful for servers that need to maintain the same address for consistent access or services.
Configuring a Static IP Address
To set a static IP address, you need to edit the network configuration files. The process can vary slightly depending on the Linux distribution and the network manager in use. In this example, we'll focus on Ubuntu Server, which is a popular choice for many server environments.
ip a
Editing the Netplan Configuration File: Ubuntu Server uses Netplan for network configuration. You'll find the configuration file in /etc/netplan/
. The filename can vary, but it usually ends with .yaml
. If I ls
or ll
the /etc/netplan/ directory I see the following file:
paulh@ubuntu-server:~$ ls /etc/netplan/
00-installer-config.yaml
Open the file with a text editor, like nano:
sudo nano /etc/netplan/00-installer-config.yaml
Replace 00-installer-config.yaml
with the actual filename in your system.
My yaml config file contains the following configuration to enable DHCP for IPv4:
# This is the network config written by 'subiquity'
network:
ethernets:
enp0s3:
dhcp4: true
version: 2
Setting the Static IP: In the Netplan configuration file, you'll see configurations under the ethernets
section. Modify the settings for your interface to something like this:
I have updated the netplan below by removing gateway4 and adding a routes entry since gateway4 is now depreciated in netplan
network:
version: 2
ethernets:
enp0s3:
dhcp4: no
addresses: [192.168.1.153/24]
routes:
to: 0.0.0.0/0
via: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
Replace enp0s3
with your network interface name. The addresses
field is where you set your desired static IP (in this case, 192.168.1.100
) and the subnet mask (/24
). The gateway4
is your network's gateway, and nameservers
are the DNS servers.
Applying these configurations will disconnect your SSH session because you're potentially changing your IPv4 address. Reconnect after applying to the newly assigned static IP, if that doesn't work, go back to VirtualBox and connect with the VirtualBox console by double clicking the VM.
Applying the Changes: After editing the configuration file, apply the changes with:
sudo netplan apply
This will apply the new network configuration. Because I am SSH'd into the VM, I get disconnected while the apply is in progress. I need to reconnect to the new IP address like so:
ssh paulh@192.168.1.153
When I run this command, I will get the authenticity verification prompt again. Enter yes
to connect:
The authenticity of host '192.168.1.153 (192.168.1.153)' can't be established.
ED25519 key fingerprint is SHA256:cmrP54cZeg7Xy+dH9eUgeH94ppMPDM8FnfEwFZD/EvM.
This host key is known by the following other names/addresses:
C:\Users\BlackIce/.ssh/known_hosts:13: 192.168.1.152
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Verifying the Configuration
You can verify that your static IP is set correctly by running:
ip a
Look for your network interface, and you should see the static IP address that you configured.
Server Academy Members Only
Want to access this lesson? Just sign up for a free Server Academy account and you'll be on your way. Already have an account? Click the Sign Up Free button to get started..