How to Configure a Static IP Address on Ubuntu Linux with Proper Permissions

In this article, we’ll walk through the simple steps to configure a static IP address on an Ubuntu Linux system using Netplan, and ensure the configuration file has the correct permissions for security. We will also cover updating the /etc/hosts file for hostname resolution.


Step 1: Edit the Netplan Configuration File

Netplan is the default network configuration tool in Ubuntu 18.04 and later. The configuration files are located in /etc/netplan/.

Open the Netplan configuration file for editing with your preferred text editor:

sudo nano /etc/netplan/01-netcfg.yaml

Step 2: Configure Static IP Address, Gateway, and DNS

Replace the content (or add if empty) with the following example configuration. Adjust the IP addresses and interface name (ens160) to fit your environment.

 
network:
version: 2
ethernets:
ens160:
addresses:
- 192.168.0.61/24 # Static IP address with subnet mask
routes:
- to: 0.0.0.0/0 # Default route (gateway)
via: 192.168.0.1 # Your gateway/router IP
nameservers:
addresses:
- 192.168.0.10 # Your Windows DNS server IP
- 8.8.8.8 # Optional fallback DNS (Google DNS)

Save and exit the editor (Ctrl + O, Enter, then Ctrl + X in nano).


Step 3: Secure the Netplan Configuration File

To prevent unauthorized modifications, restrict the permissions of the Netplan config file so only root can read/write it:


sudo chmod 600 /etc/netplan/01-netcfg.yaml

Step 4: Apply the Network Configuration

Run the following command to apply your changes:

 
sudo netplan apply

Step 5: Update the /etc/hosts File for Hostname Resolution

Edit the /etc/hosts file to map your static IP to a hostname. This helps the system resolve hostnames locally.

 
sudo nano /etc/hosts

Add a line similar to this, adjusting to your IP and hostname:

 
192.168.0.61 Kubenode01.abcxyz.net Kubenode01

Save and exit the file.


Conclusion

You have successfully configured a static IP address on your Ubuntu system with appropriate file permissions and updated your local hostname resolution. This setup is essential for servers, Kubernetes nodes, and other network-critical machines that require a stable IP configuration.

Leave a Reply

Your email address will not be published. Required fields are marked *

Post comment