Slik installerer og konfigurerer du OpenVPN -server på Ubuntu Linux

Innholdsfortegnelse

OpenVPN Det er uten tvil den beste måten hvordan vi kan etablere en sikker forbindelse til et nettverk gjennom Internett.

OpenVPN er en VPN -ressurs av Åpen kilde Det lar oss som brukere maskere nettlesingen vår for å unngå å bli ofre for tyveri av informasjon på nettverket. Dette er svært viktige aspekter på sikkerhetsnivå som vi må ta hensyn til, og denne gangen skal vi analysere OpenVPN -konfigurasjonsprosessen i et Ubuntu 16.04 -miljø.

OpenVPN brukerTakket være OpenVPN kan vi utføre oppgaver som:

  • Beskytt trafikken under nettlesingsprosessen.
  • Fungerer som en tunnel over enhver IP -adresse som bruker en enkelt TCP- eller UDP -port.
  • Sett opp flere servere Skalerbar VPN.
  • Bruk krypteringsfunksjoner og godkjenning for å beskytte trafikk.
  • Utveksling av dynamiske taster.
  • Lag broer av Sikkert Ethernet.
  • VPN -administrasjon ved hjelp av et grafisk grensesnitt fra Windows- og Mac OS -miljøer.

OpenVPN -kravFør du starter installasjonsprosessen er det viktig å oppfylle visse krav, disse er:

  • Rotbruker
  • Slipp Ubuntu 16.04

1. Slik installerer du Oppdater og installerer OpenVPN på Ubuntu 16.04

Trinn 1
Først og fremst vil vi oppdatere Ubuntu 16.04 ved å bruke følgende kommando:

 sudo apt-get oppdatering 
Steg 2
Når systemet er oppdatert, fortsetter vi med å installere OpenVPN ved å bruke følgende kommando. Vi godtar nedlasting og respektive installasjon av OpenVPN -pakkene.
 sudo apt-get install openvpn easy-rsa 

FORSTØRRE

På denne måten vi har installert OpenVPN på Ubuntu 16 og nå vil det være nødvendig å utføre konfigurasjonsprosessen.

2. Hvordan sette CA -katalogen i Ubuntu 16.04


De CA -katalog (Certificate Authority- Certificate of Authority) er måten vi kan utstede pålitelige sertifikater på siden OpenVPN er et VPN som bruker TLS / SSL -protokoller.

Trinn 1
For dette vi kopierer malene fra easy-rsa i vår hjemmekatalog ved hjelp av kommandoen make-cadir, vil vi legge inn følgende i Ubuntu 16.04 -terminalen:

 make-cadir ~ / openvpn-ca 
Steg 2
Nå får vi tilgang til ruten som ble opprettet tidligere:
 cd ~ / openvpn-ca 

FORSTØRRE

3. konfigurere variabler av autoritetssertifikater i Ubuntu 16.04


Det er nødvendig at vi konfigurerer verdiene som skal brukes av myndigheten eller CA -sertifikater, og for dette må vi redigere filen vars i katalogen.

Trinn 1
Vi kan åpne denne filen ved hjelp av den foretrukne redaktøren, i dette tilfellet vil det være nano:

 sudo nano vars 

FORSTØRRE

Steg 2
I denne filen finner vi variablene vi kan justere og konfigurere for å bestemme måten autoritetssertifikatene skal opprettes på. Vi vil bla til bunnen av filen til vi finner disse variablene:

 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

Trinn 3
Vi redigerer disse verdiene basert på parametrene som kreves. På samme måte vil vi redigere linjen eksporter KEY_NAME gitt det riktige navnet, i dette tilfellet har vi kalt det server.

FORSTØRRE

Trinn 4
Vi beholder endringer ved hjelp av kombinasjonen:

Ctrl + O.

Y vi gikk ut fra redaktøren ved hjelp av

Ctrl + X

4. Hvordan lage autoritetssertifikatet i Ubuntu 16.04


Med disse verdiene definert går vi videre til opprettelsen av autoritetssertifikatet.

MerkHusk at vi må være i ~ / openvpn-ca-katalogen.

