Hur man installerar och konfigurerar OpenVPN -server på Ubuntu Linux

Innehållsförteckning

OpenVPN Det är utan tvekan det bästa sättet hur vi kan upprätta en säker anslutning till ett nätverk via Internet.

OpenVPN är en VPN -resurs av Öppen källa Det gör att vi som användare kan maskera vår surfning för att undvika att bli offer för stöld av information på nätverket. Det här är mycket viktiga aspekter på säkerhetsnivå som vi måste ta hänsyn till och den här gången kommer vi att analysera OpenVPN -konfigurationsprocessen i en Ubuntu 16.04 -miljö.

OpenVPN använderTack vare OpenVPN kan vi utföra uppgif.webpter som:

  • Skydda trafiken under webbläsarprocessen.
  • Fungerar som en tunnel över vilken IP -adress som helst en enda TCP- eller UDP -port.
  • Uppstart flera servrar Skalbar VPN.
  • Använda sig av krypteringsfunktioner och autentisering för att skydda trafiken.
  • Byte av dynamiska nycklar.
  • Skapa broar av Säkert Ethernet.
  • VPN -hantering med ett grafiskt gränssnitt från Windows- och Mac OS -miljöer.

OpenVPN -kravInnan installationsprocessen påbörjas är det viktigt att uppfylla vissa krav, dessa är:

  • Rotanvändare
  • Tappa Ubuntu 16.04

1. Så här installerar du Update och installerar OpenVPN på Ubuntu 16.04

Steg 1
Först och främst kommer vi att uppdatera Ubuntu 16.04 med följande kommando:

 sudo apt-get uppdatering 
Steg 2
När systemet har uppdaterats fortsätter vi att installera OpenVPN med följande kommando. Vi accepterar nedladdning och respektive installation av OpenVPN -paketen.
 sudo apt-get install openvpn easy-rsa 

FÖRSTORA

På det här sättet vi har installerat OpenVPN på Ubuntu 16 och nu kommer det att bli nödvändigt att utföra konfigurationsprocessen.

2. Så här ställer du in CA -katalogen i Ubuntu 16.04


De CA -katalog (Certificate Authority- Certificate of Authority) är det sätt på vilket vi kan utfärda betrodda certifikat eftersom OpenVPN är ett VPN som använder TLS / SSL -protokoll.

Steg 1
För detta vi kommer att kopiera mallarna från easy-rsa i vår hemkatalog med kommandot make-cadir, kommer vi att ange följande i Ubuntu 16.04 -terminalen:

 make-cadir ~ / openvpn-ca 
Steg 2
Nu kommer vi åt rutten som skapats tidigare:
 cd ~ / openvpn-ca 

FÖRSTORA

3. konfigurera variabler för auktoritetscertifikat i Ubuntu 16.04


Det är nödvändigt att vi konfigurerar de värden som ska användas av myndigheten eller CA -certifikat och för detta måste vi redigera filen vars i katalogen.

Steg 1
Vi kan öppna den här filen med den föredragna redigeraren, i det här fallet blir det nano:

 sudo nano vars 

FÖRSTORA

Steg 2
I den här filen hittar vi de variabler som vi kan justera och konfigurera för att bestämma hur auktoriseringscertifikaten ska skapas. Vi kommer att rulla till botten av filen tills vi hittar dessa variabler:

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

FÖRSTORA

Steg 3
Vi redigerar dessa värden baserat på de parametrar som krävs. På samma sätt kommer vi att redigera raden exportera KEY_NAME tilldelat rätt namn, i det här fallet har vi kallat det för server.

FÖRSTORA

Steg 4
Vi behåller ändringar med hjälp av kombinationen:

Ctrl + O

Y vi gick ut från redaktören med

Ctrl + X

4. Hur man skapar auktoritetscertifikatet i Ubuntu 16.04


Med dessa värden definierade fortsätter vi med skapandet av myndighetscertifikatet.

NoteraKom ihåg det vi måste vara i ~ / openvpn-ca-katalogen.

