How to configure a Wireguard Android VPN Client

Originally published at: https://serversideup.net/how-to-configure-a-wireguard-android-vpn-client/

In this section of the Gain Flexibility & Increase Privacy with Wireguard VPN mini-course, we are going to be configuring Wireguard VPN on an Android device. This is what it looks like: Download the Wireguard App You can get the official app from the Google Play Store. Configure your connection Once the app is downloaded,…

Thanks for these tutorials. I have 2 questions.
If one has more than 1 Android device and want to use them both on WireGuard at the same time, then the command “sudo wg set wg0 peer YOUR_CLIENT_PUBLIC_KEY allowed-ips YOUR_CLIENT_VPN_IP” would need to be repeated with a diifferent YOUR_CLIENT_PUBLIC_KEY YOUR_CLIENT_VPN_IP, generated by using the same procedure as for the first Android client but using a different YOUR_CLIENT_VPN_IP (e.g. 10.0.0.7) but with the same ListenPort. So the wg0.conf file (on the Server) would therefore have 2 Interface sections. Is this correct?
There seems to be no tutorial for a Ubuntu client. Would this be setup like the Android client or would it have its own wg0.conf file present on that client?

Correct. For each device, they will need their unique:

  • YOUR_CLIENT_PUBLIC_KEY
  • YOUR_CLIENT_VPN_IP (ex 10.0.0.8)

When it comes to ListenPort, this should NOT exist in your client.

See the client example taken from here: Getting started with WireGuard VPN: Important Concepts - Server Side Up

[Interface]
PrivateKey = YOUR_CLIENT_PRIVATE_KEY
Address = 10.0.0.3/24
DNS = 1.1.1.1, 1.0.0.1

[Peer]
PublicKey = YOUR_SERVERS_PUBLIC_KEY
AllowedIPs = 0.0.0.0/0
Endpoint = YOUR_SERVER_WAN_IP:51820

Clients will likely share the same configurations for the [Peer] section.

Many clients connect into a single interface. So the answer is “No”.

You authorize clients with their unique public key and assigned IP address into one interface.

There isn’t a native GUI method in Ubuntu Desktop LTS (20.04), so I held off on creating a tutorial for it.

If you want to run as a client, it will be similar steps to install Wireguard like a server, but configure it similarly like a client (like the examples here: Getting started with WireGuard VPN: Important Concepts - Server Side Up)

Hope this helps!