Oppsett og konfigurere OpenVPN Server på CentOS 6.5

Introduction
OpenVPN er en robust og fleksibel tunneling program som bruker alle de kryptering, autentisering, og sertifiserings funksjoner i OpenSSL-biblioteket til trygt tunnel IP-nettverk over en enkelt TCP /UDP-port. OpenVPN er utviklet av James Yonan av OpenVPN Technologies.
I denne korte guiden, la oss setup OpenVPN server på CentOS 6.5, og koble fra en ekstern klient. For hensikten med denne opplæringen, jeg bruker to systemer som kjører med CentOS 6.5, en fungerer som VPN-server og andre handlinger som VPN-klient Anmeldelser Part One -. VPN Server Side Configuration
Her bruker jeg CentOS 6.5 som VPN server, og det er selve IP-adresse er 192.168.1.2/24
. Forutsetninger
OpenVPN, og det er avhengigheter er ikke tilgjengelig i CentOS standard repositories. Så bør vi installere "Epel" depotet for å installere OpenVPN og dens avhengigheter.
Å aktivere Epel repository På CentOS, se følgende link.

  • Installer Epel Repository På CentOS /RHEL /Scientific Linux 6
    Også oppdatere systemet ved hjelp av følgende kommando:
     yum updateInstall OpenVPN Software 
    Installer OpenVPN programvaren ved hjelp av følgende kommando:
     yum install openvpn lett- rsaThe lett-rsa scripts ligger som standard i  /usr /share /lett-RSA /katalog. Lag en katalog /lett-RSA /nøkler inne i  /etc /openvpn katalog og kopiere skript til den katalogen som vist nedenfor: 
     mkdir -p /etc /openvpn /lett-rsa /keyscp -rf /usr/share/easy-rsa/2.0/* /etc /openvpn /lett-RSA /
    Generer CA-sertifikat og CA nøkkelen

    Rediger filen /etc /openvpn /easy-rsa /2.0 /vars
    , etter

     vi /etc /openvpn /lett-RSA /vars 

    Og, endre verdiene som matcher med ditt land, stat, by, mail id etc.

     [...] # Ikke la noen av disse feltene være tomme. eksport KEY_COUNTRY = "IN" eksport KEY_PROVINCE = "TN" eksport KEY_CITY = "Erode" eksport KEY_ORG = "Unixmen" eksport KEY_EMAIL = "[email protected]" eksport KEY_OU = "server" [...] 

    Gå til den OpenVPN /easy-rsa katalogen:

     cd /etc /openvpn /lett-RSA /

    Skriv inn følgende kommandoer en etter en for å initialisere sertifiseringsinstans:

     cp OpenSSL-1.0 .0.cnf openssl.cnf kilde ./vars ./clean-all

    Then, kjører du følgende kommando for å generere CA-sertifikat og CA nøkkel:

     ./bygge-ca 

    Prøve utgang:

     generere en 2048 bit RSA private key......................................................+++............................................................+++writing nye private nøkkelen til "ca.key" ----- Du er i ferd med å bli bedt om å oppgi informasjon som vil være incorporatedinto sertifikatet request.What du er i ferd med å gå inn er det som kalles et unikt navn eller en DN.There er ganske mange felt, men du kan la noen blankFor noen felt vil det være en standardverdi, hvis du går inn, vil feltet være tomt .----- Navn Land (2 bokstavkode) [IN] '.': - --- > Trykk EnterState eller navn provinsen (fullt navn) [TN]: ---- > Navn Trykk EnterLocality (f.eks by) [Erode]: ---- > Trykk EnterOrganization Name (f.eks selskap) [Unixmen]: ---- > Navn Trykk EnterOrganizational Unit (f.eks seksjon) [server]: ---- > Trykk EnterCommon navn (for eksempel navnet ditt eller serverens vertsnavn) [Unixmen CA]: ---- > Trykk entername [EasyRSA]: ---- > Trykk EnterEmail Adresse [[email protected]]: ---- > Trykk Enter 

    Vi har nå generert CA-sertifikatet og CA-tasten. Deretter oppretter sertifikatet og nøkkelen for server med følgende kommando:

     ./bygge-key-tjeneren tjener 

    Prøve utgang:

     generere en 2048 bit RSA private nøkkelen ..... ............... +++ ............. +++ skrive nytt private nøkkelen til "server.nøkkel '----- Du er i ferd med å bli bedt om å oppgi informasjon som vil være incorporatedinto sertifikatet request.What du er i ferd med å gå inn er det som kalles et unikt navn eller en DN.There er ganske mange felt, men du kan la noen blankFor noen felt vil det være en standardverdi, hvis du går inn, vil feltet være tomt .----- Navn Land (2 bokstavkode) [IN] '.': ---- > Trykk EnterState eller navn provinsen (fullt navn) [TN]: ---- > Navn Trykk EnterLocality (f.eks by) [Erode]: ---- > Trykk EnterOrganization Name (f.eks selskap) [Unixmen]: ---- > Navn Trykk EnterOrganizational Unit (f.eks seksjon) [server]: ---- > Trykk EnterCommon navn (for eksempel navnet ditt eller serverens vertsnavn) [server]: ---- > Trykk entername [EasyRSA]: ---- > Trykk EnterEmail Adresse [[email protected]]: ---- > Trykk EnterPlease oppgi følgende "ekstra" attributesto sendes med sertifikat requestA utfordring passord []: ---- > Trykk Enter En valgfri firmanavn []: ---- > Trykk EnterUsing konfigurasjon fra /etc/openvpn/easy-rsa/openssl-1.0.0.cnfCheck at anmodningen matcher signatureSignature okThe Subject Distinguished Name er som followscountryName: Utskriftsvennlig: 'IN'stateOrProvinceName: Utskriftsvennlig:' TN'localityName: Utskriftsvennlig: 'Erode'organizationName: Utskriftsvennlig:' Unixmen'organizationalUnitName: Utskriftsvennlig: 'server'commonName: Utskriftsvennlig:' server'name: Utskriftsvennlig: 'EasyRSA'emailAddress: IA5STRING:'[email protected]'Certificate er å bli sertifisert til 23 mars 12:21:34 2 024 GMT (3650 dager) Logg sertifikatet? [y /n]: y ---- > Skriv Y og presse Enter1 av 1 sertifikat forespørsler sertifiserte, begår? [y /n] y ---- > Skriv Y og presse EnterWrite ut database med en ny entriesData Base Oppdatert 

    Opprett sertifikatet og nøkkelen for VPN-klienter ved hjelp av følgende kommando:

     ./bygge-key klient 

    Hvis du vil lage sertifikat og viktige filer for hver klient, bør du erstatte klient
    parameter med en unik identifikator

    Prøve utgang.

     generere en 2048 bit RSA private key.......+++..................................................................................................+++writing nye private nøkkelen til "client.key" ----- Du er i ferd med å bli bedt om å oppgi informasjon som vil være incorporatedinto sertifikatet request.What du er i ferd med å gå inn er det som kalles et unikt navn eller en DN.There er ganske mange felt, men du kan la noen blankFor noen felt vil det være en standardverdi, hvis du går inn, vil feltet være tomt .----- Navn Land (2 bokstavkode) [IN] '.': - --- > Trykk EnterState eller navn provinsen (fullt navn) [TN]: ---- > Navn Trykk EnterLocality (f.eks by) [Erode]: ---- > Trykk EnterOrganization Name (f.eks selskap) [Unixmen]: ---- > Navn Trykk EnterOrganizational Unit (f.eks seksjon) [server]: ---- > Trykk EnterCommon navn (for eksempel navnet ditt eller serverens vertsnavn) [klienten]: ---- > Trykk entername [EasyRSA]: ---- > Trykk EnterEmail Adresse [[email protected]]: ---- > Trykk EnterPlease oppgi følgende "ekstra" attributesto sendes med sertifikat requestA utfordring passord []: ---- > Trykk EnterAn valgfritt firmanavn []: ---- > Trykk EnterUsing konfigurasjon fra /etc/openvpn/easy-rsa/openssl-1.0.0.cnfCheck at anmodningen matcher signatureSignature okThe Subject Distinguished Name er som followscountryName: Utskriftsvennlig: 'IN'stateOrProvinceName: Utskriftsvennlig:' TN'localityName: Utskriftsvennlig: 'Erode'organizationName: Utskriftsvennlig:' Unixmen'organizationalUnitName: Utskriftsvennlig: 'server'commonName: Utskriftsvennlig:' client'name: Utskriftsvennlig: 'EasyRSA'emailAddress: IA5STRING:'[email protected]'Certificate er å bli sertifisert til 23 mars 12:23:44 2 024 GMT (3650 dager) Logg sertifikatet? [y /n]: y ---- > Skriv Y og presse Enter1 av 1 sertifikat forespørsler sertifiserte, begår? [y /n] y ---- > Skriv Y og presse EnterWrite ut database med en ny entriesData Base Oppdatert 
    Generer Diffie Hellman Parameter

    Tast inn følgende kommando for å generere DH parameter.

     ./bygge-dh 

    Prøve utgang:

     Generering DH parametere, 2048 bits lang trygt prime, generator 2 Dette kommer til å ta lang tid 

    De nødvendige nøkler og sertifikater vil bli generert i /etc /openvpn /lett -rsa /nøkler /katalog. Kopier følgende sertifikat og viktige filer til /etc /openvpn /directory.


    ca.crt


    dh2048
    .pem


    server.crt


    server.key


    Go til katalogen /etc /openvpn /lett-RSA /keys /Hotell og skriv inn følgende kommando for å overføre filene over til /etc /openvpn /katalog.

     cd /etc /openvpn /lett RSA /nøkler /cp dh2048.pem ca.crt server.crt server.nøkkel /etc /openvpn /

    Og så må du kopiere alle klientsertifikater og nøkler til den eksterne VPN-klienter for å autentisere til VPN server. I vårt tilfelle har vi generert sertifikater og nøkler til bare én klient, så vi må kopiere følgende filer til VPN-klient.

  • ca.crt
    < li> client.crt

    client.key

    Som jeg nevnte tidligere, jeg har et annet system som kjører med CentOS 6.5 som fungerer som min VPN-klient. Kontroller at du har installert openvpn pakken på klientsystemer. Deretter kopierer filene over til din VPN-klient system, ved hjelp av følgende kommando:

     scp ca.crt client.crt client.key [email protected]: /etc /openvpn 

    Kopier tastene med forsiktighet. Hvis noen har muligheter for å få nøklene, kan de lett forstyrre og få full tilgang til din virtuelle private nettverk.

    Fjern klient tilgang til VPN-serveren

    Hvis du vil fjerne en brukers tilgang til VPN-serveren, skriver du inn følgende kommando:

    . /etc/openvpn/easy-rsa/2.0/vars. /etc/openvpn/easy-rsa/2.0/revoke-full klient 

    Kommandoene ovenfor fjerne brukeren som har sertifikat for å få tilgang til VPN-serveren.

    Konfigurering av VPN Server

    Nå Vi må konfigurere vår VPN-serveren. Kopier filen server.conf filen til /etc /openvpn /katalog.

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

    Rediger filen server.conf, etter

     vi /etc/openvpn/server.conf

    Find og uncomment følgende linjer til ruten klientsystemer trafikk gjennom OpenVPN server.

     [ ,,,0],...] # Substitute 2 048 for 1 024 hvis du bruker # 2048 bits keys.dh dh2048.pem [...] push "omdirigere-gateway dEF1 bypass-dhcp" [...] 

    Også Uncomment og endring DNS-serverne for å gjenspeile din egen DNS-verdier. Her bruker jeg Googles offentlige DNS-servere.

     [...] push "dhcp-alternativet DNS 8.8.8.8" push "dhcp-alternativet DNS 8.8.4.4" [...] 

    Uncomment den følgende linjer:

     [...] bruker nobodygroup ingen [...] 

    Lagre og lukk filen

    Da må vi kopiere og redigere client.conf fil.. Vi trenger denne filen som skal overføres til VPN-klienter. Først kopiere filen til hvilket som helst sted (ex. /Home katalogen).

     cp /usr/share/doc/openvpn-2.3.2/sample/sample-config-files/client.conf /home /< p> Rediger filen client.conf, etter 
     vi /home/client.conf

    Set VPN-serveren vertsnavn /IP-adresse:

     # Vertsnavnet /IP og port på serveren . # Du kan ha flere eksterne oppføringer # for å laste balanse mellom serverne. 
     fjern 192.168.1.2 1 194 

    Her 192.168.1.2 er min VPN-serverens IP-adresse. Deretter Kopier client.conf
    filen på klientsystemet

     scp /home/client.conf [email protected]. /Etc /openvpnIP videresending og ruting Configuration 
    Rediger sysctl.conf fil, etter
     vi /etc/sysctl.confFind følgende linje og sette verdien "1" for å aktivere IP videresending. 
     # Controls IP-pakke forwardingnet.ipv4.ip_forward = 1Run den følgende kommando for å bruke sysctl endringene 
     sysctl -pAdjust iptables til å videresende trafikken gjennom VPN ordentlig Anmeldelser Skriv inn følgende kommandoer en etter en.. 
     iptables -t nat -A POSTROUTING - s 10.8.0.0/24 -o eth0 -j MASQUERADESave iptables endringer ved hjelp av kommandoen: 
     tjenesten iptables saveservice iptables restartFinally, start OpenVPN tjenesten og gjøre den skal starte automatisk ved hver omstart ved hjelp av følgende kommandoer: 
     tjenesten openvpn startchkconfig openvpn onat denne tiden, bør du ha en fungerende OpenVPN server. Neste, la oss flytte til klientsiden konfigurasjon 
    Kontroller at VPN-grensesnitt (tun0) opprettes ifconfig kommandoen bruker.
     ifconfigSample utgang: 
     eth0 Link Encap: Ethernet HWaddr 08:00 : 27: 46: 36: 62 inet addr: 192.168.1.2 Bcast: 192.168.1.255 Mask: 255.255.255.0 inet6 adr: fe80 :: A00: 27ff: fe46: 3662/64 Omfang: Link UP CAST KJØRER multicast MTU: 1500 Metric : 1 RX pakker: 604 feil: 0 droppet: 0 overskridelser: 0 frame: 0 TX pakker: 100 feil: 0 droppet: 0 overskridelser: 0 carrier: 0 kollisjoner: 0 txqueuelen: 1000 RX bytes: 44166 (43,1 KiB) TX bytes : 14434 (14,0 KiB) lo Link Encap: Lokal Loopback inet addr: 127.0.0.1 Mask: 255.0.0.0 inet6 adr: :: 1/128 Omfang: Host UP TILBAKEKOBL KJØRER MTU: 16436 Metric: 1 RX pakker: 0 feil: 0 droppet: 0 overskridelser: 0 frame: 0 TX pakker: 0 feil: 0 droppet: 0 overskridelser: 0 carrier: 0 kollisjoner: 0 txqueuelen: 0 RX bytes: 0 (0.0 b) TX bytes: 0 (0.0 b) tun0 Link ENCAP : UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr: 10.8.0.1 PtP: 10.8.0.2 Mask: 255.255.255.255 UP POINTOPOINT KJØRER NOARP multicast MTU: 1500 Metric: 1 RX pakker: 0 feil: 0 droppet: 0 overskridelser: 0 frame: 0 TX pakker: 0 feil: 0 droppet: 0 overskridelser: 0 carrier: 0 kollisjoner: 0 txqueuelen: 100 RX byte: 0 (0.0 b) TX bytes: 0 (0.0 b) Part Two - VPN Client side konfigurasjons 
    Her bruker jeg CentOS 6.5 som min VPN klient system. Og det faktiske IP-adresse er 192.168.1.101/24.
    Installer OpenVPN
    Skriv inn følgende kommando fra Terminal for å installere OpenVPN pakken.
     yum install openvpnAfter installere OpenVPN, starte tjenesten og gjøre det skal kjøres automatisk på hver omstart 
     tjenesten openvpn startchkconfig OpenVPN OnNow, sjekk om tun0 (VPN interface) opprettes 
     ifconfigSample utgang:.. 
     eth0 Link Encap: Ethernet HWaddr 08: 00: 27: BE: 25: 49 inet addr: 192.168.1.101 Bcast: 192.168.1.255 Mask: 255.255.255.0 inet6 adr: fe80 :: A00: 27ff: Febe: 2549/64 Omfang: Link UP CAST RUNNING multicast MTU: 1500 Metric: 1 RX pakker: 537 feil: 0 droppet: 0 overskridelser: 0 frame: 0 TX pakker: 387 feil: 0 droppet: 0 overskridelser: 0 carrier: 0 kollisjoner: 0 txqueuelen: 1000 RX bytes: 52177 (50,9 KiB) TX bytes: 50170 (48,9 KiB) lo Link Encap: Lokal Loopback inet addr: 127.0.0.1 Mask: 255.0.0.0 inet6 adr: :: 1/128 Omfang: Host UP TILBAKEKOBL KJØRER MTU: 16436 Metric: 1 RX pakker: 0 feil: 0 droppet: 0 overskridelser: 0 frame: 0 TX pakker: 0 feil: 0 droppet: 0 overskridelser: 0 carrier: 0 kollisjoner: 0 txqueuelen: 0 RX bytes: 0 (0.0 b) TX bytes: 0 (0.0 b ) tun0 Link Encap: UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr: 10.8.0.6 PtP: 10.8.0.5 Mask : 255.255.255.255 UP POINTOPOINT KJØRER NOARP multicast MTU: 1500 Metric: 1 RX pakker: 0 feil: 0 droppet: 0 overskridelser: 0 frame: 0 TX pakker: 0 feil: 0 droppet: 0 overskridelser: 0 carrier: 0 kollisjoner: 0 txqueuelen: 100 RX bytes: 0 (0.0 b) TX bytes. 0 (0.0 b) Som du ser i ovennevnte utgang, har VPN-serveren automatisk tildelt IP-adresse 10.8.0.6 til min VPN klient Anmeldelser Sjekk om du kan .. pinge VPN server fra klientsystemet 
     ping 10.8.0.110.8.0.1 er min VPN-serveren tun0 adresse 
    Sample utgang:
     PING 10.8.0.1 (10.8.0.1) 56 (84) bytes av data.64 bytes fra 10.8.0.1: icmp_seq = 1 ttl = 64 time = 9.61 MS64 bytes fra 10.8.0.1: icmp_seq = 2 ttl = 64 time = 7,17 MS64 bytes fra 10.8.0.1: icmp_seq = 3 ttl = 64 time = 4.87 msThat er det. Nå VPN-serveren og klienten er klar. Koble til VPN-serveren sikkert. Glad VPNing! Anmeldelser