Steg 1
När vi är i katalogen kommer vi att utföra följande kommando:

 källa vars 

FÖRSTORA

Steg 2
Vi fortsätter att utföra det angivna kommandot för att ha en ren miljö:

 ./städa allt 
Steg 3
Nu vi skapar root -CA -certifikatet med följande kommando:
 ./build-ca 
Steg 4
Vi kan se en rad frågor som vi redan har konfigurerat i vars -filen som vi bara behöver trycka på Stiga på att slutföras automatiskt. Således vi har skapat certifikatet vilket kommer att vara användbart för resten av processen.

FÖRSTORA

5. Hur man skapar servercertifikat, nyckel och krypterade filer i Ubuntu 16.04


Vid denna tidpunkt ska vi skapa servercertifikatet och dess respektive nycklar.

Steg 1
För detta utför vi följande kommando:

 ./build-key-server server 
Vi måste ersätta servernamnet med det som tilldelats på raden exportera KEY_NAME från vars -filen). De värden som redan definierats i vars -filen skickas automatiskt ut, för vilka vi trycker på Enter.

Steg 2
Vi kan se att certifikatet har skapats korrekt.

FÖRSTORA

Steg 3
Därefter skapar vi andra parametrar som Diffie-Hellman-kryptering som kan användas under nyckelutbytet, för det kommer vi att använda följande rad.

 ./build-dh 

FÖRSTORA

Steg 4
Denna process tar några minuter att slutföra. Vi kan också generera en HMAC -signatur som gör att vi kan förbättra TLS -integritetsnivåerna för servern, för detta anger vi följande.

 openvpn --genkey --secret nycklar / ta.key 

6. Hur man skapar servercertifikat, nyckel och krypterade filer i Ubuntu 16.04


Denna process kan utföras på klientmaskinen och senare signeras med CA -servern, men den här gången kör vi den direkt för att spara tid. Vi öppnar katalogen igen om vi inte redan är där. ~ / openvpn-ca och där kommer vi att köra source vars -kommandot.

Steg 1
Nu kommer vi att ange följande rad där vi definierar klientens namn:

 ./build-key solvetic1 
Vi måste pressa Stiga på i respektive frågor som redan har konfigurerats ovan

FÖRSTORA

Steg 2
Det här kommandot skapar autentiseringsuppgif.webpter utan att kräva ett lösenord, om vi av säkerhetsskäl vill upprätta en legitimation med ett lösenord måste vi köra följande rad:

 ./build-key-pass (klientnamn) 

7. Så här konfigurerar du OpenVPN -tjänsten i Ubuntu 16.04


Nästa steg är att konfigurera OpenVPN -tjänsten så att allt fungerar som du vill. Först och främst kommer vi att kopiera filerna som vi har skapat i sökvägen ~ / openvpn-ca till sökvägen / etc / openvpn, kom ihåg att CA -certifikaten, nycklarna, filen Diffie-Hellman och HMAC-filen.

Steg 1
För detta kommer vi åt följande katalog:

 cd ~ / openvpn-ca / keys 
Steg 2
Väl där kommer vi att köra följande rad för kopieringsprocessen:
 sudo cp ca.crt ca.key server.crt server.key ta.key dh2048.pem / etc / openvpn 
Steg 3
Nu måste vi kopiera och packa upp a OpenVPN -konfigurationsfil i den katalogen att använda som bas. För detta kommer vi att ange följande:
 gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf 

FÖRSTORA

8. Så här justerar du OpenVPN -inställningar i Ubuntu 16.04

Steg 1
När vi har dessa filer i den nödvändiga sökvägen fortsätter vi att justera OpenVPN -konfigurationen genom att komma åt filen server.conf:

 sudo nano /etc/openvpn/server.conf 

FÖRSTORA

Steg 2
Där kommer vi att göra följande justeringar. Vi går till linjen tls-auth ta.key 0 # Den här filen är hemlig och under det kommer vi att lägga till följande.

 nyckelriktning 0 
