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.
non-root sudo useror 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:
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
sudo nano /etc/wireguard/wg0.conf
Add the following content, replacing
your_private_key with your actual private key:
[Interface] PrivateKey = your_private_key Address = 10.0.0.1/24 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
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.