martes, 21 de enero de 2014

Mikrotik to Cisco ASA IPsec VPN multiple policies

Vamos a empezar nuestra serie de artículos dedicados al mundo de Mikrotik.

Tenemos el siguiente escenario, la sede central tiene un cisco Asa con 3 vlans internas, las cuales queremos ver a través de la vpn, por otro lado tenemos el mkrotik que únicamente tiene una red la cual no queremos que se vea desde la sede central.

Cisco Asa:

   Wan: 1.1.1.1
   IDRAC: 172.16.0.0/24
   DMZ: 10.0.1.0/24
   INSIDE: 192.168.100.0/24


Mikrotik:

   Wan: 2.2.2.2
   LAN: 192.168.5.0/24








Configuración del ASA via ASDM 7.1


Nos vamos al menú "Wizards/Vpn Wizards/Site-to-site VPN Wizard" y en la segunda pantalla le indicamos la ip publica del mikrotik y la interfaz del ASA donde esta la salida a internet, normalmente Outside.

 
 
En la siguiente pantalla dejamos seleccionado Ike versión 1 (ya se que no es la mejor opción, pero ahora mismo es la que tengo probada, cuando comprueba que fuciona con la versión 2 modificare el tutorial)
 
 
 

En la siguiente pantalla tenemos que seleccionar las redes que van a ir por la VPN, en local network tenemos que añadir las 3 redes que queremos proteger y la red interna de destino.

 
 
 
En la siguiente pantalla nos pedirá la clave compartida de IKE v1, le ponemos la que queramos y nos la apuntamos para poner la misma en el mikrotik
 
 
 

En la siguiente pantalla configuramos los algoritmos de cifrado, lo dejamos como esta, a pesar de que se podría afinar mas, esto os lo dejo para que penséis un poquito :P, sin tocar nada funciona.
 
 
 
En la ultima pantalla "Miscellaneous" hay que seleccionar la ultima casilla "Exemp Asa side Host/network from address translation" y seleccionar una interfaz, aquí es donde viene el ki de la cuestión ya que esto no te lo hace el wizard y luego tendremos que añadir manualmente.
Como solo nos deja seleccionar 1 interfaz y tenemos 3 redes, tendremos que seleccionar la interfaz de 1 sola de las redes, por ejemplo DMZ.
 
 
 
Una vez hecho esto ya solo nos queda darle a siguiente y en la siguiente pantalla le damos a finalizar.
 
Ahora nos vamos a la pestaña de configuración/site-to-site VPN/advanced/Ike Parameters y el parámetro "Identity sent to Peer" lo ponemos en "Address"
 
 
Ahora solo nos falta añadir las excepciones al nat que faltan, para ello nos vamos a "Configuration/firewall/Nat Rules" y le damos a "Add Nat Rule Before "Network Object" Nat Rules... Como ya tenemos añadido a través del wizard la red DMZ nos faltaran las otras 2, primero crearemos la red idrac y luego la red inside. Ojo, hay que dar de alta los network objects para poder añadirlo en el source address y el destination address, sino nos dara error.
 
 
 
Con la Nat Rule de Inside hacemos lo mismo exactamente, una vez realizado esto, tenemos que asegurarnos de que están de las primeras reglas por delante de "Network Object NAT" sino no funcionara.
 
Con esto dejamos listo la parte de Cisco ASA.
 
 
 

Mikrotik:

Primero que nada creamos un "IPsec Proposal y seleccionamos "sha1" y "aes-256"
 
 
 
 
 
Ahora creamos las 3 "IPsec Policy", tenemos que crear un IPsec Policy por cada red que tenemos que acceder del otro extremo, 192.168.100.0/24 10.0.1.0/24 y 172.16.0.0/24
 
 
 
