Installere og konfigurere OpenVPN i Linux Servers

Hva er en VPN?

VPN står for virtuelt privat nettverk. Den lar deg koble sikkert til et privat nettverk via internett og jobbe som om du var en del av dette nettverket. Den er basert på klient /server-arkitektur og det fungerer på nesten alle plattformer, inkludert FreeBSD, Linux, Windows og Mac OS X. Den lar deg jobbe hjemmefra som om du var på kontoret. Virtuelle private nettverk hjelpe fjerne kolleger jobber sammen, omtrent som desktop deling.

Installere Åpne VPN på serveren

Åpne VPN krever LZO sanntid komprimering bibliotek og dermed installere det først hvis det ikke allerede er til stede.

Det er tre måter å installere Åpne VPN

a) Bruke YUM

yum install openvpn -y

b ) Installasjon via rpm

Først laste ned og installere LZO.

wget
ftp://ftp.pbone.net/mirror/centos.karan.org/el5/extras/testing/SRPMS/02-3.el5.kb.src.rpm

rpm ivh LZO-2.02-3.el5.kb.src.rpm

Så laste ned og installere open vpn

wget
ftp://ftp.pbone.net/mirror/centos.karan.org/el5/extras/testing/SRPMS/n-2.1-0.20.rc4.el5.kb.src.rpm

rpm ivh OpenVPN-2.1-0.20.rc4.el5.kb.src.rpm

Installasjon via kilde

Installere LZO

cd /usr /local /

wget http://www.oberhumer.com/opensource/lzo/download/LZO-v1/lzo-1.08.tar.gz
< p> tjære -xzvf LZO-1.08.tar.gz

cd LZO-1.08

./configure – prefix = /usr

gjøre -j4
< p> make install

Nå installerer Åpne VPN

cd /usr /local /

wget http://openvpn.net/release/openvpn-2.1_rc7.tar. gz

cd OpenVPN-2.1_rc7

./configure – prefix = /usr

gjøre -j4

make install

Vi kan velge noen av installeringsmetodene angitt ovenfor. Yum installasjonen er enkleste av dem mens installasjonskilden vil gi deg mer kontroll på innretningen. Når installasjonen (ved hjelp Yum eller RPM) er over, kan du se konfigurasjonen og binærfiler på banen /usr/share/doc/openvpn-2.1/easy-rsa.

Kopier denne mappen til katalogen /etc .

mkdir /etc /openvpn

cp -R /usr/share/doc/openvpn-2.1/easy-rsa /etc /openvpn

Vi trenger å gi full tillatelse til alle skript i denne mappen.

cd /etc/openvpn/easy-rsa/2.0

chmod 777 *

Opprett Taster på Server

Det er to måter som du kan sørge for autentisering mot server og klienter. Først ut er ved å generere aa nøkkelfilen og distribuere den til serveren og klientene. Selv om dette er enkelt, det er en potensiell risiko, og vi vil ikke være med å gjøre det her.

En annen metode er å bruke public key infrastructure (PKI). I denne metoden, vil det være tre sertifikater

1) Master certficate &.; nøkkel som er plassert i vpn server

2) Server sertifikat & nøkkel som er plassert i vpn server

3) Klientsertifikat & nøkkel som er plassert i vpn klient

Vi vil generere mesterbrev nedenfor. Serveren vil bare godta sertifikater fra de kundene som er signert av mesteren sertifiseringsinstansen. Server- og klient konserter er ment for å gi en sikker kommunikasjonskanal

Generer master Certificate Authority (CA) sertifikat &.; nøkkel

script i easy-rsa mappe brukes til å generere nøkler. Nøklene vil bli plassert i //OpenVPN /nøkler osv. Denne mappen wil ikke være til stede som standard, derfor må vi først opprette mappen manuelt.

mkdir /etc /OpenVPN /nøkler

For å generere master sertifikat, må vi først redigere Vars konfigurasjoner filen.

cd /etc/openvpn/easy-rsa/2.0

vi vars

Rediger følgende verdier som passer dine behov. Jeg gir test detaljene her. Ikke la noen av disse feltene, vil blank som den cert genereres basert på disse verdiene. Når endret, lagre og avslutte filen

eksport KEY_DIR = \\ ". /Etc /openvpn /nøkler \\ "

eksport KEY_COUNTRY = \\ " US \\ "
< p> eksport KEY_PROVINCE = \\ " CA \\ "

eksport KEY_CITY = \\ " tar opp \\ "

eksport KEY_ORG = \\ " Fort-Funston \\ "
< p> eksport KEY_EMAIL = \\ " Denne e-postadressen er beskyttet mot programmer som samler. Du må aktivere Javascript for å kunne se \\ ".

Nå vil vi begynne å lage sertifikatet og nøkkelen

. ./vars 

./clean-all # Dette vil slette alle eksisterende filer i nøkkel mappen

./build-ca # Vi skal bygge CA. Du kan bare fortsette ved å trykke på Enter til du kommer til feltet for felles navn. Alle andre felt vil være befolket av mislighold fra oppføringene du ga i vars filen.

-bash-3.1 # ./build-ca

generere en 1024 bit RSA private nøkkelen Anmeldelser

........................... ++++++

........ ... ++++++

skrive ny privat nøkkel til \\ 'ca.key \\'

-----

Du er i ferd med å bli spurt å legge inn informasjon som vil bli innarbeidet

inn din forespørsel sertifikat.

Hva du er i ferd med å gå inn er det som kalles et unikt navn eller en DN.

Det er ganske noen felt, men du kan trygt la være

For noen felt vil det være en standardverdi, etter

Hvis du skriver \\ ". \\ ', vil feltet være tomt. Anmeldelser

-----

Land Navn (2 bokstavkode) [US]:

stat eller navn provinsen (fullt navn) [CA]:

Lokaliteten Navn (f.eks by) [SanFrancisco]:

Organization Name (f.eks selskap) [Fort-Funston]:

