WireGuard VPN server installer
Clone or download
l-n-s Merge pull request #10 from storytime/master
Cent OS 7.5 firewalld fix
Latest commit 977bb55 Jan 17, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE Add sources Dec 10, 2018
README.md Add DNS servers choice dialog Dec 20, 2018
wireguard-install.sh -- Fix centos errors Jan 16, 2019



WireGuard road warrior installer for Ubuntu 18.04 LTS, Debian 9 and CentOS 7.

This script will let you setup your own VPN server in no more than a minute, even if you haven't used WireGuard before. It has been designed to be as unobtrusive and universal as possible.


Run the script and follow the assistant:

wget https://raw.githubusercontent.com/l-n-s/wireguard-install/master/wireguard-install.sh -O wireguard-install.sh
bash wireguard-install.sh

Once it ends, you can run it again to add more users. Reboot your server to apply all settings.


The script can be configured by setting the following environment variables:

  • INTERACTIVE - if set to "no", the script will not prompt for user input
  • PRIVATE_SUBNET - private subnet configuration, "" by default
  • SERVER_HOST - public IP address, detected by default
  • SERVER_PORT - listening port, picked random by default
  • CLIENT_DNS - comma serparated DNS servers to use by the client

Setting up clients

Ubuntu PC

Install WireGuard and reboot your computer:

sudo add-apt-repository ppa:wireguard/wireguard -y && sudo apt update && sudo apt install wireguard -y
sudo reboot

Copy the file /root/client-wg0.conf from a remote server to your local PC path /etc/wireguard/wg0.conf and run sudo systemctl start wg-quick@wg0.service

To show VPN status, run sudo wg show.


Inspired by Nyr's openvpn-install.