The following instruction is suitable for Ubuntu 20.04 and Ubuntu 21.10.
The instructions shows how to add support of the WireGuard VPN client into the Ubuntu Network Manager by installing the WireGuard client for Network Manager.
Ubuntu has no WireGuard plugin for Network Manager in their repositories but we can compile it from the source code written by max-moser.
Source code is available on GutHub: https://github.com/max-moser/network-manager-wireguard.
Run terminal emulator: Press Alt+F2 and type "x-terminal-emulator" and press Enter.
First you need to update your Ubuntu and install the required packages.
Please run the following commands one-by-one and confirm updating and installing new packages by pressing "Y" when prompted:
sudo apt-get update
sudo apt install wireguard git dh-autoreconf libglib2.0-dev intltool build-essential libgtk-3-dev libnma-dev libsecret-1-dev network-manager-dev resolvconf
Run the following commands one at a time to download source code from GIT repository, compile and install.git clone https://github.com/max-moser/network-manager-wireguard
After installations is complete please Reboot your Ubuntu.
Open the top menu and click Tools icon to open Network Settings.
Find VPN section and click "+" button to start creating a new VPN configuration.
Click on "Import from file...".
Download the WireGuard configuration file (.conf file), select "Downloads" section, and open hk.tz.conf file by double click on it.
WireGuard configuration file:
HIDDEN. Log in or Sign up to see.
Click green "Add" button to add VPN configuration.
Click ON/OFF switch near the VPN connection name to start connecting.
After connection is established switch color will change from grey to orange.
After you get connected to the Trust.Zone VPN your IPv4 IP address will change, but your IPv6 address will remain the same.
This is not a problem in case your ISP does NOT support IPv6, but in case it does, your IPv6 address may leak.
The best way to prevent IPv6 from leaking we recommend to disable IPv6 in your linux distro. Here is how you can do that.
To check if IPv6 is already disabled please run the following command:
If command returns 1, then IPv6 is already disabled and you can skip steps below. In case return value is 0, please follow the instructions below:
Run the following commands to disable IPv6 for the current Ubuntu session:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
To disable IPv6 during Ubuntu startup we recommend to edit GRUB loader settings.
Please open /etc/default/grub file in your favorite text editor. In our example we will use nano editor.
sudo nano /etc/default/grub
Locate the following lines
GRUB_CMDLINE_LINUX="find_preseed=/preseed.cfg auto noprompt priority=critical locale=en_US"
Add the parameter ipv6.disable=1 to the end of the values of the GRUB_CMDLINE_LINUX_DEFAULT and GRUB_CMDLINE_LINUX parameters (inside quotes):
After editing, you should get the following lines:
GRUB_CMDLINE_LINUX="find_preseed=/preseed.cfg auto noprompt priority=critical locale=en_US ipv6.disable=1"
Now you can save the file and exit the editor. In case you use nano, you need to press Ctrl-O to write changes and press Enter to confirm file write. Then you can press Ctrl-X to exit the editor.
Run the following command to apply the GRUB changes:
The command will return the following output:
user@ubuntu:~$ sudo update-grub
Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.4.0-66-generic
Found initrd image: /boot/initrd.img-5.4.0-66-generic
Found linux image: /boot/vmlinuz-5.4.0-42-generic
Found initrd image: /boot/initrd.img-5.4.0-42-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Your IP: x.x.x.x · Hong Kong · You are in TRUST.ZONE now! Your real location is hidden!