FedoraRHEL Based

How To Install WireGuard on Fedora 39

Install WireGuard on Fedora 39

In this tutorial, we will show you how to install WireGuard on Fedora 39. WireGuard is a modern, fast, and secure VPN tunnel that can help protect your privacy and security online. As a simple yet powerful VPN protocol, WireGuard sets up encrypted tunnels between devices to route traffic securely. Compared to alternatives like OpenVPN or IPsec, WireGuard offers improved speeds and lower resource usage.

This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you the step-by-step installation of the WireGuard on a Fedora 39.


Before diving into the installation process, let’s ensure that you have everything you need:

  • A server running one of the following operating systems: Fedora 39.
  • It’s recommended that you use a fresh OS install to prevent any potential issues.
  • You will need access to the terminal to execute commands. Fedora 39 provides the Terminal application for this purpose. It can be found in your Applications menu.
  • A network connection or internet access to download the WireGuard repository.
  • A non-root sudo user or access to the root user. We recommend acting as a non-root sudo user, however, as you can harm your system if you’re not careful when acting as the root.

Install WireGuard on Fedora 39

Step 1. First, we need to update all system packages. This ensures that we’re working with the latest software, which includes important security patches and performance improvements. Open your terminal and run the following command:

sudo dnf clean all
sudo dnf update

Step 2. Installing WireGuard on Fedora 39.

Next, we‘ll install WireGuard using the DNF package manager. DNF is the default package manager for Fedora and is used to install, update, and remove software packages. Run the following command to install WireGuard:

sudo dnf install wireguard-tools

Verify the installation by running:

wg version

 Now, we’ll start the WireGuard service and enable it to start at boot:

sudo systemctl start wg-quick@wg0
sudo systemctl enable wg-quick@wg0

Check the status of the WireGuard service with:

sudo systemctl status wg-quick@wg0

Step 3. Configure WireGuard

WireGuard uses public key cryptography. Generate a pair of keys using the following commands:

umask 077 wg genkey | tee privatekey | wg pubkey > publickey

Next, set up the WireGuard configuration files. For the server, create and edit /etc/wireguard/wg0.conf:

sudo nano /etc/wireguard/wg0.conf

Add the following content, replacing your_private_key with your actual private key:

PrivateKey = your_private_key
Address =
ListenPort = 51820

Step 4. Enable IP Forwarding.

IP forwarding allows your system to forward packets as if it were a network router. Enable it by editing the sysctl settings:

sudo nano /etc/sysctl.conf

Add the following line:

net.ipv4.ip_forward = 1

Apply the changes with:

sudo sysctl -p

Step 5. Adjust Firewall Settings.

Add necessary firewall rules to allow VPN traffic:

sudo firewall-cmd --add-port=51820/udp --permanent
sudo firewall-cmd --reload

Step 6. Client Setup.

Set up WireGuard on client devices by installing WireGuard and creating a configuration file similar to the server‘s. If preferred, import the configuration to NetworkManager using the GUI.

Step 7. Testing the Connection

Test the VPN connection by trying to ping the server from the client device:


If you encounter issues, check your firewall settings and ensure that IP forwarding is enabled.

Congratulations! You have successfully installed WireGuard. Thanks for using this tutorial for installing the WireGuard on your Fedora 39 system. For additional or useful information, we recommend you check the official WireGuard website.

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 is a seasoned Linux system administrator with a wealth of experience in the field. Known for his contributions to idroot.us, r00t has authored numerous tutorials and guides, helping users navigate the complexities of Linux systems. His expertise spans across various Linux distributions, including Ubuntu, CentOS, and Debian. r00t's work is characterized by his ability to simplify complex concepts, making Linux more accessible to users of all skill levels. His dedication to the Linux community and his commitment to sharing knowledge makes him a respected figure in the field.
Back to top button