One of the biggest problems for any Internet resource has long been the so-called “distributed denial of service” attacks or DDoS attacks. They are a very serio...
3v-Hosting Blog
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.
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.
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
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.
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
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
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
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.
Switching users in Ubuntu: su, sudo, sudo -i, sudo -u, and SSH. A practical guide to working securely with permissions, environments, and sessions on servers an...
Managing ports on VPS and dedicated servers: how to check open ports, configure your firewall correctly, avoid common mistakes, and improve infrastructure secur...
Optimizing Windows Server 2022 on a VPS with 2-4 GB of RAM: how the system uses memory, what can be safely configured, pagefile, services, GUI, and when upgradi...