Oppsett og konfigurere OpenVPN Server på Ubuntu 13.10

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.
Installer OpenVPN Software
Her bruker jeg Ubuntu 13.10 som VPN server, og det er selve IP-adresse er 192.168.1.101/24. Anmeldelser Logg inn som root-bruker og Installer OpenVPN programvaren ved hjelp av følgende kommando:

 apt-get install openvpn lett rsaThe lett-rsa scripts ligger som standard i  /usr /share /lett-RSA /katalog. Lag /etc /openvpn /lett-RSA og Kopier /usr /share /lett-RSA /til  /etc /openvpn /lett-RSA /katalog: 
 mkdir /etc /OpenVPN /lett-rsacp -rf /usr /share /lett-RSA /* /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 1024 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 1024 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 1024 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, 1024 litt 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 /katalog.

  • ca.crt

    dh1024
    .pem

    server.crt

    server.nøkkel

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

     cd /etc /openvpn /lett-RSA /nøkler /cp dh1024.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-serveren. 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

    Du må kopiere filene over til VPN-klienter sikkert. Kopiere nøkler 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.gz filen til /etc /openvpn /katalog.

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

    Pakk ut filen ved hjelp av følgende kommando:

    gzip -d /etc/openvpn/server.conf.gz

    Rediger filen server.conf, etter

     VI /etc/openvpn/server.conf

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

     [...] push "omdirigere-gateway dEF1 bypass-dhcp" [.. .] 

    Også Uncomment og endre 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 NOGROUP [...] 

    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/examples/sample-config-files/client.conf /home /

    Rediger fil 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.101 1194 

    Her 192.168.1.101 er min VPN-serverens IP-adresse.

    Deretter Kopier client.conf
    filen på klientsystemet.
    IP videresending og routing Configuration

    Rediger sysctl.conf fil, etter

     vi /etc/sysctl.conf

    Find følgende linje og sette verdien "1" for å aktivere IP videresending.

     # Controls IP-pakke forwardingnet.ipv4.ip_forward = 1 

    Kjør følgende kommando for å bruke sysctl endringene

     sysctl -pEnter følgende kommando for å aktivere IP videresending. 
     echo 1 > /proc /sys /net /IPv4 /ip_forwardAdjust iptables til å videresende trafikken gjennom VPN ordentlig Anmeldelser Skriv inn følgende kommandoer en etter en for å videresende trafikk gjennom OpenVPN. 
     iptables -A FORWARD -m state --state relatert, ETABLERT j ACCEPTiptables -A FORWARD -s 10.8.0.0/24 j ACCEPTiptables -A FORWARD j REJECTiptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADEInstall iptables-bestandige og lagre iptables regler: 
     apt-get install iptables-vedvarende Godta standardverdiene og lagre iptables regler 
    Hvis du bruker UFW, bør du kjøre følgende kommandoer for å tillate openvpn port 1194.
    ufw tillate 1194 /udpufw tillate 1194 /tcpFinally, start OpenVPN tjenesten og gjøre den skal starte automatisk ved hver omstart ved hjelp av følgende kommandoer:
     tjenesten openvpn startVerify hvis VPN-grensesnitt (tun0) opprettes ifconfig kommandoen bruker: 
    < pre> 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 til 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 bytes: 0 (0.0 b) TX bytes: 0 (0.0 b) det er det. Nå VPN-serveren er klar. Cheers!