Install and configure Linux VPN server using Streisand

You can download this article in PDF format via the link below to support us.Download the guide in PDF formatClose

You can finally connect to the Internet, with a smile in your ears, and your joy cannot be hidden. With it, you now have the opportunity to read, view and watch all the content provided on the Internet. Later, you will find that some content is not unknown to you because your ISP has blocked it, or some policies governing your geographic area do not allow it. What is your job? For some people, this is the end of the road and they will be more willing to be satisfied with the content they already have, but for others, they would rather let curiosity kill them.

If you fall into the latter category, this guide will introduce a tool that not only protects your public IP, but also allows you to access content provided by other countries. Streisand VPN is its name. We will study its features and then proceed to the steps involved to install it.

Features of Streisand

  • One command can set up a brand new Ubuntu 16.04 server, which runs various anti-inspection software, which can completely shield and encrypt all your Internet traffic.
  • Streisand natively supports the creation of new servers on Amazon EC2, Azure, DigitalOcean, Google Compute Engine, Linode and Rackspace-more providers will use it soon! It can also run on any Ubuntu 16.04 server, regardless of the provider, using this method can configure hundreds of instances at the same time.
  • The process is fully automated and only takes ten minutes, which is really great when you consider that this will make the average system administrator need a few days of frustration to set up a small part of what Streisand offers in its unconventional products. Configuration.
  • Once your Streisand server is running, you can provide custom connection instructions to friends, family, and activists. The connection instructions contain an embedded copy of the server’s unique SSL certificate, so you only need to send them a file.
  • Each server is completely independent and comes with everything users need to get started, including password-verified images of all common clients. This makes any review of the default download location completely invalid.
  • And more

Sreisand has a wealth of features, before we install it, let us first understand what it needs.

prerequisites

Before installing Streisand, the following conditions must be met

  • SSH key: Make sure the SSH public key exists in ~/.ssh/id_rsa.pub. We will generate it in the installation step. SSH keys are a more secure alternative than passwords. They allow you to prove your identity to servers or services based on public key cryptography. The public key is something you can provide to others, while the private key should be kept secret (such as a password).
  • Package: Streisand requires Git and Python 3.5 or higher
  • Streisand builder requires Linux, macOS or BSD system. Ubuntu on the Windows Subsystem for Linux (WSL) should also work.
  • Streisand’s existing or local host server must be running Ubuntu 16.04 (I know!)

We are already familiar with the information needed to build a house, so we will follow the steps below to enter the house. Please note that we will use two machines to set up Streisand. One is our local server, which should run Linux or macOS or Ubuntu in WSL, and the other is preferably a server running in the cloud of Amazon, Azure, DigitalOcean, Google Compute Engine, Linode or Rackspace. The local server will be called the generator server.

The reason is because Streisand is based on Ansible, which is an automated tool that is usually used to configure and configure files and software packages on remote servers. Streisand uses the VPN software package and configuration to automatically set up another server.

Our setup will be based on the image below

Step 1: Prepare the server and install all dependencies

In this step, we will get everything needed to install the entire installation process.Run the following command to prepare everything on the builder server (local computer)

-----Ubuntu-----

sudo apt-get update
sudo apt-get install git python3 python3-venv python3-pip python3-dev python3-setuptools python-cffi  libcurl4-openssl-dev -y

----- Fedora -----
sudo dnf update
sudo dnf install git python3 gcc python3-devel python3-crypto 
     python3-pycurl libcurl-devel -y

-----CentOS 7-----
sudo yum -y update && sudo yum install -y epel-release
sudo yum -y update && sudo yum install -y 
    git gcc python36-devel python36-crypto python36-pycurl 
    libcurl-devel

-----macOS-----
brew install python3

Step 2: Generate SSH public key

We need to authenticate with the key between the local computer and the server in the cloud. You can easily generate the ssh key as shown below. If you don’t like the default values, please enter another file to save the key. You can leave the passphrase blank.

$ ssh-keygen

Generating public/private rsa key pair.
Enter file in which to save the key (/home/vagrant/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/vagrant/.ssh/id_rsa
Your public key has been saved in /home/vagrant/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:Rb1qJGIsTi9X+wtVlCChmQbH9bXtSyI2fD8xjsDMtvk [email protected]    
The key's randomart image is:
+---[RSA 3072]----+
|    ....+.ooo.   |
|     o.+ + ooo   |
|     .=   o o..  |
|    o.+ o*....   |
|   o + oS+%.o =  |
|    o o .+oB * + |
|     o  .oo . =  |
|         ...   . |
|          ..E    |
+----[SHA256]-----+

Copy the public key to the remote server

In order to authenticate with the key, we must copy the public key just generated above to the remote server where Streisand will be installed. To do this, run the ssh-copy-id command as follows.

$ ssh-copy-id <remote-user>@<server-ip>

##For example
$ ssh-copy-id [email protected]
[email protected]'s password: <Enter-remote-user-password>
Number of key(s) added: 1
Now try logging into the machine, with:   "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.

Now we are fine.You can test whether you can log in automatically without a password

$ ssh [email protected]<server-ip>
##For example
ssh [email protected]

Step 3: Clone the Streisand repository and prepare to install

On your local computer, clone the repository of Streisand and prepare to install the server

$ cd ~
$ git clone https://github.com/StreisandEffect/streisand.git
$ cd streisand

Run the installer of Ansible and its dependencies. The installer will detect missing packages and print the commands needed to install them. (Ignore the Python 2.7 DEPRECATION warning; Ignore the warning from python-novaclient, indicating that pbr 5.1.3 is not compatible.) If there are all required packages, it will continue to install the necessary tools so that the installation of Streisand can proceed smoothly

$ ./util/venv-dependencies.sh ./venv
Found a python3 command....
This system appears to be running Ubuntu or Debian. Checking
for critical packages.

Found: build-essential
Found: python3-pip
Found: python3-openssl
Found: python3-dev
Found: python3-setuptools
Found: python3-venv
Found: python-cffi
Found: libffi-dev
Found: libssl-dev
Found: libcurl4-openssl-dev
Found all critical packages.

If you find any missing packages in the output, please install them according to the environment of your local computer.

Step 4: Install Streisand

While still in the same Streisand clone directory, activate the Ansible package installed in the previous step as shown below

source ./venv/bin/activate

Then execute the Streisand script. You should see the output shown in the following command. Select the location of the server. In this example, I will use “Existing server

$ ./streisand

S T R E I S A N D  

Created new Streisand home directory: /home/vagrant/.streisand
Created new Streisand site vars file: /home/vagrant/.streisand/site.yml
Which provider are you using?  
  1. Amazon
  2. Azure
  3. DigitalOcean
  4. Google
  5. Linode
  6. Rackspace
  7. localhost (Advanced)      
  8. Existing Server (Advanced)
:8

What is the IP of the existing server: 172.25.166.153

THIS WILL OVERWRITE CONFIGURATION ON THE EXISTING SERVER.
STREISAND ASSUMES 172.25.166.153 IS A BRAND NEW UBUNTU INSTANCE AND WILL
NOT PRESERVE EXISTING CONFIGURATION OR DATA.

ARE YOU 100% SURE THAT YOU WISH TO CONTINUE?

Please enter the word 'streisand' to continue: streisand

Confirmed. Continuing

Do you wish to customize which services Streisand will install?
By saying 'no' Streisand will use the settings configured in /home/vagrant/.streisand/site.yml

Press enter to customize your installation:

Confirmed. Customizing Streisand services.


 [WARNING]: Found both group and host with same name: localhost

Enter the path to your SSH private key, or press enter for default  [~/.ssh/id_rsa]:
How many VPN client profiles should be generated per-service (min: 1 max: 20)? Press enter for default  [10]:
Enable DNS-based ad-blocking? Press enter for default  [no]:
Enable OpenConnect? Press enter for default  [yes]:
Enable OpenVPN? Press enter for default  [yes]:
Enable stunnel service (only allowed for OpenVPN)? Press enter for default  [yes]:
Enable Shadowsocks? Press enter for default  [yes]: 
Enable v2ray-plugin for Shadowsocks? Press enter for default  [no]: 
Enable SSH Forward User? (Note: A SOCKS proxy only user will be added, no shell). Press enter for default  [yes]:
Enable sshuttle? (Note: A full shell access user will be added) Press enter for default  [no]:
Enable tinyproxy? Press enter for default  [yes]:
Enable Tor? Press enter for default  [no]:    
Enable WireGuard? Press enter for default  [yes]: 
[BROKEN ON SOME PROVIDERS, including AWS] Enable DNS-over-HTTPS (cloudflared)? Press enter for default  [no]:

Once Ansible Play starts, please pay attention to the questions and options that need to be entered during the installation process.The sample installation progress output is shown below

PLAY [Prepare the new server for Ansible] ************************************************
TASK [Install Python using a raw SSH command to enable the execution of Ansible modules] ***
changed: [localhost]

PLAY [Try to detect Cloud providers for specific overrides] ******************************

TASK [Gathering Facts] *******************************************************************
ok: [localhost]

TASK [Install dmidecode to use for BIOS version detection] *******************************
 [WARNING]: Updating cache and auto-installing missing dependency: python-apt

 [WARNING]: Could not find aptitude. Using apt-get instead

ok: [localhost]

TASK [Try to determine localhost Cloud provider name from BIOS version] ******************
ok: [localhost]

TASK [Set BIOS name fact from dmidecode if possible] *************************************
ok: [localhost]

TASK [...Otherwise set unknown BIOS fact] ************************************************
skipping: [localhost]

TASK [Warn about manual provisioning of GCE instances] ***********************************
skipping: [localhost]

TASK [Find the external GCE IP from Google Metadata] *************************************
skipping: [localhost]

TASK [Set the Streiand IPv4 address to the GCE external IP: {{ streisand_gce_external_ip.stdout }}] ***
skipping: [localhost]

TASK [Warn about manual provisioning of EC2 instances] ***********************************
skipping: [localhost]

TASK [Find the external EC2 IP from Metadata] ********************************************
skipping: [localhost]

TASK [Set the Streiand IPv4 address to the EC2 external IP: {{ streisand_ec2_external_ip.stdout }}] ***
skipping: [localhost]

PLAY [Prepare the localhost for Streisand] ***********************************************

TASK [Gathering Facts] *******************************************************************
ok: [localhost]

TASK [set_fact] **************************************************************************
ok: [localhost]

TASK [Set the Streisand IPv4 address to the Ansible default: interface: eth0 address: 172.25.168.96] ***
ok: [localhost]

PLAY [Prepare the new server for Ansible] ************************************************

TASK [Install Python using a raw SSH command to enable the execution of Ansible modules] ***
changed: [localhost]
Do you have a fully qualified domain pointed at your Streisand server?

This is an optional question. If you have a domain that points to your
Streisand server, the installation scripts can request a Let's Encrypt
HTTPS certificate for you automatically.  If you do not provide one or
the request fails, a self-signed certificate will be used instead.

If you have just created a new cloud server in previous steps now is a
good time to point your fully qualified domain to your server's public
address. Make sure the fully qualified domain resolves to the correct IP
address before proceeding.

Please type your fully qualified domain below. Press enter to skip.
:
Which email address do you want to use as a contact for the Streisand
server's Let's Encrypt certificate?

This is an optional question. If you supply an email address Let's
Encrypt will send you important (but infrequent) notifications about
your certificate. These messages include any upcoming certificate
expirations, and important changes to the Let's Encrypt service.
The email provided will not be used for anything else or shared with the
Streisand developers.

Please type your contact email below. Press enter to skip.
: [email protected]
TASK [Set Streisand admin email] *********************************************************
ok: [localhost]

TASK [Enable Let's Encrypt role] *********************************************************
skipping: [localhost]

TASK [Disable Let's Encrypt role] ********************************************************
ok: [localhost]

PLAY [Collect diagnostics in case of error] **********************************************

TASK [diagnostics : Determine the git revision of the current Streisand clone] ***********
ok: [localhost]

TASK [diagnostics : Determine if there are untracked changes in the Streisand clone] *****
ok: [localhost]

TASK [diagnostics : Produce the diagnostics markdown file to share if there is an error] ***
changed: [localhost]

PLAY [Configure the Server and install required software] ********************************

TASK [Gathering Facts] *******************************************************************
ok: [localhost]

If you encounter the following error during installation

TASK [gpg : Refresh the Streisand GPG keyring with keyserver information] ***********************************************************************************

FAILED - RETRYING: Refresh the Streisand GPG keyring with keyserver information (10 retries left).
FAILED - RETRYING: Refresh the Streisand GPG keyring with keyserver information (9 retries left).

Please do the following. turn on”~/streisand/playbooks/roles/gpg/tasks/main.yml“File and find line 89, and set the submission time to False

when: False

Afterwards, please update “~/streisand/playbooks/roles/openvpn/files/openvpn_signing.key“with”~/streisand/playbooks/roles/test-client/files/openvpn_signing.key“, the following is the latest. Back up the file and create a new file with the same name

$ vim ~/streisand/playbooks/roles/openvpn/files/openvpn_signing.key


-----BEGIN PGP PUBLIC KEY BLOCK-----

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
VHxVxJNKrv1//EX/
=qIrL
-----END PGP PUBLIC KEY BLOCK-----

This is the solution after solving this problem GitHub page. You can view it.

At the same time, if you want to install Wireguard, its package is part of the standard repository, so you must~/streisand/playbooks/roles/wireguard/tasks/install.yml“File, as shown in the figure below.

---
- name: Determine the running kernel release
  command: uname -r
  register: kernel_release

#- name: Add the WireGuard PPA
#  apt_repository:
#    repo: 'ppa:wireguard/wireguard'
#  register: wireguard_add_apt_repository
#  until: not wireguard_add_apt_repository.failed
#  retries: "{{ apt_repository_retries }}"
#  delay: "{{ apt_repository_delay }}"

- name: Install the WireGuard packages
  apt:
    package:
      - linux-headers-{{ kernel_release.stdout }}
      - linux-headers-generic
      - wireguard-dkms
      - wireguard-tools

Otherwise, you will receive this error

TASK [wireguard : Add the WireGuard PPA] *****************************************************************************************************************************************************************
FAILED - RETRYING: Add the WireGuard PPA (10 retries left).
FAILED - RETRYING: Add the WireGuard PPA (9 retries left).
FAILED - RETRYING: Add the WireGuard PPA (8 retries left).

Then re-run the ./streisand command again.

$ ./streisand

After everything is over, you will see the final TASK message:

TASK [streisand-gateway : Success!] ***********************************************************************
[streisand-gateway : Success!]
Server setup is complete. The `vagrant-dev.html` instructions file in the generated-docs folder is ready to give to friends, family members, and fellow activists. Press Enter to continue.:

Step 5: Configure the client

After Streisand is installed, you will be in the “~/streisand/generation-docs“Directory. Especially in”vagrant-dev.html“File. Below the file, you will also find how to log in to the streisand instance, where you will get the same document.

streisand html login

Log in by pointing your browser to https://IP-or-FQDN of the server. You will receive a login prompt.Enter the username and password found at the bottom of the file

streisand document login

You will be taken to the documentation page. You will find various ways to connect to the Streisand Gateway server using various clients.

Stanza File

references: Streisand GitHub page

Concluding remarks

Once connected to the Streisand Gateway server, your IP is protected and you can access restricted content found in other countries. By installing Streisand, being naughty in this festival, it will install Ansible in its installation and see the results you will get. As you celebrate with the people you care about, we will continue to thank you for your unremitting support and wish you a great time. Don’t forget to stay safe.

Other notable guidelines include:

Install and configure Pritunl VPN server on Ubuntu

Connect to the VPN server using Cisco AnyConnect from a Linux terminal

The necessity of installing VPN on both computer and smartphone

Install and configure OpenVPN Server on RHEL 8 / CentOS 8

Algo VPN-Set up personal IPSEC VPN in the cloud

You can download this article in PDF format via the link below to support us.Download the guide in PDF formatClose

Sidebar