Steg 3
På linjen chiffer AES-128-CBC vi tar bort symbolen; ligger i början av den och under den här raden kommer vi att ange följande.
 autentisering SHA256 
Steg 4
Detta är för att skapa en autentiseringsrad för välj meddelandealgoritmen. På raderna användare Y grupp vi tar bort symbolen för; ligger i början.

FÖRSTORA

Som valfria alternativ kan vi lägga till följande.

Driva DNS -trafik genom VPNDet här alternativet är praktiskt när vi vill dirigera all trafik uteslutande via VPN.

 För detta kommer vi att göra följande ändringar i den föregående filen: Vi kommenterar raderna: push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220"

Ändra porten i OpenVPNSom standard använder OpenVPN port 1194 och UDP -nätverksprotokollet för klientanslutningar. Om vi ​​vill ändra denna port går vi till linjen hamn och vi tilldelar den nya porten enligt det aktuella behovet.

FÖRSTORA

På samma sätt kan vi justera protokollet på linjen proto.

Justera nätverksinställningar - IP -vidarebefordranDenna punkt är viktig eftersom den tillåter all OpenVPN -trafik att dirigeras korrekt.

Först aktiverar vi Vidarebefordran av IP -adress, det vill säga att servern vidarebefordrar trafiken, för detta måste vi redigera filen /etc/sysctl.conf:

 sudo nano /etc/sysctl.conf 
Inne i filen kommer vi att placera raden net.ipv4.ip_forward = 1 och vi kommenterar det genom att ta bort # -symbolen i början av den.

FÖRSTORA

Vi behåller ändringarna och vi lämnar filen. För alla ändringar som ska tillämpas i den aktuella sessionen kör vi följande kommando.

 sudo sysctl -p

Ställa in reglerna i Ubuntu 16.04 -brandväggenAnvändningen av brandväggen är avgörande eftersom den skyddar oss från inkommande anslutningar till systemet, nu måste vi redigera reglerfilen för att konfigurera maskerad trafik. Först och främst måste vi känna till serverns offentliga nätverksgränssnitt, för detta utför vi följande kommando:

 ip -rutt | grep standard 

FÖRSTORA

I detta exempel är det offentliga nätverksgränssnittet enp0s3. Nu kommer vi åt till konfigurationsfilen för reglerna för din justering anger vi följande:

 sudo nano /etc/ufw/before.rules 
Följande fönster visas.

FÖRSTORA

Den här filen hanterar konfigurationen som måste föregås innan de typiska UFW -reglerna körs. Överst anger vi följande rader som kommer att skapa POSTROUTING -konfigurationen:

 # START OPENVPN -REGLER # NAT -tabellregler * nat: POSTROUTING ACCEPT [0: 0] # Tillåt trafik från OpenVPN -klient till (gränssnitt) -A POSTROUTING -s 10.8.0.0/8 -o (interface) -j MASQUERADE COMMIT # END OPENVPN REGLER

FÖRSTORA

Det är viktigt att i enp0s3 fält låt oss ställa in rätt namn på gränssnittet som ska användas. Vi behåller ändringar med hjälp av kombinationen:

Ctrl + O

Y vi gick ut från redaktören med:

Ctrl + X

Nu måste vi tillåta UFW acceptera paket förresten standard, för detta kommer vi att utföra följande kommando:

 sudo nano / etc / default / ufw 
På linjen DEFAULT_FORWARD_POLICY vi ändrar termen DROP med ACCEPT.

FÖRSTORA

Vi behåller förändringarna.

Öppnar VPN -portarna och möjliggör ändringarnaNästa steg är att justera brandväggens inställningar för att tillåta all trafik till OpenVPN. För detta vi utför följande kommando.

 sudo ufw tillåter 1194 / udp 
NoteraOm vi ​​har redigerat porten och protokollet måste vi ändra den i det här kommandot, det här är standardvärdena för OpenVPN.

Vi lägger också till SSH -port:

 sudo ufw tillåter OpenSSH 

FÖRSTORA

