Configure WireGuard Client

Install WireGuard, the simple, fast and modern VPN software.

[1] Transfer files or notify contents of [Private key for client] and [Public key for server] generated on WireGuard server to target Client computer.

[2] Install WireGuard.

[future@localhost ~]$ sudo dnf install wireguard-tools -y

[2] The kernel modules are automatically activated when you reboot after installing WireGuard. However, we will manually enable the kernel module to be able to do the remaining settings without rebooting.

[future@localhost ~]# sudo lsmod | grep wireguard
[future@localhost ~]$ sudo modprobe wireguard
[future@localhost ~]$ sudo lsmod | grep wireguard
wireguard              94208  0
libchacha20poly1305    16384  1 wireguard
libblake2s             16384  1 wireguard
ip6_udp_tunnel         16384  1 wireguard
udp_tunnel             20480  1 wireguard
curve25519_x86_64      49152  1 wireguard
libcurve25519_generic    49152  2 curve25519_x86_64,wireguard

[3] Let's create the configuration file shared by the WireGuard server administrator.

[future@localhost ~]$ sudo vi /etc/wireguard/wg0.conf

[Interface]
Address = 192.168.100.1/32
PrivateKey = YADpm+xptxt0j2scg0MsoRCqJ6cdfGihe8TkILZHZ0Q=

[Peer]
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
Endpoint = 192.168.122.2:6789
PublicKey = 9LiBYQIEj91kHkmM93ilCk++ZSzWLncQGNz2iwHBFyw=

[4] Let's start the WireGuard service and check that it is running.

[future@localhost ~]$ sudo systemctl start wg-quick@wg0
[future@localhost ~]$ sudo wg
interface: wg0
  public key: DlQJgX979QiKTVScfJ2tIoA/VkwOSNOTomOErLVAWAk=
  private key: (hidden)
  listening port: 36574
  fwmark: 0xca6c

peer: 9LiBYQIEj91kHkmM93ilCk++ZSzWLncQGNz2iwHBFyw=
  endpoint: 192.168.122.2:6789
  allowed ips: 0.0.0.0/0
  latest handshake: 20 seconds ago
  transfer: 124 B received, 8.52 KiB sent
  persistent keepalive: every 25 seconds