FedoraRHEL Based

Fedora 43 Network Configuration Guide

Fedora 43 Network Configuration

Network configuration is a fundamental skill for anyone working with Fedora 43, whether you’re a system administrator managing servers or a desktop user setting up your home network. Fedora 43 continues to use NetworkManager as its primary network management tool, offering robust capabilities through graphical interfaces, command-line utilities, and direct configuration file editing. This comprehensive guide walks you through every aspect of network configuration in Fedora 43, from basic setup to advanced configurations, ensuring your system connects seamlessly to any network environment.

Modern Linux distributions have evolved significantly in how they handle networking. Fedora 43 represents this evolution perfectly, moving away from legacy network scripts toward the more flexible and powerful NetworkManager framework. Understanding this tool empowers you to configure wired and wireless connections, set up static IP addresses, manage DNS servers, implement advanced networking features, and troubleshoot connectivity issues efficiently.

Understanding NetworkManager in Fedora 43

NetworkManager serves as the default network configuration daemon in Fedora 43, providing a unified interface for managing all types of network connections. The service runs continuously in the background, automatically detecting network hardware, managing connection profiles, and handling network transitions when you move between different networks.

The NetworkManager ecosystem consists of several key components that work together seamlessly. The nm-applet provides a system tray icon for quick access to network settings in desktop environments. The nmcli tool offers powerful command-line control for scripting and remote administration. Additionally, nmtui provides a text-based user interface for those who prefer terminal-based configuration without memorizing complex commands.

One significant advantage of NetworkManager over traditional network scripts is its ability to handle dynamic network environments automatically. It manages connection priorities, handles failover between interfaces, and maintains stable connectivity even as network conditions change. For laptops and mobile devices, this means seamless transitions between wired and wireless networks without manual intervention.

Prerequisites and Initial Setup

Before diving into network configuration, verify that NetworkManager is running on your Fedora 43 system. Open a terminal and execute the following command:

systemctl status NetworkManager

The output should indicate that the service is active and running. If NetworkManager isn’t running, start and enable it with these commands:

sudo systemctl start NetworkManager
sudo systemctl enable NetworkManager

Understanding your network interface names is crucial for proper configuration. Modern Fedora systems use predictable interface naming schemes. Run this command to list all network interfaces:

ip link show

You’ll see interface names like enp3s0 for Ethernet cards or wlp2s0 for wireless adapters. The naming convention provides information about the hardware location: “en” indicates Ethernet, “wl” indicates wireless LAN, followed by the PCI bus location. Take note of your interface names as you’ll need them throughout the configuration process.

GUI-Based Network Configuration

Using GNOME Settings

Fedora 43’s default GNOME desktop environment provides an intuitive interface for network configuration. Access the network settings by clicking the system menu in the top-right corner, then selecting “Settings” followed by “Network”. This interface displays all available network connections and their current status.

For wired connections, click on the gear icon next to your Ethernet adapter. Here you can configure IPv4 and IPv6 settings, change connection priorities, and manage advanced options like MTU size and MAC address settings. The interface provides clear visual feedback about connection status, making it easy for beginners to understand their network state.

Connection profiles in the GNOME Settings allow you to save multiple network configurations for different environments. Create separate profiles for home, office, and public networks with appropriate security settings for each location. Simply click the “+” button to add new profiles or use the minus button to remove outdated ones.

NetworkManager Applet

The nm-applet system tray icon offers quick access to common networking tasks without opening full settings panels. Click the network icon to view available wireless networks, toggle connections on and off, or quickly switch between saved connection profiles. The applet displays signal strength for wireless connections and provides visual indicators when networks become available or unavailable.

Right-clicking the nm-applet icon reveals additional options including connection information, edit connections, and network settings shortcuts. This quick access proves invaluable when troubleshooting connectivity issues or switching networks frequently throughout the day.

Command-Line Network Configuration with nmcli

Basic nmcli Commands

The nmcli utility represents the most powerful tool for network configuration in Fedora 43. Its syntax follows a logical structure: nmcli [OPTIONS] OBJECT { COMMAND | help }. The primary objects you’ll work with include general, networking, radio, connection, device, agent, and monitor.

Check NetworkManager’s overall status with this simple command:

nmcli general status

This displays the current state, connectivity level, and whether wireless networking is enabled. To view all configured connections:

nmcli connection show

The output lists connection names, UUIDs, types, and associated devices. For detailed information about a specific connection, append its name to the command:

nmcli connection show "Wired connection 1"

Display the status of all network devices with:

nmcli device status

This command shows each device’s name, type, state, and active connection. For troubleshooting, the -t option produces terse output suitable for scripting, while -p creates pretty-formatted tables for easier reading.

Creating and Managing Connections

Creating a new connection profile using nmcli’s interactive editor provides a user-friendly approach to configuration. Start the editor with:

nmcli connection edit con-name MyConnection

The editor prompts you to specify the connection type. For standard Ethernet connections, enter “ethernet” when asked. The interactive prompt displays available settings and accepts commands like “set,” “print,” “save,” and “quit”.

Configure essential connection properties within the editor:

nmcli> set connection.autoconnect TRUE
nmcli> set connection.interface-name enp3s0
nmcli> set ipv4.method manual
nmcli> set ipv4.addresses 192.168.1.100/24
nmcli> set ipv4.gateway 192.168.1.1
nmcli> set ipv4.dns "8.8.8.8 8.8.4.4"

Review your configuration before saving:

nmcli> print
nmcli> save
nmcli> quit

For experienced users, nmcli offers one-line commands to modify existing connections. Modify a connection’s IP address with:

sudo nmcli con mod "Wired connection 1" ipv4.addresses "192.168.1.150/24"

Activate a connection immediately using:

sudo nmcli con up "Wired connection 1"

Deactivate connections when needed:

sudo nmcli con down "Wired connection 1"

Connection Profile Management

NetworkManager stores multiple profiles for different network scenarios. Delete unwanted connections with:

sudo nmcli con delete "Old Connection"

Clone existing profiles to create similar configurations quickly. The autoconnect property determines whether NetworkManager automatically activates a connection when its network becomes available. Disable autoconnect for guest networks or temporary connections:

sudo nmcli con mod GuestNetwork connection.autoconnect no

Connection priority determines which profile activates when multiple networks are available. Higher priority values take precedence. Set priority with:

sudo nmcli con mod HomeNetwork connection.autoconnect-priority 10

Configuring Static IP Addresses

Static IP via nmcli

Enterprise environments and server deployments often require static IP addresses for predictable network access. Configure a static IP address using nmcli by setting the IPv4 method to manual:

sudo nmcli con mod "Wired connection 1" ipv4.method manual

Next, assign the IP address with CIDR notation, gateway, and DNS servers:

sudo nmcli con mod "Wired connection 1" ipv4.addresses "192.168.1.100/24"
sudo nmcli con mod "Wired connection 1" ipv4.gateway "192.168.1.1"
sudo nmcli con mod "Wired connection 1" ipv4.dns "8.8.8.8 8.8.4.4"

The CIDR notation (/24) specifies the subnet mask, where /24 equals 255.255.255.0. Common subnet masks include /24 for 256 addresses, /16 for 65,536 addresses, and /8 for over 16 million addresses.

Apply changes by restarting the connection:

sudo nmcli con down "Wired connection 1"
sudo nmcli con up "Wired connection 1"

Verify the configuration took effect:

ip addr show enp3s0

The output should display your newly assigned static IP address. For adding multiple IP addresses to a single interface, use the “+” prefix:

sudo nmcli con mod "Wired connection 1" +ipv4.addresses "192.168.1.101/24"

Static IP via GUI

Graphical configuration offers a more intuitive approach for users uncomfortable with command-line tools. Open GNOME Settings, navigate to Network, and click the gear icon next to your Ethernet connection. Select the “IPv4” tab and change the method from “Automatic (DHCP)” to “Manual”.

Enter your desired IP address, netmask, and gateway in the provided fields. Add DNS servers in the DNS section, separating multiple entries with commas. Click “Apply” to save your configuration. The changes take effect immediately, and the interface displays the new IP address within seconds.

For temporary configurations or testing, the GUI allows you to revert to DHCP quickly without losing your static IP settings. Simply switch back to “Automatic (DHCP)” and your previous configuration remains saved for future use.

Configuring DHCP (Dynamic IP)

Dynamic Host Configuration Protocol (DHCP) automatically assigns IP addresses, reducing administrative overhead in most environments. Fedora 43 uses DHCP by default for most connections. To explicitly configure an interface for DHCP using nmcli:

sudo nmcli con mod "Wired connection 1" ipv4.method auto

This command tells NetworkManager to obtain an IP address, subnet mask, gateway, and DNS servers automatically from the network’s DHCP server. DHCP works well for home networks, guest access points, and environments where IP addresses change frequently.

Verify DHCP configuration with:

nmcli -f ipv4 con show "Wired connection 1" | grep method

The output should display “ipv4.method: auto”. If a connection previously used static IP addressing, setting it back to DHCP clears the manual IP configuration automatically.

DHCP lease renewal typically happens automatically, but you can force renewal by restarting the connection. NetworkManager handles lease management in the background, requesting renewals before leases expire to maintain uninterrupted connectivity.

Wireless Network Configuration

Connecting to Wi-Fi Networks

Wireless networking requires proper driver support and firmware for your Wi-Fi adapter. Most modern Wi-Fi cards work automatically in Fedora 43, but some devices need additional firmware packages. Check available firmware with:

sudo dnf search *-firmware

List nearby wireless networks using nmcli:

nmcli device wifi list

This displays SSID, signal strength, security type, and frequency for all detected networks. Connect to a wireless network directly from the command line:

sudo nmcli device wifi connect "NetworkName" password "YourPassword"

NetworkManager creates and saves a connection profile automatically, enabling automatic reconnection in the future. For networks without passwords, omit the password parameter:

sudo nmcli device wifi connect "OpenNetwork"

The GNOME Settings interface provides an even simpler wireless connection process. Click the network icon, select your desired network from the list, enter the password if required, and click “Connect”. The interface displays connection progress and confirms successful authentication.

Wireless Security Settings

Modern wireless networks use WPA2 or WPA3 encryption protocols for security. NetworkManager automatically detects the appropriate security protocol when you connect to a network. For manual configuration, specify the security type:

sudo nmcli con mod "WiFi Connection" wifi-sec.key-mgmt wpa-psk
sudo nmcli con mod "WiFi Connection" wifi-sec.psk "YourPassword"

Ad-hoc wireless networks enable direct computer-to-computer connections without an access point. Create an ad-hoc network with:

sudo nmcli con add type wifi ifname wlp2s0 con-name adhoc-network autoconnect no ssid MyAdhocNetwork mode adhoc

Wireless troubleshooting begins with checking hardware switches and software kill switches. Many laptops include physical switches or keyboard shortcuts that disable wireless adapters. Verify wireless isn’t disabled:

nmcli radio wifi

If it shows “disabled,” enable it with:

nmcli radio wifi on

Advanced Network Configurations

Network Bonding and Teaming

Network bonding combines multiple network interfaces into a single logical interface, providing redundancy and increased throughput. This configuration proves valuable for servers requiring high availability. Create a bonded interface using NetworkManager:

sudo nmcli con add type bond con-name bond0 ifname bond0 mode active-backup

Add slave interfaces to the bond:

sudo nmcli con add type ethernet slave-type bond con-name bond0-slave1 ifname enp3s0 master bond0
sudo nmcli con add type ethernet slave-type bond con-name bond0-slave2 ifname enp4s0 master bond0

Network teaming offers a modern alternative to bonding with more flexibility and better performance. Teaming uses a userspace daemon called teamd for advanced load balancing and failover capabilities.

VLAN Configuration

Virtual LANs (VLANs) segment network traffic logically without physical separation. Configure VLAN tagging to isolate traffic types or create separate networks on shared infrastructure. Create a VLAN interface:

sudo nmcli con add type vlan con-name vlan10 ifname vlan10 dev enp3s0 id 10
sudo nmcli con mod vlan10 ipv4.method manual ipv4.addresses "192.168.10.100/24"

Bridge Configuration

Network bridges connect multiple network segments, essential for virtual machines and container networking. Create a bridge interface with:

sudo nmcli con add type bridge con-name br0 ifname br0
sudo nmcli con add type ethernet slave-type bridge con-name bridge-br0 ifname enp3s0 master br0

Virtual machines can attach to the bridge, allowing them to communicate directly with the physical network.

Firewall Integration and Network Security

Firewalld manages firewall rules in Fedora 43, organizing them into zones that define trust levels. Check active firewall zones with:

sudo firewall-cmd --get-active-zones

Each zone applies specific rules to network connections. Common zones include “public” for untrusted networks, “home” for trusted home networks, and “work” for office environments.

Open specific ports for network services:

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload

Add predefined services to zones:

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload

Network security extends beyond firewalls. Use strong passwords for wireless networks, disable unused network services, keep systems updated, and monitor network connections regularly for suspicious activity. The --permanent flag ensures rules persist across reboots.

NetworkManager Configuration Files

NetworkManager stores connection profiles as keyfiles in /etc/NetworkManager/system-connections/. These files use an INI-style format with sections and key-value pairs. Each connection profile is a separate file with a .nmconnection extension.

File permissions must be set to 600 (read/write for owner only) for security reasons. NetworkManager ignores files with incorrect permissions. View a connection file:

sudo cat /etc/NetworkManager/system-connections/Wired\ connection\ 1.nmconnection

The keyfile format organizes settings into sections like [connection], [ipv4], and [ethernet]. Manual editing allows advanced configurations not available through graphical tools. After editing configuration files directly, reload NetworkManager:

sudo nmcli connection reload

For systems created years ago, you might find a mix of legacy ifcfg files and modern keyfiles. Check your connection file types:

nmcli -f TYPE,FILENAME,NAME connection

Fedora 36 and later favor keyfiles exclusively, moving away from the older ifcfg format. This transition simplifies configuration and improves consistency across distributions.

Troubleshooting Common Network Issues

Network problems require systematic diagnosis starting with basic connectivity checks. Verify NetworkManager service status first:

systemctl status NetworkManager

If the service stopped or crashed, restart it:

sudo systemctl restart NetworkManager

View NetworkManager logs to identify error messages:

journalctl -u NetworkManager -xe

Look for messages about failed connections, timeout errors, or hardware issues. Interface detection problems often indicate missing drivers or firmware. Check if your network interface appears:

ip link show

Missing interfaces suggest driver problems. Search for available drivers:

lsmod | grep network_driver_name

DNS resolution failures cause websites to be unreachable despite working internet connectivity. Test DNS with:

nslookup google.com

If DNS fails, check /etc/resolv.conf for correct nameserver entries. Manually set DNS servers if automatic configuration fails:

sudo nmcli con mod "Wired connection 1" ipv4.dns "8.8.8.8 1.1.1.1"

Connection drops and instability might result from power management features. Disable power saving for wireless interfaces:

sudo nmcli con mod "WiFi Connection" 802-11-wireless.powersave 2

Diagnostic commands provide valuable troubleshooting information. Check IP address assignment:

ip addr show

View routing table to ensure default gateway is set:

ip route show

Test connectivity with ping commands:

ping -c 4 8.8.8.8

Common error messages and solutions include “Device not found” (check interface name spelling), “Connection activation failed” (verify configuration syntax), “No secrets were provided” (check password for wireless networks), and “Could not activate connection” (check cable connections or wireless signal strength).

Best Practices for Network Configuration

Use descriptive, meaningful names for connection profiles rather than generic defaults. Names like “Office-Ethernet” or “Home-WiFi-5GHz” clarify purpose immediately, simplifying management when multiple profiles exist.

Document network configurations in a separate file, especially for complex setups involving VLANs, bonds, or custom routing. Include IP addresses, subnet masks, gateway addresses, DNS servers, and any special requirements. This documentation proves invaluable when troubleshooting issues months later or when transferring responsibilities to other administrators.

Backup connection profile files regularly before making changes:

sudo cp -r /etc/NetworkManager/system-connections/ ~/network-backup-$(date +%Y%m%d)

Test configuration changes in non-production environments first when possible. Create test profiles with slightly different names, verify they work correctly, then apply changes to production profiles. This approach minimizes downtime and prevents configuration errors from causing network outages.

Security considerations include MAC address privacy for wireless connections, which prevents tracking across different networks. Enable MAC address randomization:

sudo nmcli con mod "WiFi Connection" 802-11-wireless.cloned-mac-address random

Use encrypted connections whenever possible, avoid open wireless networks for sensitive data, and implement firewall rules appropriate for each network environment.

Performance optimization involves selecting appropriate MTU sizes for your network, enabling jumbo frames on gigabit networks when supported, and configuring DNS caching to reduce lookup delays. Monitor network performance with tools like iftop and nload to identify bottlenecks.

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