FedoraRHEL Based

Fedora 41 Network Configuration Guide

Fedora 41 Network Configuration

Network configuration is a fundamental aspect of system administration in Fedora 41. Whether you’re setting up a home server, configuring a workstation, or managing enterprise infrastructure, understanding how to properly configure your network connections is essential for optimal system functionality. Fedora 41, the latest release of this popular Linux distribution, introduces several improvements to its networking capabilities, making it more robust and flexible for users of all skill levels.

This comprehensive guide will walk you through every aspect of network configuration in Fedora 41, from basic concepts to advanced features. We’ll cover both graphical and command-line methods, ensuring you have the knowledge to confidently configure and troubleshoot various network scenarios.

Table of Contents

Understanding Network Configuration Fundamentals

Before diving into specific configuration methods, it’s important to understand the core networking tools and concepts in Fedora 41.

NetworkManager vs. systemd-networkd

Fedora 41 provides two primary systems for managing network connections:

NetworkManager is the default networking service in Fedora desktop environments. It automatically detects and configures network devices, making it ideal for laptops and workstations where network connections might change frequently. NetworkManager provides both graphical and command-line interfaces for easy management.

systemd-networkd is a more lightweight networking service that’s part of the systemd suite. It’s particularly suitable for server environments where network configurations tend to be static and minimal overhead is desired.

For most desktop users, NetworkManager provides the best balance of functionality and ease of use, while system administrators might prefer systemd-networkd for server deployments.

Key Networking Concepts

To effectively configure networking in Fedora 41, you should be familiar with these essential concepts:

  • TCP/IP is the fundamental communication protocol suite used for internet and local networks
  • DHCP automatically assigns IP addresses and other network configuration parameters to devices
  • DNS translates human-readable domain names into IP addresses
  • Static addressing involves manually assigning fixed IP addresses to devices
  • Subnet mask defines the network and host portions of an IP address
  • Gateway connects your local network to other networks or the internet

Network Interface Naming Conventions

Fedora 41 follows predictable network interface naming schemes. Instead of traditional names like “eth0” or “wlan0,” you’ll see names that reflect the device’s physical location:

  • en for Ethernet devices (e.g., enp1s0)
  • wl for wireless LAN devices (e.g., wlp2s0)
  • ww for wireless WAN devices

These names remain consistent across reboots and hardware changes, making network management more reliable.

Preparing Your System for Network Configuration

Before beginning network configuration in Fedora 41, ensure that your system meets these requirements:

  1. Your system is updated to the latest packages:
    sudo dnf update
  2. NetworkManager is installed and running:
    systemctl status NetworkManager
  3. If it’s not running, start and enable it:
    sudo systemctl start NetworkManager
    sudo systemctl enable NetworkManager
  4. Identify your network interfaces:
    ip link show

Make note of the interface names as you’ll need them for configuration.

Graphical Network Configuration Methods

Fedora 41’s GNOME desktop environment provides an intuitive graphical interface for managing network connections.

Accessing Network Settings

  1. Click on the system menu in the top-right corner of the screen
  2. Select “Settings” from the dropdown menu
  3. Click on “Network” in the left sidebar

This opens the network configuration panel where you can manage all your connections.

Configuring Wired Connections

To set up a wired (Ethernet) connection through the graphical interface:

  1. In the Network settings, select “Wired” from the left panel
  2. Toggle the switch to “ON” if it’s not already active
  3. Click the gear icon next to your wired connection to edit its properties
  4. Select the “IPv4” or “IPv6” tab depending on which protocol you’re configuring
  5. From the “Method” dropdown, select “Automatic (DHCP)” or “Manual” for static IP
  6. If choosing manual configuration, enter your IP address, netmask, gateway, and DNS servers
  7. Click “Apply” to save your changes

Wireless Network Setup

To configure a wireless connection:

  1. In Network settings, select “Wi-Fi” from the left panel
  2. Ensure Wi-Fi is toggled “ON”
  3. Select your desired wireless network from the list
  4. Enter the password when prompted
  5. For advanced settings, click the gear icon next to the connected network
  6. Adjust settings as needed, including security type, IPv4/IPv6 configuration, and MAC address
  7. Click “Apply” to save changes

Troubleshooting GUI Configuration Issues

If you encounter problems with the graphical configuration:

  • Ensure NetworkManager is running properly with systemctl status NetworkManager
  • Check system logs with journalctl -u NetworkManager
  • Try restarting NetworkManager with sudo systemctl restart NetworkManager
  • Verify there are no conflicting configurations from previous setups

Command-Line Network Configuration with nmcli

For more advanced users or server environments, the NetworkManager command-line interface (nmcli) provides powerful control over network configurations.

Basic Commands with nmcli

The nmcli command is a versatile tool that can display, create, edit, and delete network connections. Here are some fundamental commands:

List available connections:

nmcli connection show

View network devices and their status:

nmcli device status

Get detailed information about a specific connection:

nmcli connection show "connection_name"

View details of a specific network interface:

nmcli device show enp1s0

Creating New Connections

To create a new Ethernet connection with DHCP:

nmcli connection add type ethernet con-name "MyConnection" ifname enp1s0

For a static IP configuration:

nmcli connection add type ethernet con-name "StaticConnection" ifname enp1s0 ip4 192.168.1.100/24 gw4 192.168.1.1

Modifying Existing Connections

To change DNS servers for an existing connection:

nmcli connection modify "MyConnection" ipv4.dns "8.8.8.8 8.8.4.4"

To change from DHCP to static IP:

nmcli connection modify "MyConnection" ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1

Managing Connection States

To activate a connection:

nmcli connection up "MyConnection"

To deactivate a connection:

nmcli connection down "MyConnection"

Static IP Configuration

For servers and devices that need consistent addressing, static IP configuration is essential.

Planning Your Network Settings

Before configuring a static IP, gather the following information:

  • IP address you want to assign
  • Subnet mask (typically 255.255.255.0 or /24 for home networks)
  • Gateway address (usually your router’s IP)
  • DNS server addresses

Ensure the IP address you choose is outside the DHCP range of your router to avoid conflicts.

Step-by-Step Static IP Configuration with nmcli

  1. Identify your network interface:
    ip link show
  2. Configure the static IP:
    sudo nmcli connection modify "MyConnection" ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8 8.8.4.4"
  3. Apply the changes:
    sudo nmcli connection up "MyConnection"

For a new static IP connection, you can use:

sudo nmcli connection add type ethernet con-name "StaticIP" ifname enp1s0 ipv4.method manual ipv4.addresses 10.0.0.30/24 ipv4.gateway 10.0.0.1 ipv4.dns "10.0.0.10"

Verifying Your Static IP Configuration

Confirm your settings with:

ip addr show

Make sure the selected interface shows your desired IP address. Test connectivity with:

ping -c 4 google.com

Common Static IP Issues and Solutions

  • IP Conflict: If another device is using the same IP, you’ll experience intermittent connectivity. Use arping to check for conflicts.
  • Wrong Gateway: If you can connect to local network devices but not the internet, verify your gateway address.
  • DNS Issues: If you can ping IP addresses but not domain names, check your DNS configuration.

DHCP Configuration

DHCP simplifies network management by automatically assigning IP addresses and other network parameters.

Benefits and Use Cases for DHCP

  • Eliminates manual IP address assignment
  • Reduces configuration errors
  • Simplifies adding new devices to the network
  • Prevents IP address conflicts
  • Ideal for laptops and mobile devices that connect to multiple networks

Enabling DHCP via Command Line

  1. Configure a connection to use DHCP:
    sudo nmcli connection modify "MyConnection" ipv4.method auto
  2. Optionally specify DNS servers while still using DHCP for the IP address:
    sudo nmcli connection modify "MyConnection" ipv4.method auto ipv4.dns "8.8.8.8 8.8.4.4"
  3. Apply the changes:
    sudo nmcli connection up "MyConnection"

Verifying DHCP Lease Information

To see your current DHCP lease:

nmcli connection show "MyConnection" | grep -i ip4

You can also check device information with:

nmcli device show enp1s0

This will display IP address, gateway, DNS servers, and other DHCP-provided information.

DNS Configuration

Proper DNS configuration is crucial for translating domain names to IP addresses.

Setting Up DNS Servers

You can configure DNS servers for a connection using:

sudo nmcli connection modify "MyConnection" ipv4.dns "8.8.8.8 8.8.4.4"

Replace the IP addresses with your preferred DNS servers. Google’s public DNS (8.8.8.8 and 8.8.4.4) and Cloudflare’s DNS (1.1.1.1 and 1.0.0.1) are popular choices.

Configuring Search Domains

Search domains allow you to use shorthand names for local network devices:

sudo nmcli connection modify "MyConnection" ipv4.dns-search "example.local"

With this configuration, typing “server1” in your browser would automatically try “server1.example.local”.

Testing DNS Resolution

Verify DNS resolution with:

nslookup google.com

or

dig google.com

These commands should return IP addresses for the domain.

Advanced Networking Features

Fedora 41 supports several advanced networking features for specialized configurations.

VLAN Configuration

Virtual LANs (VLANs) allow you to segment network traffic on a physical network:

# Create a VLAN with ID 10 on interface enp1s0
sudo nmcli connection add type vlan con-name VLAN10 dev enp1s0 id 10 ipv4.method manual ipv4.addresses 192.168.10.2/24

VLANs are useful for separating different types of traffic or departments within an organization.

Network Bonding and Teaming

Bonding combines multiple network interfaces into a single logical interface for redundancy or increased throughput:

# Create a bond interface
sudo nmcli connection add type bond con-name bond0 mode 802.3ad

# Add slave interfaces
sudo nmcli connection add type ethernet con-name bond0-slave1 ifname enp1s0 master bond0
sudo nmcli connection add type ethernet con-name bond0-slave2 ifname enp2s0 master bond0

