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

ATENCIÓ
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