Till ladda upp ändringar vi kommer att använda följande kommandon.

 sudo ufw inaktivera sudo ufw aktivera
Vi kan kontrollera att reglerna har lagts till med kommandot sudo ufw -status:

FÖRSTORA

9. Så här startar och aktiverar du OpenVPN -tjänsten i Ubuntu 16.04


Med dessa redan definierade värden Vi kan starta OpenVPN -tjänsten i Ubuntu och för detta kommer det att vara nödvändigt att ange namnet vi har tilldelat.

Steg 1
För detta kör vi följande rad:

 sudo systemctl start openvpn @ server 
Steg 2
Senare vi validerar statusen för OpenVPN med raden:
 sudo systemctl status openvpn @ server 

FÖRSTORA

Steg 3
Vi kan se att dess status är korrekt och att den har startat framgångsrikt. Vi trycker på bokstaven q för att återgå till kommandoraden. På samma sätt kan vi verifiera OpenVPN tun0 -gränssnittet genom att ange följande:

 ip addr visa tun0 

FÖRSTORA

Steg 4
För att OpenVPN -tjänsten ska köras automatiskt vid varje inloggning måste vi ange följande parameter:

 sudo systemctl aktivera openvpn @ server 

FÖRSTORA

10. Hur man skapar OpenVPN -klientstrukturen på Ubuntu 16.04

Steg 1
Nästa steg är att skapa klientkonfigurationsfiler, för detta skapar vi denna struktur i den personliga katalogen genom att köra följande:

 mkdir -p ~ / client -configs / files 
Steg 2
Vi kommer att blockera behörigheterna på den rutten eftersom de skapade nycklarna finns där, vi kommer att använda följande rad:
 chmod 700 ~ / client-configs / files 

11. Hur man skapar en OpenVPN -konfigurationsbas på Ubuntu 16.04

Steg 1
Vid denna tidpunkt kommer vi att kopiera en klientkonfigurationsbas i katalogen för att ha den som en bas, vi utför följande:

 cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client-configs/base.conf 
Steg 2
Vi öppnar den här filen med vår föredragna redaktör:
 sudo nano ~ / client-configs / base.conf 

FÖRSTORA

Steg 3
Där hittar vi linjen avlägsen och vi kommer att ange IP -adressen för servern som följs av UDP -port 1194:

FÖRSTORA

Steg 4
I samma fil kommer vi att göra följande ändringar:

  • Vi tar bort raderna användare Y grupp ta bort skylten;
  • Vi kommenterar och lägger till # -symbolen på raderna AC, cert Y nyckel-
  • Vi lägger till raderna chiffer AES-128-CBC Y autentisering SHA256
  • Under föregående rad skriver vi nyckelriktning 1
  • I slutet av filen lägger vi till följande rader:
 script-security 2 / # up / etc / openvpn / update-resolv-conf / # down / etc / openvpn / update-resolv-conf

Om det inte fungerar för dig, prova den här andra formen av script-säkerhetskommando:

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

FÖRSTORA

Steg 5
Vi behåller ändringar med hjälp av kombinationen:

Ctrl + O

Y vi gick ut från redaktören med:

Ctrl + X

12. Hur man skapar ett skript för OpenVPN -konfiguration på Ubuntu 16.04

Steg 1
Detta skript tar hand om att sammanställa de viktigaste händelserna i certifikatet, nyckeln och krypteringsfilerna i sökvägen ~ / client-configs / files. Vi kommer att skapa en fil som heter make_config.sh med följande syntax:

 sudo nano ~ / client-configs / make_config.sh
Steg 2
En tom fil öppnas där vi lägger till följande rader:
 #! / bin / bash # Första argumentet: Klientidentifierare 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

FÖRSTORA

Steg 3
Vi behåller ändringarna och vi gick ut från redaktören. Vi gör den här filen körbar genom att ange följande:

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

13. Så här konfigurerar du OpenVPN -klientfiler på Ubuntu 16.04


Nästa steg är att skapa konfigurationsfilerna för klienten, som vi har skapat som Solvetic1.

