LoginSignup
0
0

More than 1 year has passed since last update.

Setting up a WireGuard VPN

Last updated at Posted at 2023-02-16

wireguard-logo.png

Step 1: Install WireGuard on the Server and Client

The first step in setting up a WireGuard VPN is to install the WireGuard software on both the server and client machines. The installation process will vary depending on your operating system, but the official WireGuard website provides detailed installation instructions for a variety of platforms.

sudo apt-get update
sudo apt-get install wireguard

Step 2: Generate Keys

Next, you'll need to generate public and private keys for both the server and client machines. You can do this using the following command:

$ wg genkey | tee privatekey | wg pubkey > publickey

This will generate a private key, save it to a file called privatekey, and generate a public key, which will be output to the terminal. Repeat this process on both the server and client machines.

Step 3: Configure the Server

Now, you'll need to configure the server. Create a configuration file for WireGuard by creating a new file at /etc/wireguard/wg0.conf. Add the following configuration to the file, replacing the private and public keys with the ones you generated in Step 2:

[Interface]
Address = 10.0.0.1/24
SaveConfig = true
PrivateKey = SERVER_PRIVATE_KEY

[Peer]
PublicKey = CLIENT_PUBLIC_KEY
AllowedIPs = 10.0.0.2/32

This configuration file sets up the WireGuard interface with an IP address of 10.0.0.1, and allows the client with the public key specified to connect to the server. Make sure to replace SERVER_PRIVATE_KEY with the private key you generated in Step 2, and CLIENT_PUBLIC_KEY with the public key of the client machine.

Step 4: Start the WireGuard Interface on the Server

To start the WireGuard interface on the server, run the following command:

$ sudo wg-quick up wg0

This will start the WireGuard interface using the configuration file you created in Step 3.

Step 5: Configure the Client

Now, you'll need to configure the client. Create a configuration file for WireGuard by creating a new file at /etc/wireguard/wg0.conf. Add the following configuration to the file, replacing the private and public keys with the ones you generated in Step 2:

[Interface]
Address = 10.0.0.2/24
PrivateKey = CLIENT_PRIVATE_KEY

[Peer]
PublicKey = SERVER_PUBLIC_KEY
AllowedIPs = 0.0.0.0/0
Endpoint = SERVER_PUBLIC_IP:51820

This configuration file sets up the WireGuard interface with an IP address of 10.0.0.2, and allows all traffic to be routed through the VPN. Make sure to replace CLIENT_PRIVATE_KEY with the private key you generated in Step 2, and SERVER_PUBLIC_KEY with the public key of the server machine. Also, replace SERVER_PUBLIC_IP with the public IP address of the server machine.

Step 6: Start the WireGuard Interface on the Client

To start the WireGuard interface on the client, run the following command:

$ sudo wg-quick up wg0

This will start the WireGuard interface using the configuration file you created in Step 5.

That's it! Your server and client are now connected via a secure WireGuard VPN. You can test the connection by pinging the server from the client, or by accessing resources on the server that are only available on its local network.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0