Raspberry PI-s oma OpenVPN-i serveri käitamine

Tere kõigile!

Selles lühikeses artiklis selgitan, kuidas oma VPN (Virtual Private Network) server seadistada Raspberry PI-le OpenVPN-iga. Pärast serveri seadistamist seadistame oma liikluse varjamiseks varjateserveri, mis näitab, et kasutame VPN-i. See aitab meil mingist tsensuurist kõrvale hiilida.

Miks kasutada VPN-i?

Kõigepealt räägime sellest, miks võiksite kasutada VPN-serverit:

  1. Vältige inimest keskmistes rünnakutes. Kui teie kohalikus võrgus on pahatahtlik kasutaja - isegi toanaaber -, on see inimene võimeline jälgima teie krüptimata liiklust ja seda muutma.
  2. Minu puhul varjata oma Interneti-tegevust Interneti-teenuse pakkuja (ISP) või ülikooli eest.
  3. Teenuste blokeerimine. Minu ülikool blokeerib kõik UDP (User Datagram Protocol) paketid. See tähendab, et ma ei saa kasutada ühtegi rakendust, mis suhtleb UDP kaudu. Ma ei saa oma e-posti klienti kasutada, mänge mängida ega isegi Gitit kasutada!

Otsustasin oma kodus Internetis VPN-i seadistada Raspberry Pi abil. Nii saan ülikooli ajal ühenduse luua koduvõrguga. Kui vajate teises riigis asuvat VPN-serverit, saate DigitalOceanilt osta virtuaalse privaatserveri 5 dollarit kuus. 10 dollari soodustuse saamiseks võite kasutada minu viite linki - see on kaks kuud tasuta VPN-i. Kuid te ei pea seda kasutama, kui te seda ei soovi.

OpenVPN-i installimine

See samm on tõesti lihtne, sest me kasutame seda teie jaoks shelliskripti abil. Nii et peate lihtsalt järgmiseks "vajutama" ja lõpetama.

Installimine võtab kaua aega, olenevalt valitud võtme suurusest. Minu Raspberry Pi 3 mudelil B kulus umbes 3 tundi.

Minge sellesse hoidlasse ja järgige juhiseid

Angristan / OpenVPN-install

OpenVPN-install - seadistage oma OpenVPN-server Debianis, Ubuntu, Fedora CentOS ja Arch Linuxis github.com

Kui te ei tea oma serveri IP-aadressi, siis lihtsalt sisestage 0.0.0.0. Olen valinud 443porti ja TCP (edastuse juhtimisprotokoll) protokolli jaoks.

Märkus : See on väga oluline, sest minu ülikool lubab ainult TCP / 80 ja TCP / 443 porte, ülejäänud on üsna blokeeritud. Ka Obfsproxy töötab ainult TCP-ga, seega veenduge, et valisite TCP !

Pärast skripti lõppu saate .ovpn- faili. Seda saab importida oma lemmik VPN-i klienti ja kõik peaks toimima kastist välja.

Ühenduse testimine

Importige .ovpn-fail oma VPN-i klienti ja muutke 0.0.0.0ip oma Raspberry PI kohalikuks ip- ks . Sõltuvalt teie võrgu konfiguratsioonist võib see olla vormis 192.168.*.*.

Märkus. See töötab ainult siis, kui olete ühendatud sama WiFi-ga kui Pi.

Olen oma ruuteri konfigureerinud nii, et PI saab alati reserveeritud IP-aadressi. Võib-olla peate kontrollima ruuteri seadeid, kui soovite midagi sarnast teha.

Kui ühendus on õnnestunud, õnnitleme, teil on nüüd VPN-server! Kuid te ei pääse sellele väljastpoolt juurde ... veel.

Kui soovite ainult OpenVPN-i serverit ilma varjatud puhverserverita, võite hüpata pordi edastamise juurde .

Obfuscation Proxy Install

Obfs4 on skrambleeriv puhverserver. See varjab teie Interneti-liiklust müra väljanägemiseks. Keegi, kes teie liiklust nuhib, ei tea tegelikult, mida teete, ja see kaitseb teid aktiivse proovirünnaku eest, mida kasutab Hiina suur tulemüür.

Märkus. See meetod ei toimi, kui teie vastane lubab ainult lubatud loendisse lisatud liiklust :(

Installime nüüd puhverserveri.

0. Installige vajalik pakett:

apt-get update && apt-get install obfs4proxy
  1. Looge kataloog, mis hoiab konfiguratsiooni.
sudo mkdir -p /var/lib/tor/pt_state/obfs4

2. Looge konfiguratsioonifail.

sudo nano /var/lib/tor/pt_state/obfs4/obfs4.config

Konfiguratsioonifaili kleebite järgmised asjad:

TOR_PT_MANAGED_TRANSPORT_VER=1TOR_PT_STATE_LOCATION=/var/lib/tor/pt_state/obfs4TOR_PT_SERVER_TRANSPORTS=obfs4TOR_PT_SERVER_BINDADDR=obfs4-0.0.0.0:444TOR_PT_ORPORT=127.0.0.1:443

TOR_PT_SERVER_BINDADDR on aadress, kust puhverserver uusi ühendusi kuulab. Minu puhul on see nii 0.0.0.0:444- miks 444 ja mitte 443? Noh, sest ma ei taha muuta OpenVPN-i serveri konfiguratsiooni, mis praegu kuulab 443. Samuti kaardistan selle aadressi hiljem porti edastamise abil numbrile 443.

TOR_PT_ORPORT peaks osutama OpenVPN-i serverile. Minu puhul töötab minu server edasi127.0.0.1:443

3. Looge SystemD teenusefail.

sudo nano /etc/systemd/system/obfs4proxy.service

Seejärel kleepige sinna järgmine sisu:

[Unit]Description=Obfsproxy Server[Service]EnvironmentFile=/var/lib/tor/pt_state/obfs4/obfs4.configExecStart=/usr/bin/obfs4proxy -enableLogging true -logLevelStr INFO[Install]WantedBy=multi-user.target

4. Käivitage Obfuscation puhverserver.

Nüüd veenduge, et OpenVPN töötab ja käivitage puhverserveri käivitamiseks ja käivitamisel käivitamiseks järgmised käsud.

sudo systemctl start obfs4proxysudo systemctl enable obfs4proxy

5. Salvestage sertifikaadi võti

Pärast teenuse käivitamist käivitage järgmine käsk ja salvestage sert KEY.

cat /var/lib/tor/pt_state/obfs4/obfs4_bridgeline.txt

The key is of the form Bridge obfs4 : GERPRINT> c ert=KEY iat-mode=0 . You will need it when you’re connecting to the VPN.

6. Testing the connections.

Open up your VPN client and change the ip from 443 to 444 in order to connect to the proxy instead of the OpenVPN server.

After that, find the Pluggable Transport option in your OpenVPN client and see if it supports obfs4.

If everything works, then you’re all set! Congratulations! Only a few more things to tweak before using this VPN from the outside world.

Port Forwarding

In order to access the OpenVPN server from the outside world we need to unblock the ports, because they are most likely blocked. As you remember, I have reserved my PI’s IP address on my router to always be 192.168.1.125 so it doesn’t change if the PI disconnects or if the router reboots.

This way I have defined the following rules in my Port Forwarding table:

The outside port 443 will point to the obfuscation’s server port 444. If you don’t have an obfuscation server, then leave 443->443.

The port 25 will point to the PI’s SSH port 22. This is only for my own convenience.

In case I want to access the OpenVPN server directly without the obfuscation proxy, I have created a rule 444->443

The service port is the OUTSIDE port that will be used with your PUBLIC IP address. To find your public IP, use a service like whatsmyip.com.

The internal port is the INSIDE port. It can be used only when you are connected to the network.

Note: The first rule is saying redirect all the connections from PUBLIC_IP:443 to 192.168.1.125:444

Testing

  1. Find your public IP and replace your old IP with the public IP in the .ovpn file or in the VPN client.
  2. Connect to the VPN.

That’s it.

Dynamic DNS

In most cases, your IP will change because it’s a dynamic IP. A way to overcome this is to create a small program on the PI that saves your IP and sends you an email every day or so. You may also store the IP in an online database such as Firebase.

My router has Dynamic DNS setting. This way I can use a service provider like NoIP and get a domain like example.no-ip.com that will always point to my public IP address.

Other Resources:

  • A Childs Garden Of Pluggable Transports
  • Viscosity-Obsfurcation/
  • //www.pluggabletransports.info/transports/

Kui teil on küsimusi, tabas mind Twitteris.