3v-Hosting Blog

Network Configuration in Ubuntu 22.04

Administration

5 min read


Efficient network configuration is a fundamental requirement for any server or desktop running Ubuntu 22.04. It is essential for system administrators and users to understand how to manage network settings effectively, given the advancements in networking technology and Ubuntu's consistent commitment to innovation. This article explores the nuances of network configuration, highlighting different perspectives, tools, and best practices.

 

 

 


Introduction to Ubuntu 22.04 Networking

 

Ubuntu 22.04 is a long-term support (LTS) release. It introduces robust features and tools for network management. It relies heavily on Netplan, a declarative networking configuration tool, for managing network interfaces. Netplan provides a simplified YAML-based approach for defining complex networking setups. This is especially useful in cloud environments.

 

Before diving into the configuration, it’s critical to understand the network layers involved:

    Hardware Layer: Network interface cards (NICs) and physical connections.
    Kernel Layer: Drivers and modules facilitating hardware communication.
    User Layer: Tools like Netplan, NetworkManager, and legacy methods.

 

 

 

 

Setting Up a Static IP Address

 

Configuring a static IP address is a common task for servers to ensure continuous availability. In such cases, the IP address once written in the server configuration will be permanent and unchanging until you change it in the configuration file. Here's how to do it with Netplan:


Locate the Netplan Configuration File: Netplan configuration files are located in /etc/netplan/. Typically, the default file is named 01-netcfg.yaml or similar.
Edit the Configuration File: Use a text editor such as nano to modify the file:

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

   

    Example configuration for a static IP:

    network:
      version: 2
      ethernets:
        ens33:
          dhcp4: no
          addresses:
            - 192.168.1.100/24
          gateway4: 192.168.1.1
          nameservers:
            addresses:
              - 8.8.8.8
              - 8.8.4.4


Apply the Configuration: After saving the changes, apply them using:

    sudo netplan apply


Verify the Configuration: Use the ip a command to confirm the changes:

    ip a

 

 

 


Configuring DHCP for Dynamic IP Allocation

 

Dynamic Host Configuration Protocol (DHCP) is suitable for environments in which devices frequently connect to or leave the network. In this case, it is convenient that IP addresses are distributed to devices centrally from a network device, which will keep a table of matching end devices with their IP addresses, but which may change each time they connect to the network. Enabling DHCP for an interface is easy with Netplan.

Modify the configuration file:

    network:
      version: 2
      ethernets:
        ens33:
          dhcp4: yes

 

Apply the configuration:

    sudo netplan apply

This approach simplifies network management by delegating IP allocation to a DHCP server.

 

 


 

Other useful articles in our Blog:


    - Nano Text Editor and How to Use It

    - How to add or remove a user on Linux systems

    - What is LVM and how to create LVM on Ubuntu

    - How To Install and Use Docker on Ubuntu 22.04

 


 

 

Bridging and Bonding Network Interfaces

 

Ubuntu 22.04 supports advanced configurations like bridging and bonding for high availability and virtualized environments.

 

Bridging: Commonly used for virtual machines (VMs) to share a host's physical network interface. Example configuration:

    network:
      version: 2
      bridges:
        br0:
          interfaces:
            - ens33
          dhcp4: yes


Bonding: Combines multiple NICs for redundancy or increased bandwidth. Example:

    network:
      version: 2
      ethernets:
        ens33:
          dhcp4: no
        ens34:
          dhcp4: no
      bonds:
        bond0:
          interfaces:
            - ens33
            - ens34
          parameters:
            mode: active-backup
          addresses:
            - 192.168.1.200/24

 

 

 

 

Managing Networks with NetworkManager

 

While Netplan is the default in Ubuntu Server, NetworkManager remains popular for desktop environments. It provides a graphical interface and CLI tools like nmcli for managing connections.

To configure a static IP using nmcli:

    nmcli con add type ethernet con-name static-ip ifname ens33 ip4 192.168.1.150/24 gw4 192.168.1.1
    nmcli con mod static-ip ipv4.dns "8.8.8.8,8.8.4.4"
    nmcli con up static-ip

 

 

 


Troubleshooting Network Issues

 

Even with robust configuration tools, network issues can arise. Key troubleshooting steps include:

Check Network Interfaces: Use the ip a command to list all network interfaces and their states.
Test Connectivity: Use ping to verify connection to the gateway or external hosts:

    ping 8.8.8.8


Inspect Netplan Logs: If netplan apply fails, check the logs for details:

    journalctl -u systemd-networkd


Diagnose DNS Issues: Verify DNS resolution with nslookup or dig:

    nslookup example.com

 

 

 


Conclusion

Network configuration in Ubuntu 22.04 combines flexibility and simplicity, catering to diverse requirements ranging from basic setups to complex enterprise environments. Understanding tools like Netplan and NetworkManager, along with troubleshooting and security practices, ensures a reliable and secure network.

With this guide, system administrators and users can confidently manage network configurations, optimizing connectivity and system performance.