Terraguard - Create And Destroy Your Own VPN Service Using WireGuard


This project's goal is to be simple to create and destroy your own VPN service using WireGuard.


Prerequisites
  • Terraform >= 1.0.0
  • Ansible >= 2.10.5

How to Deploy

Terraform

Run with sudo is necessary because we need permission on localhost to install packages, configure a network interface and start a process.

Select your cloud provider AWS, DigitalOcean and open the directory

You can change the region or key name in the variable.tf

  • Initialize Terraform
terraform init
  • Plan our modifications
terraform plan ">
sudo terraform plan
  • Apply the changes
sudo terraform apply
  • For Digital Ocean you need to declare your token(do_token) in variable.tf or command line:
sudo terraform plan -var "do_token=value"
sudo terraform apply -var "do_token=value"

Tests - Checking the IP
  • Test the connection without VPN
curl ipinfo.io/ip
  • Start VPN
sudo systemctl start wg-quick@wg0
  • Test the connection with VPN
curl ipinfo.io/ip

Cleanup
  • Just run:
sudo terraform destroy

Cloud Providers
  • AWS
  • Digital Ocean
  • GCP
  • OCI

Contributing

Contributions, issues and feature requests are welcome!
Feel free to check issues.


Roadmap
  • Work
  • Linux client(Debian, RedHat and Arch base)
  • Terraform to deploy server on AWS
  • Mac client
  • Add other cloud providers

Author

João Freire

Terraguard - Create And Destroy Your Own VPN Service Using WireGuard Terraguard - Create And Destroy Your Own VPN Service Using WireGuard Reviewed by Zion3R on 5:30 PM Rating: 5