Organisasjonsenhet navn (f.eks, seksjon) []:
< p> Common Name (f.eks navnet ditt eller server \\ 's vertsnavn) [Fort-Funston CA]: server.ca

E-post adresse [Denne e-postadressen er beskyttet mot programmer som samler. Du må aktivere Javascript for å kunne se]:

Det er viktig at du gir en unik felles navn for denne paramaeter. Her har jeg gitt navnet som server.ca. Det er bedre å følge formatet hostname.ca. . Nå som mesterbrev har blitt generert vi skal fortsette å generere serversertifikatet

Generer sertifikat & Nøkkelen for server

./build-key-server server

Som i master sertifikat nesten alle paramaters er tatt av mislighold fra vars filen. De eneste detaljene som du trenger for å gi igjen er det vanlige navnet. Her har jeg gitt det som server. Deretter kan du fortsette å trykke enter, til du kommer \\ 'Signer sertifikat? \\ 'Feltet. Skriv inn \\ 'y \\ "og trykk enter. Neste det vil be \\ '\\ ut av 1 sertifikat forespørsler sertifiserte 1, begår?'. Igjen skriver \\ 'y \\ "og trykk enter. Et eksempel serversertifikat generasjon er vist nedenfor.

=================================== ======

-bash-3.1 # ./build-key-server server

generere en 1024 bit RSA private nøkkelen

...... ++++++

........................... ++++++

skrive nye private nøkkelen til \\ 'server.nøkkel \\'

-----

Du er i ferd med å bli bedt om å oppgi informasjon som vil bli innarbeidet

inn Etterspurte sertifikat.

Hva du er i ferd med å gå inn er det som kalles et unikt navn eller en DN.

Det er ganske mange felt, men du kan trygt la være

For noen felt vil det være en standardverdi, etter

Hvis du skriver \\ ". \\ ', vil feltet være tomt.

-----

Navn Land (2 bokstavkode) [US]:

stat eller navn provinsen (fullt navn) [CA]:

Lokalitet navn (f.eks by) [SanFrancisco]:
< p> Name Organization (f.eks selskap) [Fort-Funston]:

Organisasjonsenhet Name (f.eks seksjon) []:

Common Name (f.eks navnet ditt eller server \\ ' s vertsnavn) [server]: server

E-post adresse [Denne e-postadressen er beskyttet mot programmer som samler. Du må aktivere Javascript for å kunne se]:

Vennligst oppgi følgende \\ "ekstra \\ 'attributter

for å bli sendt med sertifikat forespørsel

En utfordring passord []:

En valgfri firmanavn []:

Ved hjelp av konfigurasjon fra /etc/openvpn/easy-rsa/2.0/openssl.cnf

Sjekk at anmodningen matcher signaturen

Signatur ok

The Subject \\ 's Distinguished Name er som følger

Country: Utskriftsvennlig: \\' US \\ '

stateOrProvinceName: Utskriftsvennlig: \\' CA \\ '

localityName: Utskriftsvennlig: \\' tar opp \\ '

Organisasjons: Utskriftsvennlig: \\' Fort-Funston \\ '

common: Utskriftsvennlig: \\' serve.key \\ '

emailAddress: IA5STRING: \\' Denne e-postadressen er beskyttet mot programmer som samler. Du må aktivere Javascript for å kunne se \\ '

Sertifikat er å bli sertifisert til 1 juli 04:00:18 2 018 GMT (3650 dager)

Signer sertifikat? [y /n]: y

1 av 1 sertifikat forespørsler sertifiserte, begår? [y /n] y

Skriv ut database med 1 nye oppføringer

Data Base Oppdatert

generere sertifikat & Nøkkelen for klienten

Nå fortsetter vi å skape sertifikatet og nøkkelen for klienten. Det er nøyaktig den samme prosessen som ovenfor og sørge for at det også gir en unik felles navn. Du kan lage så mange nøkler som det er klienter for serveren.

./build-key client1

Her er jeg generere sertifikatet for klienten som heter client1.Give felles navn og fortsett som du gjorde i serversertifikat. En prøve sertifikat generasjon er limt inn nedenfor.

-bash-3.1 # ./build-key client1

generere en 1024 bit RSA private nøkkelen

...... ........ ++++++

.............................. .......................... ++++++

skrive ny privat nøkkel til \\ 'client1.key \\'

-----

Du er i ferd med å bli bedt om å oppgi informasjon som vil bli innarbeidet

inn din forespørsel sertifikat.

Hva du er i ferd med å gå inn er det som kalles et unikt navn eller en DN.

Det er ganske mange felt, men du kan trygt la være

For noen felt vil det være en standardverdi,

Hvis du går inn \\, vil feltet være tomt

-----

Land Navn (2 bokstavkode) [US]:

stat eller navn provinsen (fullt navn) [CA]:

Lokalitet navn (f.eks by) [SanFrancisco]:

Organization Name (f.eks selskap) [Fort-Funston ]:

Navn organisasjonsenhet (f.eks seksjon) []:

Common Name (f.eks navnet ditt eller server \\ 's vertsnavn) [client1]: client1

E-post adresse [Denne e-postadressen er beskyttet mot programmer som samler. Du må aktivere Javascript for å kunne se]:

Vennligst oppgi følgende \\ "ekstra \\ 'attributter

for å bli sendt med sertifikat forespørsel

En utfordring passord []:

En valgfri firmanavn []:

Ved hjelp av konfigurasjon fra /etc/openvpn/easy-rsa/2.0/openssl.cnf

Sjekk at anmodningen matcher signaturen

Signatur ok

The Subject \\ 's Distinguished Name er som følger

Country: Utskriftsvennlig: \\' US \\ '

stateOrProvinceName: Utskriftsvennlig: \\' CA \\ '

localityName: Utskriftsvennlig: \\' tar opp \\ '

Organisasjons: Utskriftsvennlig: \\' Fort-Funston \\ '

common: Utskriftsvennlig: \\' dkp1 \\ '

emailAddress: IA5STRING: \\ 'Denne e-postadressen er beskyttet mot programmer som samler. Du må aktivere Javascript for å kunne se \\ '

Sertifikat er å bli sertifisert til 1 juli 04:02:10 2 018 GMT (3650 dager)

Signer sertifikat? [y /n]: y

1 av 1 sertifikat forespørsler sertifiserte, begår? [y /n] y

Skriv ut database med 1 nye oppføringer

Database Oppdatert

================= =========

Generer Diffie Hellman parametre

Neste vi fortsette å generere Diffie Hellman parametere. Diffie-Hellman (DH) er en offentlig nøkkel algoritmen som brukes for å produsere en delt hemmelig nøkkel.

Skriptet for genreating DH parametre er ./build-dh

======= =================

-bash-3.1 # ./build-dh

Generering DH parametere, 1024 litt lang trygt prime, generator 2

Dette kommer til å ta lang tid

............................. ..... + .......... ++ * ++ * ++ *


============= ============

Konfigurere Åpne VPN-klienten

Last opp ca.crt, client1.crt og client1.key til klientmaskinen. Anmeldelser

Nå som klient- og serverside konfigurasjoner er over, skal vi fortsette med å redigere configration filer, som er den viktigste delen.

Opprette konfigurasjonsfiler for server- og klient

Server konfigurasjonsfil

Sample konfigurasjonsfiler vil være tilgjengelig på /usr/share/doc/openvpn-2.1/sample-config-files. Den server.conf er server konfigurasjonsfilen, og du kan kopiere den til /etc /openvpn og endre etter behov.

cp /usr/share/doc/openvpn-2.1/sample-config-files/server. conf /etc /openvpn

En prøve konfigurasjonsfil er gitt nedenfor. De feltene som du trenger for å redigere er de som har blitt forklart med en # merket til høyre.

====================== ===

port 1194

proto tcp

dev tun

ca nøkler /ca.crt # banen til ca.crt filen

cert nøkler /server.crt # bane til serversertifikatet

viktige nøkler /server.nøkkel # banen til serveren nøkkelfilen

dh nøkler /dh1024.pem # banen til generert DH parametre

modus server # implementerer multi-klient-server evne

TLS-server

tls-chiffer DHE-RSA-AES256-SHA

server 192.168.1.0 255.255.255.0 # her gi private nettverksadresse i serveren og dens maske.

klient-config-dir ccd

######### Anmeldelser

######### Sett offentlige DNS-servere her

#########

#push \\ " dhcp-alternativet DNS 210,80. 150,4 \\ "

#push \\ " dhcp-alternativ DNS 202.155.174.4 \\ "

trykk \\ " rute 192.168.1.0 255.255.255.0 \\ " # Den OpenVPN server kan presse ruter, IP-adresser DNS server og andre konfigurasjonsdetaljer til klientene

ifconfig-pool-vedvarer ipp.txt

trykk \\ ". Omdirigere-gateway \\ "

Keepalive 10 120

comp-LZO

vedvarer-key

vedvarer-tun

status server tcp.log

verb tre

========================

Når konfigurasjonen er over, opprette fil ipp.txt som inneholder liste klienten IP-adresser.

cd /etc /openvpn

trykk ipp.txt

En prøve ipp.txt filen er som følger.

-bash-3.1 # cat ipp.txt

test1.com.client, 192.168.1.4

Deretter trykker du på en fil for loggene.

berører server tcp.log

Client konfigurasjonsfil

Når server- og klientside konfigurasjoner er over, kan vi begynne å åpne VPN-serveren.

/etc /rc. d /init.d /OpenVPN starte Anmeldelser