Different bonding modes serve different purposes:

  • mode=active-backup: Provides failover protection
  • mode=balance-rr: Provides load balancing and fault tolerance
  • mode=802.3ad: Link aggregation requiring switch support

Bridge Configuration for Virtualization

Network bridges are essential for virtual machine connectivity:

# Create a bridge interface
sudo nmcli connection add type bridge con-name br0 ifname br0

# Add a physical interface to the bridge
sudo nmcli connection add type ethernet con-name br0-slave ifname enp1s0 master br0

Bridges allow virtual machines to connect directly to the physical network, appearing as separate devices on the network.

Managing Multiple Network Interfaces

Many systems have multiple network interfaces that need separate configuration.

Identifying and Managing Multiple NICs

List all available network interfaces:

ip link show

Each interface can have its own configuration. For example, you might have:

  • enp1s0: Connected to the internet with a dynamic IP
  • enp2s0: Connected to an internal network with a static IP

Configuring Separate Settings for Each Interface

Create and configure connections for each interface separately:

# Configure first interface for internet
sudo nmcli connection add type ethernet con-name "Internet" ifname enp1s0 ipv4.method auto

# Configure second interface for internal network
sudo nmcli connection add type ethernet con-name "Internal" ifname enp2s0 ipv4.method manual ipv4.addresses 10.0.0.10/24

Prioritizing Network Interfaces

When multiple interfaces have internet access, you can control which one is used by default by manipulating the routing metrics:

sudo nmcli connection modify "Internet" ipv4.route-metric 100
sudo nmcli connection modify "Backup" ipv4.route-metric 200

Lower metrics are preferred, so traffic will use the “Internet” connection unless it’s unavailable.

IPv6 Configuration and Management

As IPv4 addresses become scarce, IPv6 adoption continues to increase.

Setting Up IPv6 Addressing

To configure IPv6 with DHCP:

sudo nmcli connection modify "MyConnection" ipv6.method auto

For static IPv6:

sudo nmcli connection modify "MyConnection" ipv6.method manual ipv6.addresses 2001:db8::1/64 ipv6.gateway 2001:db8::1

Dual-Stack Configuration

Most modern networks use dual-stack (IPv4 and IPv6 simultaneously):

sudo nmcli connection modify "MyConnection" ipv4.method auto ipv6.method auto

Disabling IPv6 When Not Needed

If you don’t need IPv6, you can disable it system-wide:

sudo grubby --update-kernel ALL --args ipv6.disable=1

After running this command, reboot your system for the changes to take effect.

To re-enable IPv6 later:

sudo grubby --update-kernel ALL --remove-args ipv6.disable

Troubleshooting Network Issues

Even with careful configuration, network issues can arise in Fedora 41.

Diagnosing Common Connection Problems

  1. No Connection:
    • Check physical connections
    • Verify interface status with ip link show
    • Ensure the connection is activated in NetworkManager
  2. Limited Connectivity:
    • Verify IP configuration with ip addr show
    • Check routing with ip route show
    • Test DNS resolution with nslookup or dig
  3. Intermittent Connectivity:
    • Look for packet loss with ping -c 10 google.com
    • Check for interfering wireless networks
    • Monitor connection quality

Essential Diagnostic Commands

# Check DNS resolution
dig example.com

# Trace network path
traceroute example.com

# Check network interfaces
ip addr show

# View routing table
ip route show

# Test connectivity with continuous ping
ping -c 10 example.com

Common Network Issues in Fedora 41

Some users have reported issues with NetworkManager in Fedora 41, particularly after system updates. If you find your network connection fails after each reboot, a temporary solution might be to restart NetworkManager:

sudo systemctl restart NetworkManager

For a more permanent solution, you might need to:

  • Remove the pkcs11-provider package which has been reported to cause issues
  • Check for conflicting network configurations
  • Ensure your network drivers are up to date

Securing Your Network Configuration

Network security is a critical consideration in any configuration.

Best Practices for Network Security

  1. Use strong authentication for wireless networks (WPA3 when available)
  2. Implement MAC address filtering for additional security
  3. Keep your network devices and drivers updated
  4. Use encrypted connections when possible
  5. Segregate sensitive networks using VLANs

Integrating Firewall Settings

Fedora 41 uses firewalld for firewall management:

# Check firewall status
sudo firewall-cmd --state

# Allow a specific service
sudo firewall-cmd --permanent --add-service=http

# Allow a specific port
sudo firewall-cmd --permanent --add-port=8080/tcp

# Reload firewall rules
sudo firewall-cmd --reload

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!

r00t

r00t is an experienced Linux enthusiast and technical writer with a passion for open-source software. With years of hands-on experience in various Linux distributions, r00t has developed a deep understanding of the Linux ecosystem and its powerful tools. He holds certifications in SCE and has contributed to several open-source projects. r00t is dedicated to sharing her knowledge and expertise through well-researched and informative articles, helping others navigate the world of Linux with confidence.
Back to top button