En la pestaña de Action nos aseguramos de que en "level" este seleccionado "unique" y que Proposal este el que hemos creado en el paso anterior "Asa_IPSEC"
 
 
Una vez tenemos los 3 creados creamos un "new peer", aquí le tendremos que poner la preshared key que pusimos previamente en el cisco Asa.
En Hash Algorithm pondremos "sha1", en Encryption Algorithm "aes-256", en Lifetime todo a 0 y en Lifebytes "10" en DPD Interval "60" y en DPD Máximum Failures "1"
 

 
 
Por ultimo ya solo nos queda crear las reglas de Nat para evitar que mande nuestro trafico a internet y lo mande por el túnel.
Primero creamos una Address Lists, le llamaremos ASA y metemos las 3 redes a las que queremos llegar a través de la VPN
 
 
 
Ahora vamos a la pestaña NAT y le damos a añadir, en la pestaña Chain seleccionamos "srcnat", en src Address ponemos el rango local, en este caso 192.168.5.0/24
 
 
 
ahora nos vamos a la pestaña advanced y en dst. Address list seleccionamos "Asa" 
 
 
El resto lo dejamos por defecto.
Ahora solo tenemos que mover esta regla nat hasta el primer puesto y listo, con esto ya tendremos funcionando la VPN entre las 2 sedes con multiples redes.
 
Espero que le sirva a alguien de ayuda :)


martes, 14 de enero de 2014

Exchange 2010 + nginx reverse proxy + Clientes Outlook 2011 Mac

Parece que la conexión de los clientes Outlook a Exchange da problemas con la autenticación de usuario, con el añadido de que usar un proxy inverso para filtrar las solicitudes elimina ciertas cabeceras necesarias. Al intentar configurar un cliente, fallaba la autenticación en la mayoría de los casos, aunque en alguno de los intentos se crease la cuenta en el Outlook 2011, nunca sincronizaba.

Para la configuración de Outlook es necesario especificar la dirección del servidor Exchange 2010, con la ruta al Exchange Web Services. El resto de parámetros son los comunes: dirección de email, usuario del dominio y contraseña. En los ejemplos, utilizaremos correo.dominio.com como FQDN del servidor.

La dirección típica del EWS es https://correo.dominio.com/ews/exchange.asmx . Ojo porque en la autoconfiguración hay ocasiones en las que el nombre del subdirectorio está escrito en mayúsculas (EWS) y eso puede generar problemas en el entorno case-sensitive del proxy inverso. 

En primer lugar, es necesario activar la autenticación básica. Tenemos que acceder a la administración de IIS del servidor Exchange, y en Default Web Site encontraremos el sitio de EWS. Buscamos la sección IIS -> Autenticación.


Hemos de modificar el parámetro para que la autenticación básica esté Habilitada.


Tras este cambio, procedemos a reiniciar el IIS con el comando iisreset desde una línea de comandos con privilegios.


Para hacer la prueba, intentaremos acceder en local al directorio /ews/exchange.asmx y se debería mostrar un documento XML.

Si la prueba es satisfactoria, el equipo ya se podrá conectar en local al Exchange y autenticarse como es debido, pero en nuestra infraestructura contamos con un servidor proxy inverso nginx que hay que configurar para que deje pasar ciertas cabeceras al Exchange cuando se intenta acceder al mismo desde el exterior.

Accederemos por SSH al servidor ngnix y editaremos el site relacionado con el Exchange (owa):


nano /etc/nginx/sites-enabled/owa


En este fichero, vamos a añadir una sección location /ews para el subdirectorio EWS:

server {
        listen       80;
        server_name correo.dominio.com;
        server_name autodiscover.dominio.com;

        # Redirect any HTTP request to HTTPS
        rewrite ^(.*) https://correo.dominio.com$1 permanent;

        error_log  /var/log/nginx/owa-error.log;
        access_log /var/log/nginx/owa-access.log;
}

server {
        listen       443;
        server_name correo.dominio.com;
        server_name autodiscover.dominio.com;

        # Redirect from "/" to "/owa" by default
        #rewrite ^/$ https://correo.dominio.com/owa permanent;

        # Enable SSL
        ssl                     on;
        ssl_certificate         /etc/nginx/ssl.crt/server.crt;
        ssl_certificate_key     /etc/nginx/ssl.key/server.key;
        ssl_session_timeout     5m;

        # Set global proxy settings
        proxy_read_timeout      360;
        proxy_pass_header       Date;
        proxy_pass_header       Server;
        proxy_set_header        Host $host;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

        location /      { proxy_pass http://192.168.2.2; }
#      location /owa      { proxy_pass http://192.168.2.2/owa; }
        proxy_set_header        Host $host;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

        location /      { proxy_pass http://192.168.2.2; }
#        location /owa      { proxy_pass http://192.168.2.2/owa; }
#        location /rpc      { proxy_pass http://192.168.2.2/rpc; }
#        location /Microsoft-Server-ActiveSync { proxy_pass http://192.168.2.2/Microsoft-Server-ActiveSync; }

        location /ews {
            proxy_http_version      1.1;
            proxy_pass_request_headers on;
            proxy_set_header        Host            $host;
            proxy_set_header        X-Real-IP       $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            more_set_input_headers  'Authorization: $http_authorization';
            proxy_set_header  Accept-Encoding  "";
            proxy_pass              https://192.168.2.2/ews;
            proxy_redirect          default;
            #headers-more mod needed
            more_set_headers        -s 401 'WWW-Authenticate: Basic realm="correo.dominio.com"';
    }
        error_log /var/log/nginx/owa-ssl-error.log;
        access_log /var/log/nginx/owa-ssl-access.log;

}

(En negrita la sección añadida, ojo con los saltos de línea!)

Para que el parámetro more_set_headers funcione, necesitamos el módulo headers-more incluído en el paquete nginx-extras de Debian.

viernes, 13 de diciembre de 2013

Como reducir y extender LVM con EXT4 en Centos

Hoy vamos a aprender como manejar nuestros volúmenes LVM para reducirlos y aumentarlos con el sistema de ficheros EXT4.

Si lo que queremos es reducir o aumentar el tamaño del volumen del / tenemos que arrancar nuestro sistema con un Live CD por ejemplo el Kali Linux.

Una vez hemos arrancado con nuestro Linux Live tenemos que averiguar cual es nuestro Volume Group y Logical Volume para poder hacer nuestra reducción o ampliación del tamaño del disco, para ello podemos utilizar varios comandos:

lvs


lvdisplay - este comando nos da la lista de los "Logical Volumes"


vgdisplay - este comando te saca la lista de los "volumen groups"


 
 
pvdisplay - Lista de los volúmenes físicos
 
 
 
 
Con esto podemos sacar toda la información que necesitemos de nuestros volúmenes LVM, ahora vamos ya al tema.
 
Antes de nada tenemos que asegurarnos que nuestra partición esta desmontada, si hemos arrancado desde un Live CD no hay problema.
 
Primero que nada hay que hacer un check al LV
 
e2fsck -f /dev/mapper/vg_pcweb02-lv_root
 
Luego hacemos un shrink ext4 al tamaño deseado, en nuestro caso vamos a pasar de 80 Gb a 40 Gb
 
resize2fs -p  /dev/mapper/vg_pcweb02-lv_root 40G
lvreduce -L 40G /dev/mapper/vg_pcweb02-lv_root
 
Antes de continuar volvemos a ejecutar e2fsck por si se ha producido algún problema
 
e2fsck -f /dev/mapper/vg_pcweb02-lv_root
 
Ahora le cambiamos el tamaño al sistema de archivos para que coincida con el del LV y lo chequeamos.
 
resize2fs -p  /dev/mapper/vg_pcweb02-lv_root
e2fsck -f /dev/mapper/vg_pcweb02-lv_root
 
Con esto ya lo tendremos reducido :)
 
Si queremos hacerlo mas grande los pasos serian los siguientes:
 
Primero que nada extendemos el LV al tamaño deseado y le hacemos un chequeo
 
lvresize --size 80G /dev/mapper/vg_pcweb02-lv_root
e2fsck -f /dev/mapper/vg_pcweb02-lv_root
 
Una vez hecho esto modificamos el sistema de archivos y volvemos a hacer un check
 
resize2fs -p  /dev/mapper/vg_pcweb02-lv_root
e2fsck -f /dev/mapper/vg_pcweb02-lv_root
 
Y con esto ya lo tenemos todo.
 
Fuentes:
 
 
 
 
 

domingo, 13 de octubre de 2013

Vmware: Error añadiendo un Datastore a ESXI








Volvemos a la carga, esta vez con vmware esxi, con una infraestructura nueve cita y todo recién instalado, intentando añadir un datastore me daba un error "Call "HostDatastoreSystem.QueryVmfsDatastoreCreateOptions" for object "datastoreSystem-9" on vCenter Server "XXXX" failed." y no había forma humana de conseguir añadirlo, así que me puse a buscar la solución al pequeño problemilla.
Al parecer se puede deber a la información que se queda en el disco al crear los volúmenes Raid con las utilidades de disco de Dell y HP, asi que lo que vamos a hacer es eliminar toda la información y dejarlo en blanco con partedUtil



Lo primero que tenemos que hacer es, desde nuestro vcenter conectarnos al host ESXI que nos esta dando el problemilla y en la pestaña de configuración buscar "Security Profile", y una vez dentro pinchamos en "propiedades" en la parte de "Servicios".



Una vez dentro buscamos "SSH" y pinchamos en "options", le damos a "start" y ahora ya podemos acceder por SSH al ESXI para resolver nuestro pequeño problema.



Ahora accedemos por ssh a nuestro host esxi y hacemos un "ls /vmfs/devices/disks/" aquí nos saldrán los discos y particiones que tiene nuestro esxi, las particiones vienen indicadas por :X donde la X es el numero de partición.


ahora nos fijamos en el disco que nos estaba dando error al principio, en nuestro caso era "naa.6b8ca3a0f4d3c90019e30a9006f0a9fd", una vez tenemos ya identificado el disco utilizaremos el partedUtil para dejar el disco en blanco completamente para que nuestro ESXI no se queje al añadir el datastore.

partedUtil mklabel /vmfs/devices/disks/naa.6b8ca3a0f4d3c90019e30a9006f0a9fd msdos


Una vez ejecutado el comando volvemos a intentar añadir el datastore y esta vez ya no nos da error y nos dice que va a crear una nueva partición :D


Y por ultimo no os olvidéis de desactivar el SSH!!!!

Hasta la próxima!!

viernes, 22 de junio de 2012

Centos 5 y 6 ManagementPack para Scom 2012

Vamos a ver como crear un Management Pack de Centos 5 y Centos 6 para System Center Operations Manager 2012.
Ha cambiado algunas cosillas desde el 2007 R2 y pretendo ahorraros los quebraderos de cabeza que he estado pasando hasta dar con la solucion a cada problema que iba saliendo, hasta tenerlo fino fino.
Por cierto, esto por supuesto que no esta soportado por microsoft, pero funciona bastante bien.
Primero que nada desde la consola del SCOM instalamos los MP de Red Hat 5, 6 y el Operating System Library, para ello en la pestaña de Administracion le damos al boton derecho sobre ManagementPacks y le damos a "Import Management Pack"


Nos saldra un recuadro, pinchamos en "add" y seleccionamos la opcion "add from disk..."



y seleccionamos la carpeta de ManagementPacks del CD de Scom 2012, ya que ahora mismo estan mas actualizados los managementspack de RedHat en el CD que online, no coments xD

Tenemos que escoger los siguientes ManagementsPacks:
  • Red Hat Operating System Libary
  • Red Hat Enterprise Linux Server 5 Operating System
  • Red Hat Enterprise Linux Server 6 Operating System


Ahora le damos a "install" y ya tendremos el primer paso.

Una vez los tenemos instalados pasaremos a la fase 2, tenemos que exportar los MP a XML para poder modificarlos, aqui es donde viene el cambio desde el 2007 R2 (o al menos no sabia que se pudiera hacer antes asi)
Primero que nada creamos una carpeta en c: llamada MP o como vosotros querais, luego para exportar los MP tenemos que ejecutar el siguiente comando en PowerShell del SCOM:

get-SCOMManagementPack -Name Microsoft.Linux.RedHat.Library | Export-SCOMManagementPack -Path c:\mp

Una vez hecho esto, veremos en nuestro directorio el fichero del MP ya en XML, repetimos esto con cada uno de los otros MP y nos quedara el directorio con todos los XML dentro.


Ahora renombramos los ficheros y donde pone RedHat y RHEL lo sustituimos por centos.
Tenemos que modificar los siguientes textos en el archivo de Libreria y en los archivos del MP especifico de Centos 5 y Centos 6:


Texto Original
Text Reemplazado
Library XML file
CentOS.5 XML file
RHELCentOSX
x86i386X
x64x86_64X
RedHatCentOSXX
Red HatCentOSXX
Enterprise Linux ServerLinuxXX


Una vez realizados estos cambios "genericos" vamos ya a los cambios especificos que tendremos que realizar en cada fichero.
En Microsoft.Linux.centos.Library.xml tenemos que buscar "Monitoring --> Discoveries --> Discovery con el ID “Microsoft.Linux.CentOS.Computer.Discovery”. y cambiamos los parametros de FilterProperty y FilterValue por estos:

<FilterProperty> //*[local-name()="Caption"] FilterProperty>
<FilterValue> CentOS FilterValue>

Luego en el mismo fichero tenemos que modificar la siguiente cadena,
Texto Original:

<DataSource ID="DS" TypeID="Unix!Microsoft.Unix.WSMan.TimedEnumerate.Filtered.Equal.DiscoveryData">

Texto Modificado:

<DataSource ID="DS" TypeID="Unix!Microsoft.Unix.WSMan.TimedEnumerate.Filtered.ContainSubstring.DiscoveryData">

Como podeis observer unicamente cambiamos "Equal" por "ContainSubstring" para evitar que busque la cadena exacta y asi nos coja todas las CentOS.

Ahora vamos al fichero Microsoft.Linux.centos.6.xml y buscamos la siguientes cadenas:

/DataItem/WsManData/*[local-name(.)='SCX_OperatingSystem']/*[local-name(.)='Caption']
CentOS Linux release 6

y la sustituimos por esta:

//*[local-name()="Caption"]
CentOS release 6

En el fichero Microsoft.Linux.centos.5.xml tenemos que hacer exactamente lo mismo solo que en vez de release 6 sera release 5.

Una vez tenemos todo esto procederemos al "sellado" del MP, para ello tenemos que generar una "key file" con el comando sn.exe que lo podeis encontrar en el .Net Framework 2.0 SDK.
Una vez lo tenemos ejecutamos sn.exe -k key.snk y nos generara el fichero con la Key para poder sellar el MP.



Ahora vamos a sellar el MP con esta Key que hemos generado, para ello necesitamos la herramienta "mpseal.exe" que esta en el directorio "SUPPORTTOOLS\AMD64" del DVD de instalacion, la copiamos a nuestra carpeta c:\mp y desde ahi "operamos", tenemos que ejecutar el siguiente comando, la unidad D: es el DVD de instalacion del SCOM 2012

mpseal Microsoft.Linux.centos.Library.xml /i D:\MANAGEMENTPACKS /Keyfile key.snk /Company "Microsoft"


Ahora ya tenemos generado el fichero "Microsoft.Linux.CentOS.Library.mp", solo nos falta sacar de este fichero el public key token para sustituirlo en los MP particulares que hacen referencia a esta libreria.
Para esto utilizaremos otra vez el comand sn.exe:


 Ahora con el Public key token editamos el Microsoft.Linux.centos.6.xml y buscamos la siguiente cadena:

        Microsoft.Linux.CentOS.Library
        7.3.2026.0
        31bf3856ad364e35

Sustituimos el PublickeyToken que vemos ahi por el que nos ha devuelto el comando sn.exe

Con esto ya tenemos el MP de la Libreria y los XML de Centos 5 y 6.

Ahora solo tenemos que importarlas desde la consola del SCOM:


Ya tenemos los MP importados en nuestro SCOM 2012, ahora nos falta "crear" el agente para Centos, para ello vamos a la carpeta donde estan todos los agentes de Linux (C:\Program Files\System Center 2012\Operations Manager\Server\AgentManagement\UnixAgents) y copiamos el de redhat "scx-1.3.0-206.rhel.6.x64.rpm" y lo llamamos "scx-1.3.0-206.centos.6.x86_64.rpm" esto para 64 bits, para 32 copiamos el "scx-1.3.0-206.rhel.6.x86.rpm" y lo llamamos "scx-1.3.0-206.centos.6.i386.rpm"
Para que nos coja los cambios rapidamente reiniciamos los servicios "System Center Management" y "System Center Management Configuration"

Con esto ya estamos preparados para empezar a agregar nuestras Centos Favoritas!

Primero que nada en la Centos tenemos que instalar el paquete redhat-lsb que es una dependencia del agente del SCOM 2012, una vez con esto instalado nos vamos a la consola de administracion, Discovery Rules boton derecho "Discovery Wizard" y seleccionamos "Linux Computers"


En la siguiente ventana que nos aparece le damos a "add" y ahi tenemos que poner todos los datos del servidor, IP o DNS y un usuario que tenga permisos por SSH.
MUCHO OJO CON LAS CONTRASEÑAS, DURANTE LA ELABORACION DE ESTE TUTORIAL DETECTE UN BUG, SI TIENES ALGUNO DE ESTOS CARACTERES $%& EN LA CONTRASEÑA TE DA UN ERROR DESCONOCIDO Y TE PUEDES VOLVER LOCO, ME COSTO BASTANTE DARME CUENTA DE QUE ERA LA CONTRASEÑA...


Ahora le damos a save y en la siguiente pantalla que nos aparece seleccionamos "All management servers resource pool" en "select target resource pool" y le damos a "Discover"



Si no pasa nada "raro", como fallo con la resolucion DNS o cualquier otra cosa parecida nos deberia salir que ha descubierto el equipo y que lo seleccionemos para instalar el agente y "manejarlo"



Si nos da algun problema con la firma del certificado, podemos consultar aqui para solucionarlo:
Una vez acabe el proceso nos dira "success" y ya lo tenemos listo, la primera fase....



Ahora nos vamos a "unix/linux" computers y ahi nos aparecera nuestro linux, no os asusteis si todavia no pone "Centos" es normal, lleva su tiempo y aun tenemos que hacer unas "cosillas" xD



Ahora tenemos que desplegar las RunAs accounts, esto se podria haber hecho antes pero bueno...
Empezamos creando un nuevo "Resource Pool" y le vamos a llamar "Linux Monitoring Pool"


Ahora vamos a "Administration" y en la pestaña de "unix/linux Computers" con el boton derecho seleccionamos "Change Resource Pool" y elegimos el nuevo que hemos creado.



Ahora nos vamos a "Unix/linux Account" dentro de "Run as configuration" y creamos una "Monitoring account", ponemos la descripcion y luego le decimos el usuario root y que no utilize elevacion de privilegios.


Vale ya tenemos la cuenta creada, ahora hay que asociarla a los perfiles, seleccionamos la opcion de "profiles" que esta justo encima y en el campo de buscar ponemos "Linux" los 3 que aparecen hay que pinchar doble click sobre ellos y asociarle la run as account que hemos creado antes al equipo linux que corresponda.


una vez hecho esto, solo hay que esperar un rato y nos aparecera nuestra queria Centos en el panel "Administration" en la pestaña de "unix/linux Computeres" donde antes nos aparecia "Unknown"
Con esto y un bizcocho ya teneis vuestra Centos Monitorizada con SCOM 2012.

He colgado en CodePlex el Management Pack de Centos 5 y 6 que me cree, ya que no encontre ninguno por ahi https://scxmpcentos56.codeplex.com/

UPDATE: Al final tuve que crear un MP para la CentOS 6.0 ya que el "caption" es diferente a la 6.X y no lo detectaba el discovery, tambien esta subido en codeplex.

Gracias a Omar Lopez esto ha sido posible ya que el ha sido mi guia espiritual de SCOM 2012 xD

Os dejo algunos links que me han sido muy utiles:


Espero que os sea de utilidad!!!!

Un saludo



lunes, 20 de febrero de 2012

VPN de TMG 2010 a Cisco ios

Forefront TMG 2010 soporta multiples protocolos para establecer VPNs SITE-TO-SITE incluidos PPTP, L2TP, e IPSEC.
Para establecer una VPN con Cisco IOS, ASA o PIX el unico soportado es IPSEC.
Aqui vamos a ver como realizar una conexion SITE-TO-SITE entre un Firewall TMG 2010 y un Router Cisco. 

El escenario seria el siguiente:

Configurando el TMG 2010 Firewall

Abrimos la consola de administracion de TMG 2010 y seleccionamos "Directiva de acceso Remoto VPN", una vez ahi seleccionamos la pestaña de "Sitios Remotos" y en el panel de tareas seleccionamos "Crear conexion VPN de sitio a sitio"


Nos aparecera un Wizzard donde nos pide una serie de datos para configurar la VPN, primero que nada le tenemos que poner una descripcion.



En el siguiente paso seleccionamos "Modo de tunel del protocolo de seguridad IP (IPSEC)"


En el siguiente paso nos pide la direccion ip publica del ASA remoto y la ip publica del TMG local.


Para VPN punto a punto la mejor solucion es utilizar certificados pero dado que es mucho mas complejo muchos administradores optan por una clave compartida (pre-shared keys), elegir una clave que sea lo suficientemente segura, que contenta numeros y letras, podeis recurrir a algun generador de contraseñas.


Hay que añadir el rango de direcciones del sitio remoto, en nuestro caso 192.168.2.0


Hay que crear una regla de enrutamiento para la redes internas que queremos que vean desde el sitio remoto. El wizard por defecto te crea esta regla automaticamente.


Ahora necesitamos una regla del firewall para permitir la comunicacion entre ambas sedes.
Si es un sitio de confianza seleccionaremos todo el trafico saliente, si no es de confianza podemos selecionar que puertos queremos abrir.


Revisar la configuracion y darle a finalizar



No apliqueis la configuracion todavia. La configuracion por defecto de encriptacion seleccionados por TMG son incompatibles con Cisco IOS/ASA/PIX
Para cambiarlos, tenemos que darle a boton derecho en el nuevo sitio que nos ha creado y darle a propiedades, seleccionamos la pestaña "Conexion" y luego en "Configuracion de IPsec"


Para la Fase I hay que cambiar el Algoritmo de cifrado a "3DES", el algoritmo de integridad a "SHA1" y Autenticar y generar una clave nueva cada "86400" segundos.


Para la Fase II hay que cambiar el Algoritmo de cifrado a "3DES", el Algoritmo de integridad a "SHA1" y en configuracion de claves de sesion, generar nueva clave cada "4608000 KB" o 228800 segundos.



Una vez completado esto le damos a aceptar y aplicamos los cambios en la consola del TMG 2010.

Configurando Cisco IOS 12.4.X

Nos conectamos al Router como adminitrador y entramos en el modo de configuracion.
Para configurar los parametros de la Fase I, establecer una politica de ISAKMP y fijar los parametros para usar una pre-shared key, usaremos 3des/sha para la integridad de la encriptacion, especificaremos el uso de Diffie-Hellman Group 2 (1024-bit). Por defecto ya tiene Autenticar y generar una nueva clave cada 86400 segundos, en caso de que pongamos el comando "lifetime 86400" cuando hagamos un "sh run" no nos aparecera reflejado en la configuracion.

----------------------------------------------------------------------------------
crypto isakmp policy 11
 encr 3des
 authentication pre-share
 group 2
----------------------------------------------------------------------------------

Ahora configuramos la pre-shared key y el destino del tunel

----------------------------------------------------------------------------------
crypto isakmp key A3das34rfnporfmefmun!$ address 90.202.51.100
----------------------------------------------------------------------------------

Ahora configuramos el "transform" del Ipsec que sera combinado posteriormente con el resto de la politica de Ipsec con el comando crypto-map. En este caso "TMG2010" es simplemente un nombre que luego nos servira para asociarlo a un crypto-map.

----------------------------------------------------------------------------------
crypto ipsec transform-set TMG2010 esp-3des esp-sha-hmac
----------------------------------------------------------------------------------

Ahora crearemos el crypto-map, donde lo relacionaremos con el Transoform-set, el destino del tunerl y le pondremos el nombre "CENTRAL" que utilizaremos luego para activarlo en la interfaz Wan del router.

----------------------------------------------------------------------------------
crypto map CENTRAL 11 ipsec-isakmp
 set peer 90.161.68.12
 set transform-set TMG2010
 set pfs group2
 match address 120
----------------------------------------------------------------------------------

Ahora creamos la access-list 120 que es la que pusimos en el crypto-map y nos indica que todo el trafico desde la red 192.168.2.0/24 y con destino a la red 192.168.0.0/24 lo enviara a traves del tunel.

----------------------------------------------------------------------------------
access-list 120 permit ip 192.168.2.0 0.0.0.255 192.168.0.0 0.0.0.255
----------------------------------------------------------------------------------
En nuestro caso tenemos la salida a internet con NAT, asi que crearemos un route-map para evitar que nos intente natear lo que va hacia la VPN de la siguiente manera:

----------------------------------------------------------------------------------
route-map nonat permit 10
 match ip address 100
----------------------------------------------------------------------------------

Ahora creamos la access-list 100 en la cual denegamos el trafico que va hacia la red 192.168.0.0/24 que es el otro extremo de la VPN y el resto lo permitimos

----------------------------------------------------------------------------------
access-list 100 deny   ip 192.168.2.0 0.0.0.255 192.168.0.0 0.0.0.255
access-list 100 permit ip 192.168.2.0 0.0.0.255 any
----------------------------------------------------------------------------------

Una vez realizado esto, lo aplicamos sobre nuestra interfaz WAN

----------------------------------------------------------------------------------
ip nat inside source route-map nonat interface FastEthernet0/0 overload
----------------------------------------------------------------------------------

Ahora ya podemos aplicar el crypto-map a la interfaz wan

----------------------------------------------------------------------------------
interface FastEthernet0/0
 ip address dhcp
 ip nat outside
 ip virtual-reassembly
 duplex auto
 speed auto
 crypto map CENTRAL
----------------------------------------------------------------------------------

Ahora con un simple ping a una ip del otro extremo de la VPN deberia levantarnos el tunel sin problemas, podeis ver si el tunel se ha levantado o no con el comando "sh crypto isakmp sa"

Si ocurriese algun problema en la negociacion del tunel, podeis debugearlo con el comando "debug crypto isakmp"

Espero que os haya servido de ayuda!