Sådan installeres og konfigureres OpenVPN -server på Ubuntu Linux

Indholdsfortegnelse

OpenVPN Det er uden tvivl den bedste måde, hvordan vi kan etablere en sikker forbindelse til et netværk via internettet.

OpenVPN er en VPN -ressource af Åben kilde Det giver os som brugere mulighed for at maskere vores browsing for at undgå at blive ofre for tyveri af oplysninger på netværket. Dette er meget vigtige aspekter på sikkerhedsniveau, som vi skal tage højde for, og denne gang skal vi analysere OpenVPN -konfigurationsprocessen i et Ubuntu 16.04 -miljø.

OpenVPN brugerTakket være OpenVPN kan vi udføre opgaver som:

  • Beskyt trafikken under webbrowseprocessen.
  • Fungerer som en tunnel over enhver IP -adresse ved hjælp af en enkelt TCP- eller UDP -port.
  • Opsætning flere servere Skalerbar VPN.
  • Brug krypteringsfunktioner og godkendelse for at beskytte trafik.
  • Udveksling af dynamiske nøgler.
  • Opret broer af Sikker Ethernet.
  • VPN -styring ved hjælp af en grafisk grænseflade fra Windows- og Mac OS -miljøer.

OpenVPN kravInden installationsprocessen påbegyndes, er det vigtigt at opfylde visse krav, disse er:

  • Rodbruger
  • Dråbe Ubuntu 16.04

1. Sådan installeres Update og installeres OpenVPN på Ubuntu 16.04

Trin 1
Først og fremmest vil vi opdatere Ubuntu 16.04 ved hjælp af følgende kommando:

 sudo apt-get opdatering 
Trin 2
Når systemet er opdateret, fortsætter vi med at installere OpenVPN ved hjælp af følgende kommando. Vi accepterer download og respektive installation af OpenVPN -pakkerne.
 sudo apt-get install openvpn easy-rsa 

FORSTØRRE

På denne måde vi har installeret OpenVPN på Ubuntu 16 og nu vil det være nødvendigt at udføre konfigurationsprocessen.

2. Sådan indstilles CA -biblioteket i Ubuntu 16.04


Det CA -bibliotek (Certificate Authority- Certificate of Authority) er den måde, hvorpå vi kan udstede pålidelige certifikater, da OpenVPN er en VPN, der bruger TLS / SSL -protokoller.

Trin 1
For det vi kopierer skabelonerne fra easy-rsa i vores hjemmemappe ved hjælp af kommandoen make-cadir, indtaster vi følgende i Ubuntu 16.04 -terminalen:

 make-cadir ~ / openvpn-ca 
Trin 2
Nu får vi adgang til den tidligere oprettede rute:
 cd ~ / openvpn-ca 

FORSTØRRE

3. konfigurer variabler af autoritetscertifikater i Ubuntu 16.04


Det er nødvendigt, at vi konfigurerer de værdier, der skal bruges af myndigheden eller CA -certifikater, og til dette skal vi redigere filen vars i biblioteket.

Trin 1
Vi kan åbne denne fil ved hjælp af den foretrukne editor, i dette tilfælde vil den være nano:

 sudo nano vars 

FORSTØRRE

Trin 2
I denne fil finder vi de variabler, som vi kan justere og konfigurere til at bestemme den måde, hvorpå autoritetscertifikaterne vil blive oprettet. Vi vil rulle til bunden af ​​filen, indtil vi finder disse variabler:

 eksport KEY_COUNTRY = "US" eksport KEY_PROVINCE = "CA" eksport KEY_CITY = "SanFrancisco" eksport KEY_ORG = "Fort-Funston" eksport KEY_EMAIL = "[email protected]" eksport KEY_OU = "MyOrganizationalUnit"

FORSTØRRE

Trin 3
Vi redigerer disse værdier baseret på de nødvendige parametre. På samme måde redigerer vi linjen eksporter KEY_NAME tildelt det relevante navn, i dette tilfælde har vi kaldt det server.

FORSTØRRE

Trin 4
Vi beholder ændringer ved hjælp af kombinationen:

Ctrl + O.

Y vi gik ud fra redaktøren ved hjælp af

Ctrl + X

4. Sådan oprettes autoritetscertifikatet i Ubuntu 16.04


Med disse værdier defineret går vi videre til oprettelsen af ​​autoritetscertifikatet.

BemærkHuske på, at vi skal være i ~ / openvpn-ca biblioteket.

Trin 1
Når vi er i biblioteket, udfører vi følgende kommando:

 kilde vars 

FORSTØRRE

Trin 2
Vi fortsætter med at udføre den angivne kommando for at have et rent miljø:

 ./clean-all 
Trin 3
Nu vi opretter rod -CA -certifikatet ved hjælp af følgende kommando:
 ./build-ca 
Trin 4
Vi kan se en række spørgsmål, som vi allerede har konfigureret i vars -filen, som vi kun skal trykke på Gå ind skal udfyldes automatisk. Dermed vi har oprettet certifikatet hvilket vil være nyttigt i resten af ​​processen.

FORSTØRRE

5. Sådan oprettes servercertifikat, nøgle og krypterede filer i Ubuntu 16.04


På dette tidspunkt skal vi oprette servercertifikatet og dets respektive nøgler.

Trin 1
Til dette vil vi udføre følgende kommando:

 ./build-key-server server 
Vi skal erstatte servernavnet med det, der er tildelt på linjen eksporter KEY_NAME fra vars -filen). De værdier, der allerede er defineret i vars -filen, udsendes automatisk, for hvilket vi trykker på Enter.

Trin 2
Vi kan se, at certifikatet er oprettet korrekt.

FORSTØRRE

Trin 3
Dernæst opretter vi andre parametre som f.eks Diffie-Hellman kryptering som kan bruges under nøgleudvekslingen, til det vil vi bruge følgende linje.

 ./build-dh 

FORSTØRRE

Trin 4
Denne proces tager et par minutter at fuldføre. Vi kan også generere en HMAC -signatur, som giver os mulighed for at forbedre serverens TLS -integritetsniveauer, for dette indtaster vi følgende.

 openvpn --genkey --hemmelige nøgler / ta.key 

6. Sådan oprettes servercertifikat, nøgle og krypterede filer i Ubuntu 16.04


Denne proces kan udføres på klientmaskinen og senere signeres ved hjælp af CA -serveren, men denne gang udfører vi den direkte for at spare tid. Vi får adgang til biblioteket igen, hvis vi ikke allerede er der. ~ / openvpn-ca og der vil vi udføre kommandoen source vars.

Trin 1
Nu vil vi indtaste følgende linje, hvor vi definerer klientens navn:

 ./build-key solvetic1 
Vi skal trykke Gå ind i de respektive spørgsmål, der allerede er konfigureret ovenfor

FORSTØRRE

Trin 2
Denne kommando opretter legitimationsoplysninger uden at kræve en adgangskode, hvis vi af sikkerhedsmæssige årsager ønsker at etablere en legitimationsoplysninger med en adgangskode, skal vi udføre følgende linje:

 ./build-key-pass (klientnavn) 

7. Sådan konfigureres OpenVPN -service i Ubuntu 16.04


Det næste trin er at konfigurere OpenVPN -tjenesten, så alt fungerer, som du vil. Først og fremmest vil vi kopiere de filer, vi har oprettet i stien ~ / openvpn-ca til stien / etc / openvpn, husk at CA -certifikaterne, nøglerne, filen Diffie-Hellman og HMAC-filen.

Trin 1
Til dette får vi adgang til følgende bibliotek:

 cd ~ / openvpn-ca / keys 
Trin 2
Når vi er der, vil vi udføre følgende linje til kopieringsprocessen:
 sudo cp ca.crt ca.key server.crt server.key ta.key dh2048.pem / etc / openvpn 
Trin 3
Nu skal vi kopiere og pakke ud en OpenVPN -konfigurationsfil i den mappe, der skal bruges som en base. Til dette vil vi indtaste følgende:
 gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf 

FORSTØRRE

8. Sådan justeres OpenVPN -indstillinger i Ubuntu 16.04

Trin 1
Når vi har disse filer i den nødvendige sti, fortsætter vi med at justere OpenVPN -konfigurationen ved at få adgang til filen server.conf:

 sudo nano /etc/openvpn/server.conf 

FORSTØRRE

Trin 2
Der vil vi foretage følgende justeringer. Vi går til stregen tls-auth ta.key 0 # Denne fil er hemmelig og under det tilføjer vi følgende.

 nøgleretning 0 
Trin 3
På linjen chiffer AES-128-CBC vi fjerner symbolet; placeret i begyndelsen af ​​den og under denne linje indtaster vi følgende.
 autorisation SHA256 
Trin 4
Dette er for at oprette en godkendelseslinje for vælg meddelelsesalgoritmen. På linjerne bruger Y gruppe vi fjerner symbolet på; placeret i begyndelsen.

FORSTØRRE

Som valgfrie alternativer kan vi tilføje følgende.

Skubber DNS -trafik gennem VPNDenne mulighed er praktisk, når vi udelukkende ønsker at dirigere al trafik via VPN.

 Til dette foretager vi følgende ændringer i den forrige fil: Vi fjerner kommentarer fra linjerne: push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220"

Rediger porten i OpenVPNSom standard bruger OpenVPN port 1194 og UDP -netværksprotokollen til klientforbindelser. Hvis vi vil ændre denne port, går vi til linjen Havn og vi tildeler den nye port i henhold til det aktuelle behov.

FORSTØRRE

På samme måde kan vi justere protokollen på linjen proto.

Justering af netværksindstillinger - IP -videresendelseDette punkt er vigtigt, da det tillader al OpenVPN -trafik at blive dirigeret korrekt.

Først vil vi aktivere Videresendelse af IP -adresse, det vil sige, at serveren videresender trafikken, for dette skal vi redigere filen /etc/sysctl.conf:

 sudo nano /etc/sysctl.conf 
Inde i filen vil vi placere linjen net.ipv4.ip_forward = 1 og vi kommenterer det ved at fjerne # -symbolet i begyndelsen af ​​det.

FORSTØRRE

Vi beholder ændringerne, og vi forlader filen. For alle de ændringer, der skal anvendes i den aktuelle session, udfører vi følgende kommando.

 sudo sysctl -p

Indstilling af reglerne i Ubuntu 16.04 firewallBrug af firewallen er afgørende, da den beskytter os mod indgående forbindelser til systemet, på dette tidspunkt må vi rediger regelfilen til konfiguration af maskeret trafik. Først og fremmest skal vi kende serverens offentlige netværksinterface, for dette udfører vi følgende kommando:

 ip -rute | grep standard 

FORSTØRRE

I dette eksempel er det offentlige netværksinterface enp0s3. Nu får vi adgang til reglernes konfigurationsfil til din justering indtaster vi følgende:

 sudo nano /etc/ufw/before.rules 
Følgende vindue vises.

FORSTØRRE

Denne fil administrerer den konfiguration, der skal foregå, før de typiske UFW -regler udføres. Øverst indtaster vi følgende linjer, som etablerer POSTROUTING -konfigurationen:

 # START OPENVPN -REGLER # NAT -tabelregler * nat: POSTROUTING ACCEPT [0: 0] # Tillad trafik fra OpenVPN -klient til (interface) -A POSTROUTING -s 10.8.0.0/8 -o (interface) -j MASQUERADE COMMIT # END OPENVPN REGLER

FORSTØRRE

Det er vigtigt, at i enp0s3 felt lad os indstille det korrekte navn på grænsefladen, der skal bruges. Vi beholder ændringer ved hjælp af kombinationen:

Ctrl + O.

Y vi gik ud fra redaktøren ved hjælp af:

Ctrl + X

Nu skal vi tillade UFW accepter pakker i øvrigt Standard, for dette vil vi udføre følgende kommando:

 sudo nano / etc / default / ufw 
På linjen DEFAULT_FORWARD_POLICY vi ændrer udtrykket DROP ved ACCEPT.

FORSTØRRE

Vi beholder ændringerne.

Åbning af VPN -porte og aktivering af ændringerneDet næste trin er at justere firewallindstillinger at tillade al trafik til OpenVPN. For det vi udfører følgende kommando.

 sudo ufw tillader 1194 / udp 
BemærkHvis vi har redigeret porten og protokollen, skal vi ændre den i denne kommando, det er standardværdierne for OpenVPN.

Vi tilføjer også SSH -port:

 sudo ufw tillader OpenSSH 

FORSTØRRE

Til upload ændringer vi vil bruge følgende kommandoer.

 sudo ufw deaktiver sudo ufw aktiver
Vi kan kontrollere, at reglerne er tilføjet ved hjælp af kommandoen sudo ufw status:

FORSTØRRE

9. Sådan startes og aktiveres OpenVPN -tjenesten i Ubuntu 16.04


Med disse allerede definerede værdier Vi er i stand til at starte OpenVPN -tjenesten i Ubuntu, og til dette vil det være nødvendigt at angive det navn, vi har tildelt.

Trin 1
Til dette vil vi udføre følgende linje:

 sudo systemctl start openvpn @ server 
Trin 2
Efterfølgende vi validerer status for OpenVPN ved hjælp af linjen:
 sudo systemctl status openvpn @ server 

FORSTØRRE

Trin 3
Vi kan se, at dens status er korrekt, og at den er startet med succes. Vi trykker på bogstavet q for at vende tilbage til kommandolinjen. På samme måde kan vi verificere OpenVPN tun0 -grænsefladen ved at indtaste følgende:

 ip addr show tun0 

FORSTØRRE

Trin 4
For at OpenVPN -tjenesten kan køre automatisk ved hvert login, skal vi indtaste følgende parameter:

 sudo systemctl aktiver openvpn @ server 

FORSTØRRE

10. Sådan oprettes OpenVPN -klientstrukturen på Ubuntu 16.04

Trin 1
Det næste trin er at oprette klientkonfigurationsfilerne, til dette vil vi oprette denne struktur i det personlige bibliotek ved at udføre følgende:

 mkdir -p ~ / client -configs / files 
Trin 2
Vi vil blokere tilladelserne på den rute, da de oprettede nøgler er placeret der, vil vi bruge følgende linje:
 chmod 700 ~ / client-configs / files 

11. Sådan oprettes en OpenVPN -konfigurationsbase på Ubuntu 16.04

Trin 1
På dette tidspunkt vil vi kopiere en klientkonfigurationsbase i biblioteket for at have det som en base, vi udfører følgende:

 cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client-configs/base.conf 
Trin 2
Vi åbner denne fil med vores foretrukne editor:
 sudo nano ~ / client-configs / base.conf 

FORSTØRRE

Trin 3
Der finder vi linjen fjern og vi indtaster serverens IP -adresse, efterfulgt af UDP -port 1194:

FORSTØRRE

Trin 4
I den samme fil foretager vi følgende ændringer:

  • Vi fjerner linjerne bruger Y gruppe fjernelse af skiltet;
  • Vi kommenterer, tilføjer # -symbolet til linjerne AC, cert Y nøgle
  • Vi tilføjer linjerne chiffer AES-128-CBC Y autorisation SHA256
  • Under den forrige linje skriver vi nøgleretning 1
  • I slutningen af ​​filen tilføjer vi følgende linjer:
 script-security 2 / # up / etc / openvpn / update-resolv-conf / # down / etc / openvpn / update-resolv-conf

Hvis det ikke virker for dig, kan du prøve denne anden form for script-sikkerhedskommando:

 script-security 2 / up / etc / openvpn / update-resolv-conf / down / etc / openvpn / update-resolv-conf

FORSTØRRE

Trin 5
Vi beholder ændringer ved hjælp af kombinationen:

Ctrl + O.

Y vi gik ud fra redaktøren ved hjælp af:

Ctrl + X

12. Sådan oprettes et script til OpenVPN -konfiguration på Ubuntu 16.04

Trin 1
Dette script sørger for at kompilere de vigtigste begivenheder i certifikatet, nøglen og krypteringsfilerne i stien ~ / client-configs / files. Vi opretter en fil kaldet make_config.sh ved hjælp af følgende syntaks:

 sudo nano ~ / client-configs / make_config.sh
Trin 2
En tom fil åbnes, hvor vi tilføjer følgende linjer:
 #! / bin / bash # Første argument: Klientidentifikator KEY_DIR = ~ / openvpn-ca / keys OUTPUT_DIR = ~ / client-configs / files BASE_CONFIG = ~ / client-configs / base.conf cat $ {BASE_CONFIG} \ <(echo -e '') \ $ {KEY_DIR} /ca.crt \ <(echo -e '\ n') \ $ {KEY_DIR} / $ {1} .crt \ <(echo -e '\ n') \ $ {KEY_DIR} / $ {1} .key \ <(echo -e '\ n') \ $ {KEY_DIR} /ta.key \ <(echo -e '') \> $ {OUTPUT_DIR} / $ {1} .ovpn

FORSTØRRE

Trin 3
Vi beholder ændringerne og vi gik ud fra redaktøren. Vi gør denne fil eksekverbar ved at indtaste følgende:

 sudo chmod 700 ~ / client-configs / make_config.sh 

13. Sådan konfigureres OpenVPN -klientfiler på Ubuntu 16.04


Det næste trin er at oprette konfigurationsfilerne til klienten, som vi har oprettet som Solvetic1.

Trin 1
Til dette vil vi indtaste følgende linjer:

 cd ~ / client-configs ./make_config.sh client1 [plain] Trin 2 [ / plain] Vi kan se indholdet i denne mappe ved hjælp af kommandoen ls: ls ~ / client-configs / files

FORSTØRRE

Vi ser, at der er Solvetic1 -klienten oprettet korrekt.

14. Sådan overføres OpenVPN -indstillinger til OpenVPN -klientmaskiner på Ubuntu 16.04


Når vi har hele konfigurationsprocessen udført i Ubuntu 16, er det tid til at overføre Filen Solvetic1.ovpn til de respektive enheder, f.eks. computere eller mobile enheder.

Trin 1
Vi kan bruge den overførselsklient, vi ønsker, baseret på det system, vi bruger, et eksempel på overførsel kan være følgende i et Fedora 25 -miljø:

 sftp [email protected]: client-configs / files / Solvetic1.ovpn ~ / 
Trin 2
I dette eksempel vil vi bruge Windows og klienten Filezilla:

FORSTØRRE

15. Sådan installeres og køres OpenVPN på Ubuntu 16.04


Trin 1
OpenVPN er tilgængelig til Windows, Linux, Mac OS, Android, FreeBSD osv. I det følgende link kan vi downloade den relevante version af OpenVPN:

Trin 2
Dernæst vil vi se, hvordan man kører OpenVPN på de forskellige operativsystemer.

Kør OpenVPN på WindowsI Windows, som er eksemplets system, skal vi kopier .ovpn -filen på ruten:

 C: \ Program Files \ OpenVPN \ config 
Trin 3
Derfra kan vi højreklikke på filen og vælge indstillingen Start OpenVPN på denne konfigurationsfil

FORSTØRRE

På denne måde får vi forbindelse til OpenVPN -serveren.

BemærkOpenVPN skal køres med administrative privilegier.

Kør OpenVPN på LinuxProcessen på Linux -systemer skal være som følger:

Først opdaterer vi systemet og installerer OpenVPN ved hjælp af følgende kommandoer:

 sudo apt-get opdatering 
 sudo apt-get install openvpn 
Hvis vi bruger CentOS vi vil bruge følgende kommandoer:
 sudo yum installer epel-release sudo yum installer openvpn
Når den er installeret OpenVPN vi vil udføre følgende kommando:
 ls / etc / openvpn 
Det næste trin er at rediger .ovpn -filen overført med den ønskede editor.
 sudo nano file.ovpn 
I den åbne fil skal vi kommentar følgende linjer:
 script-security 2 up / etc / openvpn / update-resolv-conf
 ned / etc / openvpn / update-resolv-con 
Nu kan vi oprette forbindelse til VPN ved hjælp af følgende syntaks:
 sudo openvpn --config File.ovpn

Kør OpenVPN på Mac OSHvis vi bruger Mac OS, gælder det for macOS Sierra, vi kan bruge værktøjet tunnelblick som vi kan downloade gratis på følgende link:

Når programmet udføres i titellinjen, ser vi det tilsvarende ikon, klikker der og vælger Opret forbindelse og vi vælger klienten, som vi har konfigureret, f.eks. Solvetic1.

Kør OpenVPN på AndroidFor Android -brugere, der ønsker at oprette forbindelse til Linux via VPN, kan vi downloade OpenVPN Connect -applikationen på følgende link:

Filen .ovpn vi skal overføre det via USB til telefonen til brug.
Når vi udfører applikationen, går vi til menuen og vælger det sted, hvor vi har .ovpn -filen, og derfra importerer vi den. For at oprette forbindelse klikker vi på knappen Opret forbindelse.

På enhver af de angivne måder er målet at få adgang til Ubuntu 16.04 via VPN og nyde fordelene ved OpenVPN.

FORSTØRRE

Som du kan se, er konfiguration af en OpenVPN -server i Ubuntu noget kompleks, men med denne komplette manual har du trin for trin alt, hvad du skal gøre for at sætte det i dette system. Hvis du ud over Ubuntu bruger andre distros, forlader vi dig her hvordan man konfigurerer og installerer en OpenVPN -server på Debian.

OpenVPN Debian -server

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave