jump to navigation

VPN red a red 29 agosto, 2009

Posted by Fredy Ruiz Ondre in VPN.
2 comments

Hay muchas maneras de configurar una VPN, en esta ocasion vamos a configurar del tipo net-to-net, esto quiere decir que vamos a unir dos redes diferentes, utilizaremos OpenSSL para el cifrado, la comunicacion de los servidores sera con llaves pre-compartidas.

Supuesto escenario:

lan_vpn

Ambos servidores tienen SO SLES 10 sp2, le instaleremos el openvpn, en cada maquina descargamos las fuentes del openvpn las convertimos a rpm y luego la instalamos.

#wget http://www.openvpn.net/release/openvpn-2.0.9.tar.gz

#rpmbuild -tb openvpn-2.0.9.tar.gz

#rpm -ivh /usr/src/packages/RPMS/i586/openvpn-2.0.9-1.i586.rpm

Luego de instalar el paquete, en el server con ip inetrna 192.168.10.1, lo configuramos como servidor VPN.

#cd /etc/openvpn

#vim red1-red2.conf

dev tun
port 5001
ifconfig 172.16.0.5 172.16.0.6
up ./red1-red2.up
secret red1-red2.key
user nobody
group nobody
comp-lzo
ping 15
ping-restart 45
ping-timer-rem
persist-tun
persist-key
verb 9
log-append /var/log/openvpn/red1-red2.log

Ahora crearemos el archivo red1-red2.up

#vim red1-red2.up

route add -net 192.168.20.0 netmask 255.255.255.0 gw 172.16.0.6

Le damos permisos de ejecucion

#chmod +x red1-red2.up

Genramos la llave

#openvpn –genkey –secret red1-red2.key

Este misma llave la ponemos en el otro server, en la ubicacion /etc/openvpn/

Ahora en el otro server con ip interna 192.168.20.1, lo configuraremos como cliente VPN.

#cd /etc/openvpn/

#vim red2-red1.conf

dev tun
remote 190.24.136.24
port 5001
ifconfig 172.16.0.6 172.16.0.5
up ./red2-red1.up
secret red1-red2.key
user nobody
comp-lzo
ping 15
ping-restart 45
ping-timer-rem
persist-tun
persist-key
verb 9
log-append /var/log/openvpn/red2-red1.log

Ahora creamos el archivo red2-red1.up

#vim red2-red1.up

route add -net 192.168.10.0 netmask 255.255.255.0 gw 172.16.0.5

Le damos permiso de ejecucion

#chmod +x red2-red1.up

Eso es todo en cuanto a la configuracion del OpenVPN, ahora toca habilitar los puertos en el firewall de cada server, en este caso ya que estoy usando SLES, habilito los puertos en el SuSEfirewall2. En la interfaz interna agrego el dispositivo tun creado por el OpenVPN.

Iniciamos los servicios de OpenVPN y ya debe haber comunicacion entra las maquinas de ambas redes.

VPN Server con protocolo pptp 29 agosto, 2009

Posted by Fredy Ruiz Ondre in VPN.
add a comment

Normalmente cuando instalo servidores VPN usao OpenVPN, pero en algunos casos los usuarios no quieren que se les instale algun programa adicional a su SO, para ello configuro un servidor VPN con el protocolo pptp ya que Windows viene con ese soporte incluido.

Datos:

SO: OpenSUSE 11.0

Red local: 192.168.0.0/24

Instalacion del paquete con el comando yast2.

linux-11wx:~ #yast2 -i pptpd

Configuracion del servicio PPTPD

Ahora configuraremos el archivo pptpd.conf, donde definiremos los parametros tals como el rango de direcciones IP que se asignaran a los clientes

linux-11wx:~ #vim /etc/pptpd.conf

speed 115200
option /etc/ppp/options.ppp0
debug
localip 192.168.0.140-155 #Rango de ip’s locales para los clientes remotos
remoteip 192.168.0.160-175 #Rango de ip’s para los clientes remotos
pidfile /var/run/pptpd.pid

Ahora editamos las opciones del servidor, usar emos encriptación mppe, rechazamos cualquier forma de autentificación excepto mschap-v2 y añadimos require-mppe

linux-11wx:~ #vim /etc/ppp/options.ppp0

lock
auth
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
nobsdcomp
novj
novjccomp
nologfd

Editamos el archivo de autentificación de usuarios en el servidor /etc/ppp/chap-secrets y añadimos como tercer campo una contraseña segura.

linux-11wx:~ #vim /etc/ppp/chap-secrets

#client hostname 192.168.1.1

usuario pptpd contraseña *

Aqui, solo le agregamos la cuenta de usuario y la contraseña, es decir si quiero crear una cuenta de usuario digamos ‘cchavez’ y queremos ponerle una contraseña digamos ‘CcH4ve$’, quedaria de la siguiente manera:

#client hostname 192.168.1.1

usuario pptpd contraseña *
cchavez pptpd CcH4ve$ *

Habilitando el acceso al servicio PPTPD en el firewall.

Para ello accedemos al archivo SuSEfirewall2 y agregamos algunas reglas dentro de las opciones ya existentes, quedando de la siguiente forma

linux-11wx:~ # vim /etc/sysconfig/SuSEfirewall2

FW_SERVICES_EXT_TCP=”pptp”
FW_SERVICES_EXT_UDP=”pptp”
FW_SERVICES_EXT_IP=”GRE”

Reiniciamos los servicios.

linux-11wx:~ # rcpptpd restart
linux-11wx:~ # rcSuSEfirewall2 restart

Ahora creamos la conexion desde una maquina con Windows y listo

Nota: Por cada IP Publica solo puede haber una conexion; es decir, dos maquinas clientes que esten en una misma sede remota saldran a Internet  con la misma ip publica, estas maquinas no podran conectarse al servidor VPN ya que provienen con la misma ip publica.