Instal·la teu propi Servidor VPN amb OpenVPN en Ubuntu 10.04 Server

Instal·la teu propi Servidor VPN amb OpenVPN en Ubuntu 10.04 Server

OpenVPN Logo

ATENCIÓ

COM VEUEN AQUEST POST TÉ MES DE 1 ANY, AQUESTA MOLT desactualitzat, EL actualitzaré NI BÉ PUGUI, mentre no podré respondre ELS COMENTARIS.

Després d'un temps sense postejar els porto aquesta guia de com crear la seva pròpia VPN en Ubuntu Server, Ja sigui per connectar-se a la pc de casa o per utilitzar internet de forma segura en xarxes wifi insegures.

OpenVPN és un Programari que fa de client i servidor segons com ho configurem, aclareixo que hi ha 2 versions d'aquest:
* OpenVPN Community Programari: És la versió que utilitzarem i és 100% Open Source
* OpenVPN Access Server: És la versió de pagament, pot utilitzar gratis només fins a 2 usuaris, els usuaris addicionals són molt econòmics, a més té extres com panell d'administració web, és súper fàcil de configurar i mes.

Introducció

OpenVPN, és un producte de programari creat per James Yonan l'any 2001 i que ha estat sent millorat des de llavors.

Cap altra solució ofereix una barreja semblant de seguretat a nivell empresarial, seguretat, facilitat d'ús i riquesa de característiques.

És una solució multiplataforma que ha simplificat molt la configuració de VPN 's deixant enrere els temps d'altres solucions difícils de configurar com IPsec i fent-la més accessible per a gent inexperta en aquest tipus de tecnologia.

Suposem que necessitem comunicar diferents sucursals d'una organització. A continuació veurem algunes solucions que s'han ofert com a resposta a aquest tipus de necessitats.

En el passat les comunicacions es realitzaven per correu, telèfon o fax. Avui dia hi ha factors que fan necessària la implementació de solucions més sofisticades de connectivitat entre les oficines de les organitzacions al llarg de el món.

Aquests factors són:

* L'acceleració dels processos de negocis i la seva conseqüent augment en la necessitat d'intercanvi flexible i ràpid d'informació.
* Moltes organitzacions tenen diverses sucursals en diferents ubicacions així com també tele treballadors remots des de casa, els que necessiten intercanviar informació sense cap demora, com si estiguessin físicament junts.
* La necessitat de les xarxes de computació de complir alts estàndards de seguretat que assegurin l'autenticitat, integritat i disponibilitat.

font: Wikipedia

El Servidor:

Aquesta guia és per a Ubuntu 10.04 Server, imagino que funciona en altres versions i distros, tenim un ubuntu server ja instal·lat i funcionant.
Instal·lem OpenVPN i també OpenSSL, ja que la seguretat es basa en ssl.

sudo apt-get -i install openvpn sudo apt-get -i install openssl

Configurem el Dimoni de OpenVPN perquè No Auto Inicieu amb el Sistema
Comentem tot afegint # a l'inici de cada línia.

sudo nano / etc / default / openvpn

també eliminar l'script d'inici, per evitar que no iniciï si configurar

suo update-rc.d -f /etc/init.d/openvpn remove

Ara Creem l'Arxiu openvpn.conf a / etc / openvpn /

suo nano /etc/openvpn/server.conf

i col·loquem aquesta configuració

dev tun proto tcp port 1194 ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/servidor.crt key /etc/openvpn/keys/servidor.key dh /etc/openvpn/keys/dh2048.pem user nobody group nogroup server 10.6.0.0 255.255.255.0 ifconfig-pool-persist /etc/openvpn/clients.txt per a l'estat /etc/openvpn/status.txt persist-key persist-tun push "redirect-gateway DEF1" push "route 192.168.0.0 .255.255.255.0 10 "KeepAlive 120 verb 3 comp-lzo max-clients març

com veuran es pot personalitzar, aquest és un exemple que va ser provat

si no volen fer servir la vpn per internet segur, o sigui no navegar fan servir Internet des de la vpn, treure de la línia «redirect-gateway».

Altres dades que poden modificar:
* Ca, cert, key i dh = són l'entitat, el certificats, la clau i la Diffie Hellman de servidor, més endavant els crearem.
* Server 10.6.0.0 255.255.255.0 = és el rang de ip que usés la vpn, usin un altre però, no fer servir el mateix que la xarxa real.
* Ifconfig-pool-persist ipp.txt = guarda a qui se li va assignar cada ip a la vpn
* Proto i port = protocol i port, es pot usar tcp i utp, en utp no em va donar bons resultats, el port és poden canviar-lo.
* Duplicate-cn = permet que s'usi el mateix certificat i clau en diversos clients a el mateix temps, recomano no activar-lo.
* Up /etc/openvpn/openvpn.up = és un script que carrega openvpn a l'iniciar, s'usa per al ROUTING i FORWARDING, més endavant ho vam crear.
* Client-to-client = és per evitar que els usuari de la vpn es vegin entre si, segons el cas és útil.
* Comp-lzo = compressió, comprimeix tot el tràfic de la vpn.
* Verb = 3 = augmenta o disminueix els detalls d'error en el server.
* Max-clients 30 = quantitat màxima d'usuaris connectats simultàniament a servidor, es pot augmentar o disminuir.
* Push route = permet veure o estar a la xarxa darrera de l'vpn server, ull no activar client-to-client.
* Push «redirect = oblica a el client a fer servir la vpn com gateway.

ara creem l'script perquè configuri i iniciï el servidor de vpn.

suo nano /etc/init.d/vpnserver

i enganxem aquest codi, canviar el rang de ip segons la configuració de pas anterior

#! / Bin / sh # vpnserver_start () {echo "VPN Server [D'acord]" echo 1> / proc / sys / net / ipv4 / ip_forward /etc/init.d/networking restart> / dev / null / sbin / iptables -t nat -A POSTROUTING -s 10.6.0.0/24 -o eth0 -j MASQUERADE / usr / sbin / openvpn --config /etc/openvpn/server.conf 2 >> /etc/openvpn/error.txt 1 >> /etc/openvpn/normal.txt &} vpnserver_stop () {echo "VPN Server [NO]" / usr / bin / killall "openvpn" iptables -F iptables -X /etc/init.d/networking restart> / dev / null} vpnserver_restart () {vpnserver_stop sleep 1 vpnserver_start} # casi "$ 1" in 'start') vpnserver_start ;; 'Stop') vpnserver_stop ;; 'Restart') vpnserver_restart ;; *) Vpnserver_start ;; esac

ara li assignem permisos d'executable

suo chmod + x /etc/init.d/vpnserver

també i que configurar perquè acte iniciï amb el sistema

suo update-rc.d vpnserver defaults

bo ja configurem OpenVPN, ara hem d'activar el mòdul TUN en el nucli, amb aquestes línies, el carreguem i llest

suo modprobe tun suo echo "tun" >> / etc / modules

com veuran no va ser tan difícil la configuració, però ara ve el més lent:

* Crear Diffie Hellman de 2048bits
* Crear l'entitat emissora de certificats.
* Crear els Certificats i claus de servidor.
* Crear els certificats i claus de cada usuari.

Copiem els exemple d'easy-rsa per crear l'entitat, els certificats, claus i encriptació, que utilitzar OpenVPN,

suo cp -R / usr / share / doc / openvpn / examples / easy-rsa / / etc / openvpn /

ara cal entrar a la carpeta on hi ha les utilitats que copiem i crear la carpeta keys

suo cp -R / usr / share / doc / openvpn / examples / easy-rsa / / etc / openvpn / cd /etc/openvpn/easy-rsa/2.0 suo mkdir keys

només ens queda editar el fitxer vars que està en /etc/openvpn/easy-rsa/2.0

suo nano /etc/openvpn/easy-rsa/2.0/vars

i modifiquem aquests valors

export KEY_DIR = "$ EASY_RSA / keys"

per

export KEY_DIR = "/ etc / openvpn / easy-rsa / 2.0 / keys"

és per generi si o si en /etc/openvpn/easy-rsa/2.0/keys
seguim, també vam modificar els paràmetres per Diffie Hellman de 2048bits

export KEY_SIZE = 1024

per

export KEY_SIZE = 2048

només ens falten les dades per a l'entitat emissora

export KEY_COUNTRY = "OS" export KEY_PROVINCE = "CA" export KEY_CITY = "SanFrancisco" export KEY_ORG = "Fort-Funston" export KEY_EMAIL = "me@myhost.mydomain"

modifica cada valor pels del teu país, província, ciutat, empresa i correu
un exemple

export KEY_COUNTRY = "AR" export KEY_PROVINCE = "SF" export KEY_CITY = "Armstrong" export KEY_ORG = "MÀLAGA-Systems" export KEY_EMAIL = "info@lagasystems.com.ar"

Com veuen AR = Argentina, SF = Santa Fe (el meu província) i els altres s'entenen.
bo ara estem preparats per començar, seguir aquests passos a peu de la lletra, perquè un error i s'arruïna tot.

executem

source ./vars

i ens demana que netegem per si hi ha entitats, certificats i claus, ho fem amb gust

./netejar-ho tot

ara generem la seguretat Diffie Hellman de 2048bits

./build-dh

ara generem l'entitat emissora de certificats els demanarà les mateixes dades que en el arxius vars recomano completar cada un, tot i que ja hi són, no importa

./build-ca

ja estem per poder generar el certificats i claus primer el servidor, canviar server pel nom que agradin, els demanarà les mateixes dades que en el arxius vars recomano completar cada un, tot i que ja hi són, no importa.

./build-key-server servidor

ja tenim els certificats i claus de servidor ara el client, canviar client pel nom que agradin,
els demanarà les mateixes dades que en el arxius vars recomano completar cada un, tot i que ja hi són, no importa.

./build-key client

aquest pas s'ha de repetir per a cada client o usuari que vol connectar a la vpn ja tenim tot per funcionar, no, falta copiar els arxius que generem a el lloc que configurem a openvpn.conf
ja que copiar la carpeta keys a / etc / openvpn /

suo cp -R /etc/openvpn/easy-rsa/2.0/keys / etc / openvpn /

ara comprovem que aquest tot al seu lloc, vam entrar a la carpeta / etc / openvpn / keys

cd / etc / openvpn / keys

i amb un ls mirem si hi ha els arxius
ara generem un arxiu més, aquest el genera openvpn

suo openvpn --genkey --secret ta.key

Només falta copiar els arxius ca.crt, cliente.crt, cliente.key, si vas crear mes clients copia els crt i key de cada un pendrive o un altre mitjà no utilitzar-mail per enviar-los, és com donar-li la clau de casa teva a un desconegut .

A punt ja esta tot al servidor, ara ho iniciem per provar que tot esta correcte

suo /etc/init.d/vpnserver start

Si no hi ha errors ja tenim la nostra vpn funcionant, només falta el client.

El Client:

Aquesta guia és per a Ubuntu 10.04 Desktop, imagino que funciona en altres versions i distros, tenim un ubuntu ja instal·lat i funcionant.
Instal·lem OpenVPN i també OpenSSL, ja que la seguretat es basa en ssl
i com farem servir el Network Manager d'Ubuntu cal instal·lar el plugins per OpenVPN

sudo apt-get -i install openvpn sudo apt-get -i install openssl suo aptitude -i install network-manager-openvpn

Ara ja estem en condicions de configurar el nostre client un exemple de configuració:

Amb un editor de text, gedit pot ser, peguen aquest codi

client dev tun proto tcp remote IP-DEL-SERVIDOR PORT resolv-retry infinite nobind #user nobody #group nobody persist-key persist-tun ca ca.crt cert cliente.crt key cliente.key comp-lzo tun-mtu 1500 KeepAlive 10 120 verb abril

Modifiquen les dades, IP-DEL-SERVIDOR aquest és el ip públic o d'internet de servidor i PORT pel qual van assignar al servidor, els arxius ca.crt, cliente.crt i cliente.key són els que generem i copiem abans en un pendrive o en el que sigui.

Si Té IP Públic Dinàmic, els recomano fer servir algun servei de DDNS (DyDNS, NO-IP, CDMon), i no s'oblidi d'obrir i redirigir el port 1194 o el que van triar per al servidor.

Guarden el el codi amb el nom que vulguin però amb extensió .conf i en la mateixa carpeta dels arxius ca.crt, cliente.crt i cliente.key

Ara obre el Network Manager d'Ubuntu ia la pestanya VPN hi ha un botó Importa, busquen l'arxiu .conf que guardem abans i ja esta tot.

espero que els ajudi, ja que per fer funcionar openvpn em vaig recórrer totes les guies i manuals que vaig trobar.

Gràcies per les seves Comentaris, Si hi ha algun ERROR és producte de la seva imaginació, jajajaj