Hvordan sette opp og konfigurere en OpenVPN-server på CentOS 7

Hvordan sette opp og konfigurere en OpenVPN-server på CentOS 7

Introduksjon

OpenVPN er en åpen kildekode VPN-løsning som tilbyr sikker og pålitelig tilkobling til et privat nettverk over en offentlig nettverk. Den er kjent for sin brukervennlighet, sikkerhet og fleksibilitet. CentOS 7 er en populær Linux-distribusjon som er ideell for hosting av OpenVPN-servere.

Denne veiledningen vil guide deg gjennom prosessen med å sette opp og konfigurere en OpenVPN-server på CentOS 7. Vi vil dekke alt fra installering av nødvendige pakker til konfigurering av server og klientinnstillinger.

Fordeler med OpenVPN

* Sikkerhet: OpenVPN bruker kryptering av høy kvalitet for å sikre dataene dine under overføring.
* Privatliv: OpenVPN skjuler din IP-adresse og nettleseraktivitet fra nysgjerrige øyne.
* Fleksibilitet: Du kan bruke OpenVPN på ulike plattformer, inkludert Windows, macOS, Linux, Android og iOS.
* Pålitelighet: OpenVPN er kjent for sin stabilitet og pålitelighet, noe som gjør det til et godt valg for kritiske applikasjoner.

Forutsetninger

* En CentOS 7-server med root-tilgang.
* En statisk IP-adresse for serveren.
* En domenenavn for serveren (valgfritt).
* Grunnleggende forståelse av Linux-kommandolinjegrensesnitt.

Trinn 1: Installer OpenVPN og EasyRSA

1. Oppdater pakkelister:
bash
sudo yum update

2. Installer OpenVPN:
bash
sudo yum install openvpn epel-release

3. Installer EasyRSA: EasyRSA er et verktøy som brukes til å generere SSL-sertifikater for OpenVPN.
bash
sudo yum install openssl easy-rsa

Trinn 2: Konfigurere OpenVPN-serveren

1. Opprett en katalog for OpenVPN-konfigurasjoner:
bash
sudo mkdir /etc/openvpn

2. Opprett en katalog for sertifikater:
bash
sudo mkdir /etc/openvpn/easy-rsa

3. Kopier EasyRSA-konfigurasjonsfiler:
bash
sudo cp -r /usr/share/easy-rsa/easyrsa /etc/openvpn/easy-rsa/

4. Rediger varslingsfilen:
bash
sudo nano /etc/openvpn/easy-rsa/vars

Endre følgende:
* export KEY_DIR="keys" til export KEY_DIR="pki"
* export KEY_SIZE=1024 til export KEY_SIZE=2048
* export CA_EXPIRE="3650" til export CA_EXPIRE="3650" (Du kan justere denne verdien etter behov)

5. Generer sertifikater:
bash
sudo sh /etc/openvpn/easy-rsa/easyrsa init-pki
sudo sh /etc/openvpn/easy-rsa/easyrsa build-ca nopass
sudo sh /etc/openvpn/easy-rsa/easyrsa gen-req server nopass
sudo sh /etc/openvpn/easy-rsa/easyrsa sign-req server server

6. Kopier sertifikater til OpenVPN-katalogen:
bash
sudo cp /etc/openvpn/easy-rsa/pki/issued/server.crt /etc/openvpn/server.crt
sudo cp /etc/openvpn/easy-rsa/pki/private/server.key /etc/openvpn/server.key
sudo cp /etc/openvpn/easy-rsa/pki/ca.crt /etc/openvpn/ca.crt

Trinn 3: Konfigurere OpenVPN-serverkonfigurasjonsfilen

1. Opprett en serverkonfigurasjonsfil:
bash
sudo nano /etc/openvpn/server.conf

2. Legg til følgende konfigurasjoner:

port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/easy-rsa/pki/dh.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8 8.8.4.4"
client-to-client
keepalive 10 60
persist-key
persist-tun
status /var/log/openvpn-status.log
log /var/log/openvpn.log
verb 3
</code>

Forklaring av konfigurasjonene:
* port 1194: Porten som OpenVPN-serveren lytter på.
* proto udp: Protokollen som brukes for tilkobling (UDP).
* dev tun: Grensesnittet som brukes for VPN-tilkoblingen.
* ca /etc/openvpn/ca.crt: Plasseringen av sertifikatet for sertifiseringsmyndigheten (CA).
* cert /etc/openvpn/server.crt: Plasseringen av serverens sertifikater.
* key /etc/openvpn/server.key: Plasseringen av serverens private nøkkel.
* dh /etc/openvpn/easy-rsa/pki/dh.pem: Plasseringen av Diffie-Hellman-nøkkelen for kryptering.
* server 10.8.0.0 255.255.255.0: IP-adresseområdet for VPN-nettverket.
* push &quot;redirect-gateway def1 bypass-dhcp&quot;: Konfigurerer klienten til å omdirigere all trafikk gjennom VPN-tunnelen.
* push &quot;dhcp-option DNS 8.8.8.8 8.8.4.4&quot;: Angir DNS-servere for klienter.
* client-to-client: Tillater klienter å kommunisere med hverandre via VPN-tunnelen.
* keepalive 10 60: Angir hvor ofte serveren skal sende ping-forespørsler til klienter for å opprettholde tilkoblingen.
* persist-key: Lagrer serverens private nøkkel i minnet for raskere tilkoblingsoppsett.
* persist-tun: Opprettholder VPN-tunnelen selv om klienter kobler fra.
* status /var/log/openvpn-status.log: Lagrer statusinformasjon om VPN-tilkoblingen.
* log /var/log/openvpn.log: Lagrer logger for OpenVPN-serveren.
* verb 3: Angir detaljert loggføring.

Trinn 4: Starte OpenVPN-serveren

1. Start OpenVPN-serveren:
bash
sudo systemctl start [email protected]

2. Aktiver OpenVPN-serveren for automatisk oppstart:
bash
sudo systemctl enable [email protected]

Trinn 5: Konfigurere brannmuren

1. Tillat trafikk til OpenVPN-porten:
bash
sudo firewall-cmd –permanent –add-rich-rule=’rule family=»ipv4″ source address=»0.0.0.0/0″ port protocol=»udp» port=»1194″ accept»
sudo firewall-cmd –reload

Trinn 6: Konfigurere OpenVPN-klienten

1. Last ned OpenVPN-klienten: Last ned OpenVPN-klienten fra https://openvpn.net/index.php/openvpn-downloads.html for ditt operativsystem.

2. Opprett en konfigurasjonsfil:

client
dev tun
proto udp
remote 1194
resolv-retry infinite
no-pull-dns
remote-cert-tls server
verb 3
ca /etc/openvpn/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/client.crt
key /etc/openvpn/easy-rsa/pki/private/client.key

Forklaring av konfigurasjonene:
*
client: Angir at dette er en klientkonfigurasjon.
*
dev tun: Grensesnittet som brukes for VPN-tilkoblingen.
*
proto udp: Protokollen som brukes for tilkobling (UDP).
*
remote 1194: Angir IP-adressen og porten til OpenVPN-serveren.
*
resolv-retry infinite: Angir at klienten skal prøve å finne DNS-servere til den finner dem.
*
no-pull-dns: Forhindrer at klienten henter DNS-servere fra serveren.
*
remote-cert-tls server: Angir at serveren skal autentiseres med et TLS-sertifikat.
*
verb 3: Angir detaljert loggføring.
*
ca /etc/openvpn/ca.crt: Plasseringen av sertifikatet for sertifiseringsmyndigheten (CA).
*
cert /etc/openvpn/easy-rsa/pki/issued/client.crt: Plasseringen av klientens sertifikat.
*
key /etc/openvpn/easy-rsa/pki/private/client.key: Plasseringen av klientens private nøkkel.

3. Start OpenVPN-klienten: Start OpenVPN-klienten med konfigurasjonsfilen.

Konklusjon

Denne veiledningen har tatt deg gjennom prosessen med å sette opp og konfigurere en OpenVPN-server på CentOS 7. Ved å følge disse trinnene kan du etablere en sikker og pålitelig VPN-tilkobling som beskytter din personlige og jobb-relaterte data. Husk å oppdatere serveren og klienten regelmessig med de nyeste sikkerhetsoppdateringene for å sikre optimal ytelse og sikkerhet.

FAQ

1. Hvilke alternativer til OpenVPN er tilgjengelige?

Det finnes andre VPN-løsninger på markedet, for eksempel WireGuard og StrongSwan. Disse løsningene kan tilby ulike funksjoner og ytelsesfordeler, og det er viktig å vurdere dine spesifikke behov når du velger en.

2. Trenger jeg en statisk IP-adresse for å hoste en OpenVPN-server?

En statisk IP-adresse er ikke strengt nødvendig, men det er anbefalt for å sikre at serveren alltid er tilgjengelig på samme adresse. Uten en statisk IP-adresse kan du trenge å konfigurere dynamisk DNS for å oppdatere serveren din tilgangspunkt.

3. Hvordan kan jeg sikre at OpenVPN-tilkoblingen min er sikker?

For å sikre at OpenVPN-tilkoblingen er sikker, bør du bruke sterke passord for serveren og klienten, bruke et pålitelig og oppdatert VPN-klientprogram, og alltid være oppmerksom på mistenkelige nettsteder eller programmer som kan utgjøre en sikkerhetsrisiko.

4. Kan jeg bruke OpenVPN for å få tilgang til geoblokkert innhold?

Ja, OpenVPN kan brukes til å omgå geografiske begrensninger og få tilgang til geoblokkert innhold. Du kan koble til en server i et land der innholdet er tilgjengelig for å få tilgang til det.

5. Hvor mye koster det å kjøre en OpenVPN-server?

Å kjøre en OpenVPN-server koster vanligvis ikke mye, spesielt hvis du bruker en server som du allerede eier eller leier. De største kostnadene kan være knyttet til serverens maskinvare og strømforbruk.

6. Hva er forskjellene mellom UDP og TCP-protokoll for OpenVPN?

UDP er en raskere protokoll, men den er mindre pålitelig enn TCP. TCP er mer pålitelig, men det kan være litt tregere. Valget av protokoll avhenger av dine spesifikke behov og nettverksforhold.

7. Hvordan kan jeg overvåke OpenVPN-serverens ytelse?

Du kan overvåke OpenVPN-serverens ytelse ved å sjekke loggene i /var/log/openvpn.log. Du kan også bruke verktøy som top og htop` for å overvåke ressursbruk.

8. Kan jeg bruke OpenVPN på mobile enheter?

Ja, OpenVPN kan brukes på mobile enheter. Det finnes mange OpenVPN-klienter tilgjengelig for både Android og iOS.

9. Hvordan kan jeg konfigurere OpenVPN-serveren for å tillate tilgang til spesifikke apper?

Du kan konfigurere OpenVPN-serveren til å tillate tilgang til spesifikke apper ved å bruke en proxy-server. Dette krever ytterligere konfigurasjon og bør utføres med forsiktighet.

10. Kan jeg bruke OpenVPN for å koble til flere enheter samtidig?

Ja, du kan bruke OpenVPN for å koble til flere enheter samtidig. Du kan bruke en enkelt server for å koble til flere klienter, eller du kan konfigurere flere servere for å oppnå større fleksibilitet.

Tags: OpenVPN, CentOS, VPN, Server, Konfigurering, Sikkerhet, Privatliv, Linux, Veiledning