Trinn 1
Når vi er i katalogen, utfører vi følgende kommando:

 kilde vars 

FORSTØRRE

Steg 2
Vi fortsetter å utføre den angitte kommandoen for å ha et rent miljø:

 ./clean-all 
Trinn 3
vi vil lage rot -CA -sertifikatet ved å bruke følgende kommando:
 ./build-ca 
Trinn 4
Vi kan se en rekke spørsmål som vi allerede har konfigurert i vars -filen som vi bare trenger å trykke på Tast inn skal fullføres automatisk. Og dermed vi har laget sertifikatet som vil være nyttig for resten av prosessen.

FORSTØRRE

5. Hvordan lage serversertifikat, nøkkel og krypterte filer i Ubuntu 16.04


På dette tidspunktet skal vi lage serversertifikatet og dets respektive nøkler.

Trinn 1
For dette vil vi utføre følgende kommando:

 ./build-key-server server 
Vi må erstatte servernavnet med det som er tilordnet på linjen eksporter KEY_NAME fra vars -filen). Verdiene som allerede er definert i vars -filen sendes automatisk ut, som vi trykker Enter på.

Steg 2
Vi kan se at sertifikatet er opprettet riktig.

FORSTØRRE

Trinn 3
Deretter vil vi lage andre parametere som Diffie-Hellman-kryptering som kan brukes under nøkkelutvekslingen, for det vil vi bruke følgende linje.

 ./build-dh 

FORSTØRRE

Trinn 4
Denne prosessen tar noen minutter å fullføre. Vi kan også generere en HMAC -signatur som lar oss forbedre TLS -integritetsnivåene til serveren, for dette angir vi følgende.

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

6. Hvordan lage serversertifikat, nøkkel og krypterte filer i Ubuntu 16.04


Denne prosessen kan utføres på klientmaskinen og senere signeres med CA -serveren, men denne gangen vil vi utføre den direkte for å spare tid. Vi får tilgang til katalogen igjen hvis vi ikke allerede er der. ~ / openvpn-ca og der vil vi utføre source vars -kommandoen.

Trinn 1
Nå går vi inn på følgende linje der vi definerer klientens navn:

 ./build-key solvetic1 
Vi må trykke Tast inn i de respektive spørsmålene som allerede er konfigurert ovenfor

FORSTØRRE

Steg 2
Denne kommandoen oppretter legitimasjon uten å kreve passord, hvis vi av sikkerhetsmessige årsaker ønsker å etablere en legitimasjon med et passord, må vi utføre følgende linje:

 ./build-key-pass (klientnavn) 

7. Slik konfigurerer du OpenVPN -tjenesten i Ubuntu 16.04


Det neste trinnet er å konfigurere OpenVPN -tjenesten slik at alt fungerer slik du vil. Først av alt vil vi kopiere filene vi har opprettet i banen ~ / openvpn-ca til banen / etc / openvpn, husk at CA -sertifikatene, nøklene, filen Diffie-Hellman og HMAC-filen.

Trinn 1
For dette får vi tilgang til følgende katalog:

 cd ~ / openvpn-ca / keys 
Steg 2
Når vi er der, vil vi utføre følgende linje for kopieringsprosessen:
 sudo cp ca.crt ca.key server.crt server.key ta.key dh2048.pem / etc / openvpn 
Trinn 3
Nå må vi kopiere og pakke ut a OpenVPN -konfigurasjonsfil i den katalogen for å bruke som en base. For dette vil vi legge inn følgende:
 gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf 

FORSTØRRE

8. Hvordan justere OpenVPN -innstillinger i Ubuntu 16.04

Trinn 1
Når vi har disse filene i den nødvendige banen, fortsetter vi med å justere OpenVPN -konfigurasjonen ved å få tilgang til filen server.conf:

 sudo nano /etc/openvpn/server.conf 

FORSTØRRE

Steg 2
Der vil vi gjøre følgende justeringer. Vi går til linjen tls-auth ta.key 0 # Denne filen er hemmelig og under det vil vi legge til følgende.

 nøkkelretning 0 
Trinn 3
På spill chiffer AES-128-CBC vi fjerner symbolet; plassert i begynnelsen av den og under denne linjen angir vi følgende.
 autorisasjon SHA256 
Trinn 4
Dette er for å lage en godkjenningslinje for velg meldingsalgoritmen. På linjene bruker Y gruppe vi fjerner symbolet på; ligger i begynnelsen.

FORSTØRRE

Som valgfrie alternativer kan vi legge til følgende.

Skyver DNS -trafikk gjennom VPNDette alternativet er praktisk når vi vil rute all trafikk utelukkende gjennom VPN.

 For dette vil vi gjøre følgende endringer i den forrige filen: Vi kommenterer linjene: push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220"

Endre porten i OpenVPNSom standard bruker OpenVPN port 1194 og UDP -nettverksprotokollen for klientforbindelser. Hvis vi vil endre denne porten, går vi til linjen havn og vi tildeler den nye porten i henhold til det nåværende behovet.

FORSTØRRE

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

Justere nettverksinnstillinger - Videresending av IPDette punktet er viktig ettersom det gjør at all OpenVPN -trafikk kan dirigeres riktig.

Først vil vi aktivere Videresending av IP -adresse, det vil si at serveren videresender trafikken, for dette må vi redigere filen /etc/sysctl.conf:

 sudo nano /etc/sysctl.conf 
Inne i filen vil vi plassere linjen net.ipv4.ip_forward = 1 og vi kommenterer det ved å fjerne # -symbolet i begynnelsen av det.

FORSTØRRE

Vi beholder endringene og vi avslutter filen. For alle endringene som skal brukes i den nåværende økten, vil vi utføre følgende kommando.

 sudo sysctl -p

Angi reglene i Ubuntu 16.04 -brannmurenBruken av brannmuren er avgjørende siden den beskytter oss mot innkommende tilkoblinger til systemet, på dette tidspunktet må vi rediger regelfilen for konfigurering av maskert trafikk. Først og fremst må vi kjenne serverens offentlige nettverksgrensesnitt, for dette utfører vi følgende kommando:

 ip -rute | grep standard 

FORSTØRRE

I dette eksemplet er det offentlige nettverksgrensesnittet enp0s3. Nå får vi tilgang til regelkonfigurasjonsfilen for din justering, skriver vi inn følgende:

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

FORSTØRRE

Denne filen administrerer konfigurasjonen som må gå før de typiske UFW -reglene utføres. På toppen skriver vi inn følgende linjer som etablerer POSTROUTING -konfigurasjonen:

 # START OPENVPN -REGLER # NAT -tabellregler * nat: POSTROUTING ACCEPT [0: 0] # Tillat trafikk fra OpenVPN -klient til (grensesnitt) -A POSTROUTING -s 10.8.0.0/8 -o (grensesnitt) -j MASQUERADE COMMIT # END OPENVPN REGLER

FORSTØRRE

Det er viktig at i enp0s3 -feltet la oss angi det riktige navnet på grensesnittet som skal brukes. Vi beholder endringer ved hjelp av kombinasjonen:

Ctrl + O.

Y vi gikk ut fra redaktøren ved å bruke:

Ctrl + X

Nå må vi tillate UFW godta pakker forresten misligholde, for dette vil vi utføre følgende kommando:

 sudo nano / etc / default / ufw 
På spill DEFAULT_FORWARD_POLICY vi endrer begrepet DROP ved Aksept.

FORSTØRRE

Vi beholder Forandringene.

Åpne VPN -portene og aktivere endringeneDet neste trinnet er å justere brannmurinnstillingene å tillate all trafikk til OpenVPN. For dette vi utfører følgende kommando.

 sudo ufw tillate 1194 / udp 
MerkHvis vi har redigert porten og protokollen, må vi endre den i denne kommandoen, dette er standardverdiene til OpenVPN.

Vi legger også til SSH -port:

 sudo ufw tillater OpenSSH 

FORSTØRRE

Til last opp endringer vi vil bruke følgende kommandoer.

 sudo ufw deaktiver sudo ufw aktiver
Vi kan kontrollere at reglene er lagt til ved hjelp av kommandoen sudo ufw status:

FORSTØRRE

9. Slik starter og aktiverer du OpenVPN -tjenesten i Ubuntu 16.04


Med disse allerede definerte verdier Vi kan starte OpenVPN -tjenesten i Ubuntu, og for dette vil det være nødvendig å spesifisere navnet vi har tildelt.

Trinn 1
For dette vil vi utføre følgende linje:

 sudo systemctl starter openvpn @ server 
Steg 2
I ettertid vi validerer statusen til OpenVPN bruker linjen:
 sudo systemctl status openvpn @ server 

FORSTØRRE

Trinn 3
Vi kan se at statusen er korrekt og at den har startet vellykket. Vi trykker på bokstaven q for å gå tilbake til kommandolinjen. På samme måte kan vi bekrefte OpenVPN tun0 -grensesnittet ved å angi følgende:

 ip addr show tun0 

FORSTØRRE

Trinn 4
For at OpenVPN -tjenesten skal kjøre automatisk ved hver pålogging, må vi skrive inn følgende parameter:

 sudo systemctl aktiver openvpn @ server 

FORSTØRRE

10. Hvordan lage OpenVPN -klientstrukturen på Ubuntu 16.04

Trinn 1
Det neste trinnet er å lage klientkonfigurasjonsfilene, for dette vil vi lage denne strukturen i den personlige katalogen ved å utføre følgende:

 mkdir -p ~ / client -configs / files 
Steg 2
Vi vil blokkere tillatelsene i den ruten siden de opprettede nøklene er plassert der, vi vil bruke følgende linje:
 chmod 700 ~ / client-configs / files 

11. Hvordan lage en OpenVPN -konfigurasjonsbase på Ubuntu 16.04

Trinn 1
På dette tidspunktet vil vi kopiere en klientkonfigurasjonsbase i katalogen for å ha den som en base, vi utfører følgende:

 cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client-configs/base.conf 
Steg 2
Vi åpner denne filen med vår foretrukne redaktør:
 sudo nano ~ / client-configs / base.conf 

FORSTØRRE

Trinn 3
Der finner vi linjen fjernkontroll og vi angir IP -adressen til serveren som etterfølges av UDP -port 1194:

FORSTØRRE

Trinn 4
I den samme filen vil vi gjøre følgende endringer:

  • Vi fjerner kommentarene bruker Y gruppe fjerne skiltet;
  • Vi kommenterer og legger til # -symbolet på linjene AC, sert Y nøkkel
  • Vi legger til linjene chiffer AES-128-CBC Y autorisasjon SHA256
  • Under den forrige linjen skriver vi nøkkelretning 1
  • På slutten av filen legger vi til følgende linjer:
 script-security 2 / # up / etc / openvpn / update-resolv-conf / # down / etc / openvpn / update-resolv-conf

Hvis det ikke fungerer for deg, kan du prøve denne andre formen for script-sikkerhetskommando:

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

FORSTØRRE

Trinn 5
Vi beholder endringer ved hjelp av kombinasjonen:

Ctrl + O.

Y vi gikk ut fra redaktøren ved å bruke:

Ctrl + X

12. Hvordan lage et skript for OpenVPN -konfigurasjon på Ubuntu 16.04

Trinn 1
Dette skriptet vil ta seg av å kompilere de viktigste hendelsene i sertifikatet, nøkkelen og krypteringsfilene i banen ~ / client-configs / files. Vi lager en fil som heter make_config.sh ved å bruke følgende syntaks:

 sudo nano ~ / client-configs / make_config.sh
Steg 2
En tom fil åpnes der vi legger til 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} \ <(ekko -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

Trinn 3
Vi beholder endringene og vi gikk ut fra redaktøren. Vi vil gjøre denne filen kjørbar ved å skrive inn følgende:

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

13. Slik konfigurerer du OpenVPN -klientfiler på Ubuntu 16.04


Det neste trinnet er å lage konfigurasjonsfilene for klienten, som vi har opprettet som Solvetic1.

Trinn 1
For dette vil vi legge inn følgende linjer:

 cd ~ / client-configs ./make_config.sh client1 [vanlig] Trinn 2 [ / plain] Vi kan se innholdet i denne mappen ved å bruke kommandoen ls: ls ~ / client-configs / files

FORSTØRRE

Vi ser at det er Solvetic1 -klienten opprettet riktig.

14. Hvordan overføre OpenVPN -innstillinger til OpenVPN -klientmaskiner på Ubuntu 16.04


Når vi har fullført konfigurasjonsprosessen i Ubuntu 16, er det på tide å overføre Solvetic1.ovpn -fil til de respektive enhetene, for eksempel datamaskiner eller mobile enheter.

Trinn 1
Vi kan bruke overføringsklienten vi ønsker basert på systemet vi bruker. Et eksempel på overføring kan være følgende i et Fedora 25 -miljø:

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

FORSTØRRE

15. Hvordan installere og kjøre OpenVPN på Ubuntu 16.04


Trinn 1
OpenVPN er tilgjengelig for Windows, Linux, Mac OS, Android, FreeBSD, etc. I den følgende lenken kan vi laste ned den riktige versjonen av OpenVPN:

Steg 2
Deretter vil vi se hvordan du kjører OpenVPN på de forskjellige operativsystemene.

Kjør OpenVPN på WindowsI Windows, som er eksempelsystemet, må vi kopier .ovpn -filen i ruten:

 C: \ Program Files \ OpenVPN \ config 
Trinn 3
Derfra kan vi høyreklikke på filen og velge alternativet Start OpenVPN på denne konfigurasjonsfilen

FORSTØRRE

På denne måten vil vi koble til OpenVPN -serveren.

MerkOpenVPN må kjøres med administrative privilegier.

Kjør OpenVPN på LinuxProsessen på Linux -systemer bør være som følger:

Først oppdaterer vi systemet og installerer OpenVPN ved hjelp av følgende kommandoer:

 sudo apt-get oppdatering 
 sudo apt-get install openvpn 
Hvis vi bruker CentOS vi vil bruke følgende kommandoer:
 sudo yum install epel-release sudo yum install openvpn
Når den er installert OpenVPN vi vil utføre følgende kommando:
 ls / etc / openvpn 
Det neste trinnet er å rediger .ovpn -filen overført med ønsket redaktør.
 sudo nano file.ovpn 
I den åpne filen må vi kommentar følgende linjer:
 script-security 2 up / etc / openvpn / update-resolv-conf
 ned / etc / openvpn / update-resolv-con 
Nå kan vi koble til VPN ved hjelp av følgende syntaks:
 sudo openvpn --config File.ovpn

Kjør OpenVPN på Mac OSHvis vi bruker Mac OS, gjelder det for macOS Sierra, kan vi bruke verktøyet tunnelblikk som vi kan laste ned gratis på følgende lenke:

Når du kjører programmet i tittellinjen, vil vi se det tilsvarende ikonet, klikk der og velg Koble og vi velger klienten som vi har konfigurert, for eksempel Solvetic1.

Kjør OpenVPN på AndroidFor Android -brukere som ønsker å koble til Linux via VPN, kan vi laste ned OpenVPN Connect -appen på følgende lenke:

Filen .ovpn vi må overføre den via USB til telefonen for bruk.
Når vi kjører programmet, går vi til menyen og velger stedet der vi har .ovpn -filen, og derfra importerer vi den. For å koble til klikker vi på knappen Koble.

På noen av de angitte måtene er målet å få tilgang til Ubuntu 16.04 via VPN, og nyte fordelene som tilbys av OpenVPN.

FORSTØRRE

Som du kan se, er konfigurering av en OpenVPN -server i Ubuntu noe komplisert, men med denne komplette håndboken har du trinn for trinn alt du må gjøre for å sette den i dette systemet. Hvis du i tillegg til Ubuntu bruker andre distroer, forlater vi deg her hvordan du konfigurerer og installerer en OpenVPN -server på Debian.

OpenVPN Debian -server

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave