Sådan installeres og konfigureres OpenVPN-server i CentOS 8/7


Et virtuelt privat netværk er en teknologiløsning, der bruges til at give privatliv og sikkerhed til internetværksforbindelser. Det mest kendte tilfælde består af personer, der opretter forbindelse til en ekstern server med trafik, der går gennem et offentligt eller usikkert netværk (såsom Internettet).

Forestil dig følgende scenarier:

I denne artikel vil vi forklare, hvordan man opsætter en VPN-server i en RHEL/CentOS 8/7-boks ved hjælp af OpenVPN, en robust og meget fleksibel tunnelapplikation, der bruger krypterings-, godkendelses- og certificeringsfunktioner i OpenSSL-biblioteket. For enkelheds skyld vil vi kun overveje et tilfælde, hvor OpenVPN-serveren fungerer som en sikker internet-gateway for en klient.

Til denne opsætning har vi brugt tre maskiner, den første fungerer som en OpenVPN-server, og de to andre (Linux og Windows) fungerer som en klient til at oprette forbindelse til den eksterne OpenVPN-server.

På denne side

  • Installation af OpenVPN-server i CentOS 8
  • Konfigurer OpenVPN-klient i Linux
  • Konfigurer OpenVPN-klient i Windows

Bemærk: De samme instruktioner fungerer også på RHEL 8/7 og Fedora-systemer.

1. For at installere OpenVPN i en RHEL/CentOS 8/7 server skal du først aktivere EPEL-arkivet og derefter installere pakken. Dette kommer med alle de afhængigheder, der er nødvendige for at installere OpenVPN-pakken.

# yum update
# yum install epel-release

2. Dernæst downloader vi OpenVPNs installationsskript og opretter VPN. Før du downloader og kører scriptet, er det vigtigt, at du finder din servers offentlige IP-adresse, da dette vil være praktisk, når du konfigurerer OpenVPN-serveren.

En nem måde at gøre det på er at bruge curl-kommandoen som vist:

$ curl ifconfig.me

Alternativt kan du påberåbe dig kommandoen som følger:

$ dig +short myip.opendns.com @resolver1.opendns.com

Hvis du får en fejl “grave: kommando ikke fundet”, skal du installere graveværktøjet ved at køre kommandoen:

$ sudo yum install bind-utils

Dette skulle løse problemet.

Cloud-servere har normalt to typer IP-adresser:

  • En enkelt offentlig IP-adresse: Hvis du har en VPS på Cloud-platforme som Linode, Cloudcone eller Digital Ocean, finder du normalt en enkelt offentlig IP-adresse knyttet til den.
  • En privat IP-adresse bag NAT med en offentlig IP: Dette er tilfældet med en EC2-forekomst på AWS eller en beregningsinstans i Google Cloud.

Uanset IP-adresseringsskemaet registrerer OpenVPN-scriptet automatisk din VPS-netværksopsætning, og alt hvad du skal gøre er at angive den tilknyttede offentlige eller private IP-adresse.

3. Lad os nu fortsætte og downloade OpenVPN-installationsskriptet, kør den viste kommando.

$ wget https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh

4. Når download er afsluttet, skal du tildele eksekveringstilladelser og køre shell-scriptet som vist.

$ sudo chmod +x openvpn-install.sh
$ sudo ./openvpn-install.sh

Installationsprogrammet fører dig gennem en række meddelelser:

5. Først bliver du bedt om at angive din servers offentlige IP-adresse. Derefter anbefales det at gå med standardindstillingerne såsom standardportnummer (1194) og protokol, der skal bruges (UDP).

6. Vælg derefter standard DNS-opløsere, og vælg No-indstillingen (n) til både komprimerings- og krypteringsindstillinger.

7. Når det er gjort, initialiserer scriptet opsætningen af OpenVPN-serveren sammen med installationen af de andre softwarepakker og afhængigheder.

8. Endelig genereres en klientkonfigurationsfil ved hjælp af easy-RSA-pakken, som er et kommandolinjeværktøj, der bruges til styring af sikkerhedscertifikater.

Angiv blot navnet på klienten, og vælg standardvalgene. Klientfilen gemmes i dit hjemmekatalog med filtypenavnet .ovpn.

9. Når scriptet er færdigt med at opsætte OpenVPN-serveren og oprette klientkonfigurationsfilen, dannes en tunnelgrænseflade tun0 . Dette er en virtuel grænseflade, hvor al trafik fra klient-pc'en bliver tunneleret til serveren.

10. Nu kan du starte og kontrollere status for OpenVPN-serveren som vist.

$ sudo systemctl start [email 
$ sudo systemctl status [email 

11. Gå nu over til klientsystemet og installer EPEL repository og OpenVPN softwarepakker.

$ sudo dnf install epel-release -y
$ sudo dnf install openvpn -y

12. Når du er installeret, skal du kopiere klientkonfigurationsfilen fra OpenVPN-serveren til dit klientsystem. Du kan gøre dette ved hjælp af scp-kommandoen som vist

$ sudo scp -r [email :/home/tecmint/tecmint01.ovpn .

13. Når klientfilen er downloadet til dit Linux-system, kan du nu initialisere en forbindelse til VPN-serveren ved hjælp af kommandoen:

$ sudo openvpn --config tecmint01.ovpn

Du får output svarende til det, vi har nedenfor.

14. Der oprettes en ny routeringstabel, og der oprettes en forbindelse til VPN-serveren. Igen oprettes en virtuel grænseflade tunnelgrænseflade tun0 på klientsystemet.

Som tidligere nævnt er dette grænsefladen, der vil tunnelere al trafik sikkert til OpenVPN-serveren via en SSL-tunnel. Interfacet tildeles en IP-adresse dynamisk af VPN-serveren. Som du kan se, er vores klient Linux-system tildelt en IP-adresse på 10.8.0.2 af OpenVPN-serveren.

$ ifconfig

15. Bare for at være sikker på, at vi har forbindelse til OpenVPN-serveren, skal vi kontrollere den offentlige IP.

$ curl ifconfig.me

Og voila! vores klientsystem har valgt VPN's offentlige IP, der bekræfter, at vi faktisk er forbundet til OpenVPN-serveren. Alternativt kan du affyre din browser og Google-søgning "Hvad er min IP-adresse" for at bekræfte, at din offentlige IP er ændret til OpenVPN-serverens.

16. På Windows skal du downloade de officielle OpenVPN Community Edition-binære filer, der leveres med en GUI.

17. Download derefter din .ovpn konfigurationsfil til C:\Program Files\OpenVP

18. Skyd nu en browser op, og åbn http://whatismyip.org/, og du skal se IP'en på din OpenVPN-server i stedet for den offentlige IP, der leveres af din internetudbyder:

Resumé

I denne artikel har vi forklaret, hvordan man opsætter og konfigurerer en VPN-server ved hjælp af OpenVPN, og hvordan man opsætter to fjernklienter (en Linux-boks og en Windows-maskine). Du kan nu bruge denne server som en VPN-gateway til at sikre dine webbrowseaktiviteter. Med lidt ekstra indsats (og en anden fjernserver tilgængelig) kan du også oprette en sikker fil/databaseserver for at nævne et par eksempler.

Vi ser frem til at høre fra dig, så send os en note ved hjælp af nedenstående formular. Kommentarer, forslag og spørgsmål om denne artikel er meget velkomne.