Steg 1
För detta kommer vi att ange följande rader:

 cd ~ / client-configs ./make_config.sh client1 [plain] Steg 2 [ / plain] Vi kan se innehållet i den här mappen med kommandot ls: ls ~ / client-configs / files

FÖRSTORA

Vi ser att Solvetic1 -klienten har skapats korrekt.

14. Hur man överför OpenVPN -inställningar till OpenVPN -klientmaskiner på Ubuntu 16.04


När vi har gjort all konfigurationsprocess i Ubuntu 16 är det dags att överföra Solvetic1.ovpn -fil till respektive enheter, till exempel datorer eller mobila enheter.

Steg 1
Vi kan använda den överföringsklient som vi vill ha baserat på det system vi använder. Ett exempel på överföring kan vara följande i en Fedora 25 -miljö:

 sftp [email protected]: client-configs / files / Solvetic1.ovpn ~ / 
Steg 2
I det här exemplet kommer vi att använda Windows och klienten Filezilla:

FÖRSTORA

15. Så här installerar och kör du OpenVPN på Ubuntu 16.04


Steg 1
OpenVPN är tillgänglig för Windows, Linux, Mac OS, Android, FreeBSD, etc. I följande länk kan vi ladda ner lämplig version av OpenVPN:

Steg 2
Därefter kommer vi att se hur man kör OpenVPN på de olika operativsystemen.

Kör OpenVPN på WindowsI Windows, vilket är exempelsystemet, måste vi kopiera .ovpn -filen på rutten:

 C: \ Program Files \ OpenVPN \ config 
Steg 3
Därifrån kan vi högerklicka på filen och välja alternativet Starta OpenVPN på denna konfigurationsfil

FÖRSTORA

På detta sätt kommer vi att ansluta till OpenVPN -servern.

NoteraOpenVPN måste köras med administrativa privilegier.

Kör OpenVPN på LinuxProcessen på Linux -system bör vara följande:

Först uppdaterar vi systemet och installerar OpenVPN med följande kommandon:

 sudo apt-get uppdatering 
 sudo apt-get install openvpn 
Om vi ​​använder CentOS vi kommer att använda följande kommandon:
 sudo yum install epel-release sudo yum install openvpn
En gång installerat OpenVPN vi kommer att utföra följande kommando:
 ls / etc / openvpn 
Nästa steg är att redigera .ovpn -filen överfördes med önskad redaktör.
 sudo nano file.ovpn 
I den öppna filen måste vi kommentera följande rader:
 script-security 2 up / etc / openvpn / update-resolv-conf
 ned / etc / openvpn / update-resolv-con 
Nu kan vi ansluta till VPN med följande syntax:
 sudo openvpn --config File.ovpn

Kör OpenVPN på Mac OSOm vi ​​använder Mac OS gäller det för macOS Sierra, vi kan använda verktyget tunnelblick som vi kan ladda ner gratis på följande länk:

När du kör programmet i titelfältet ser vi motsvarande ikon, klicka där och välj Ansluta och vi väljer klienten som vi har konfigurerat, till exempel Solvetic1.

Kör OpenVPN på AndroidFör Android -användare som vill ansluta till Linux via VPN kan vi ladda ner programmet OpenVPN Connect på följande länk:

Filen .ovpn vi måste överföra den via USB till telefonen för användning.
När vi kör programmet går vi till menyn och väljer platsen där vi har .ovpn -filen och därifrån importerar vi den. För att ansluta klickar vi på knappen Ansluta.

På något av de angivna sätten är målet att komma åt Ubuntu 16.04 via VPN och njuta av de fördelar som OpenVPN erbjuder.

FÖRSTORA

Som du kan se är konfigurationen av en OpenVPN -server i Ubuntu något komplex, men med den här kompletta manualen har du steg för steg allt du måste göra för att sätta den i det här systemet. Om du förutom Ubuntu använder andra distros, lämnar vi dig här hur man konfigurerar och installerar en OpenVPN -server på Debian.

OpenVPN Debian -server

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave