VPN Split Tunneling con CMAK

Esta semana me gustaría hablaros sobre cómo crear nuestro cliente vpn para Windows haciendo split tunneling . Pero antes de nada vamos a ver en qué consiste esto del split tunneling.

SPLIT TUNNELING, ¿QUÉ ES?

Cuando establecemos un túnel VPN todo el tráfico es enrutado a través del mismo sin diferenciar el destino. Así por ejemplo, para alcanzar una página web cualquiera ubicada en Internet, esa conexión se enrutaría a la red de la oficina y desde allí iría a Internet. Esto puede ocasionar que el tiempo de latencia sea alto, ya que esa página web o servicio ha tardado más de lo necesario.  Si tratamos con aplicaciones de videoconferencia, que tienen una mayor carga de tráfico la situación se agrava. Aparte del consumo de ancho de banda que supondrá a la red corporativa que se verá sobrecargada a su vez.image

Es por ello, que a veces nos interesa optimizar este resultado. Esto lo podemos lograr por medio del split tunneling. Se trata de una técnica que permite dividir (“split”) el tráfico por medio de unas tablas de enrutamiento que establecemos en el cliente. De esta forma, se discrimina el tráfico, y sólo aquel que va destinado a la red corporativa es dirigido a través del túnel vpn, el resto íría por nuestra conexión normal a Internet.  image

Ventajas

Con este tipo de técnicas conseguimos lo siguiente:

  • Red más eficiente y rápida: sólo redirige el tráfico necesario, reduciendo el número de saltos para alcanzar el destino.
  • Privacidad: debido a que no todo el tráfico es redirigido a nuestra oficina, éste no deja rastro en los dispositivos que pudiera atravesar en la red corporativa.
  • Mayor ancho de banda: la red corporativa no se ve tan sobre cargada debido a que no todas las conexiones no son redirigidas hacia su infraestructura

Inconvenientes

Pero claro, este método puede no sernos útil en todos los casos. Hay ocasiones en las cuales tenemos que seguir empleando nuestra vpn de la forma habitual, ya que tiene sus desventajas:

  • Si la red de origen tiene el mismo direccionamiento no podremos emplearlo, a menos que lo cambiemos, debido a que sería incapaz de enrutarlo correctamente.
  • Aplicaciones vinculadas a ip’s o geolocalizadas: en otras situaciones simplemente es necesario que nuestro tráfico de Internet tenga que salir forzosamente por la red de la oficina.
  • Pérdida de seguridad: debido a que las conexiones que no van por el túnel vpn no está monitorizadas (al no se redirigidas a la propia infraestructura) se pierde control sobre ellas.

INSTALACIÓN DE CMAK Y CREACIÓN DE EJECUTABLE

Connection Manager Administration Kit (CMAK)

Se trata de una herramienta que se emplea para la personalización de conexiones de red remotas, permitiendo crear perfiles personalizados mediante un asistente.

Esta herramienta viene embebida dentro de las características de Windows, pero para poder usarla antes debemos habilitarla. Para ello vamos a “Programas y características”, y seleccionamos el tick de la característica.

Creación de perfiles de conexión

Una vez agregada la característica, podremos empezar a crear perfiles personalizados de conexión.  Ejecutamos la aplicación, que mostrará un asistente que guiará la creación del perfil. Hacemos clic en siguiente, y seleccionamos el sistema operativo en el que se va a instalar.image

Con CMAK también podemos modificar perfiles ya creados con anterioridad, pero para este ejemplo vamos a crear un nuevo, indicando el nombre que queremos que aparezca en las conexiones de red, así como el nombre que tendrá el ejecutable e introducimos el servidor vpn al que nos vamos a conectar.

image

Podemos modificar múltiples parámetros de la conexión como pueden ser los servidores DNS, los sufijos de conexión , así como la estrategia VPN, y la autenticación. image

A continuación y uno de los pasos más importantes (sino el que más) es agregar tablas de enrutamiento, agregándolas mediante un fichero de texto que importamos desde nuestro equipo. Los datos a añadir en nuestro fichero de texto serían los siguientes: primero eliminar la puerta de enlace predeterminada y a continuación añadir cada una de las rutas de nuestra red privada virtual.

REMOVE_GATEWAY
ADD ruta MASK mascara puerta_enlace METRIC default IF default

image

Según sigamos el asistente nos va a permitir realizar gran número de personalizaciones como  agregar la configuración proxy de Internet ,scripts, acciones personalizadas, imágenes, icono de programa, etc.

image

Por último pulsamos finalizar y nos generará un exe con todas las configuraciones que hemos establecido.

image

El ejecutable se encontrará en una subcarpeta con el nombre que le hayamos dado al perfil . Este ejecutable  lo vamos a poder distribuir  masivamente por medio de GPO’s, System Center, etc.

Como comentario final me gustaría indicar que CMAK es una herramienta muy útil para la creación de clientes vpn ya que nos permite crear un ejecutable bastante personalizable y profesional, con la opción, entre otras, de realizar split tunneling.  ¡¡¡Hasta la próxima!!!

Configurar Thunderbird para una cuenta de correo de Office 365

En varias ocasiones, no siempre podremos o querremos  contar con las características del  cliente de correo Microsoft Outlook para gestionar mails de nuestra cuenta de Exchange Online cómodamente. Esto puede pasarnos si trabajamos desde Linux por ejemplo, donde el cliente de correo de Microsoft no está soportado. Como alternativa siempre podemos contar con Outlook Web App, pero  ¿qué pasa si queremos manejar múltiples cuentas en un único lugar? ¿o queremos tener acceso offline?

En ese caso deberemos de contar con otras soluciones alternativas. De entre todos ellos, en mi opinión, la opción más estable y liviana es Thunderbird, un cliente de correo desarrollado por Mozilla. Sin embargo, para que podamos contar con todas las ventajas y particularidades que Exchange Online nos ofrece, deberemos de configurar la aplicación correctamente.

 

Pero, ¿qué necesitamos para lograrlo?

  1. Mozilla Thunderbird
  2. Lightning. Un complemento que ayuda a manejar calendarios en Thunderbird.
  3. EWS provider. Un add-on  desarrollado por Ericsson. Esta extensión de Lightning nos  permitirá comunicarnos con Exchange (Server 2010, Server 2013 y Online), permitiéndonos acceder a cualquier calendario, tarea o carpetas de contactos del servicio web de Exchange (EWS) de forma fácil y cómoda.

[Actualización 11-6-2015 : Tal y como Mozilla ha indicado  en las notas de lanzamiento de Thunderbird ,  Lightning será incluido a partir de la versión 38 de dicho cliente, con lo que ya no será necesario descargar e instalar este add-on]

Nota : Pese a que la configuración la realizaremos en Windows 8.1, huelga decir que  todos los componentes con compatibles con con Windows, Mac y Linux.

Descargado e instalado Thunderbird, lo primero que tendremos que hacer es descargar  e instalar los complementos anteriormente mencionados. Para instalarlos en el cliente de correo basta con acceder al menú de complementos.

image

En dicho menú, en su correspondiente sección de configuración, podremos instalarlos desde la ruta donde los hayamos descargado.

image

Tras agregar los add-on, procederemos a agregar y configurar nuestra cuenta de correo. Si iniciamos por primera vez  Thunderbird, aparecerá el asistente de configuración de correo directamente. En otros casos , basta con ir desde el menú de herramientas, seleccionar la opción de Configuración de cuenta y  y agregar una nueva cuenta de correo.

image

Iniciado el asistente , tendremos que introducir nuestro nombre, la dirección de correo y su correspondiente contraseña, Thunderbird intentará encontrar los valores necesarios de configuración de la cuenta.

image

¡Pero alto! Debido a que Thunderbird tiene problemas para acceder a la información una cuenta proveniente de Exchange (incluyendo las cuentas de Office 365), aplica valores de configuración erróneos que provienen de las bases de datos de Mozilla siendo imposible continuar con el proceso. Para proseguir, deberemos optar por añadir la información manualmente haciendo click en el botón Config. Manual, donde deberemos indicar los valores de configuración de entrada y salida.

De acuerdo con Microsoft, para la configuración de entrada, dependiendo del protocolo que elijamos (IMAP  o POP3) deberemos introducir  los siguientes valores:

 

Servidor Puerto SSL Identificación
IMAP outlook.office365.com 993 SSL/TSL Autodetectar
POP3 outlook.office365.com 995 SSL/TSL Autodetectar

Para la configuración de salida, rellenaremos el formulario con  los valores que vienen a continuación :

Servidor Puerto SSL Identificación
SMTP smtp.office365.com 587 STARTTLS Contraseña Normal
Para los Nombres de Usuario, basta con indicar nuestro identificador de login de Office 365.

 

image

 

Finalizado  el proceso, tendremos la cuenta ya agregada y  únicamente nos quedaría añadir  el calendario. Para tal objetivo, nos dirigiremos a la pestaña del calendario y haciendo click derecho la sección Calendario ubicado en la parte inferior izquierda del cliente, tendremos la opción de iniciar el asistente de creación de calendarios.

 

image

 

Siguiendo los pasos del asistente, deberemos indicar que el calendario ha de guardarse en la red, pues este es un calendario al que accedemos de forma remota.

image

Por supuesto, el acceso calendario deberá tener formato de Microsoft Exchange.

image

Por último, deberemos rellenar la información de nuestro calendario con los siguientes datos para que Lightning pueda acceder al calendario remoto y obtener toda la información a mostrar en Thunderbird :

image

Verificados el servidor y el buzón de correo (click en Check server and Mailbox) y finalizando el asistente , tendremos listo el calendario asociado a nuestra cuenta de Office 365.

image

Como veis, no es igual de intuitivo que configurar nuestra cuenta en Outlook pero mediante estos sencillos pasos lograremos  que con Thunderbird podamos leer  y enviar correo de nuestro buzón de Office 365.

¡Gracias por leernos!

¡Abrimos dos posiciones en nuestro equipo!

El título ya es muy descriptivo, abrimos dos posiciones en el departamento de Enterprise IT en Plain Concepts. ¿Te gusta lo que hacemos? ¿Quieres unirte a un equipo joven, dinámico y altamente cualificado para llevar a cabo proyectos en importantes empresas de los verticales con los que trabajamos? ¡No lo dudes y haznos llegar tu CV!

Las posiciones abiertas son:

  • Enterprise IT Engineer Senior Consultant – MADRID
  • Enterprise IT Intern – MADRID

Si estás interesado en aplicar pásate por nuestra página de ¡Trabaja con Nosotros! y haznos llegar tu CV.

Alta disponibilidad en VDI de Windows Server

Cada vez es más común utilizar infraestructuras de escritorios remotos para utilizar como ordenadores principales. Este puede ser el caso de una organización que en vez de comprar un número elevado de equipos, compran unos servidores que ofrezcan este servicio y unos clientes para acceder a este. En este artículo vamos a mostrar cómo establecer alta disponibilidad en los hosts que ofrecen las máquinas virtuales, que son el principal punto de fallo.

Infraestructura

Lo primero que vamos a hacer es definir la infraestructura. Para ello necesitaremos 4 máquinas (mínimo), todas ellas con Windows Server. Dos de ellas serán servidores “simples”, que harán los roles de RD Licensing, RD Connection Broker y RD Web Access. Los otros dos servidores serán más potentes, y albergarán las máquinas virtuales mediante el rol de RD Virtual Host. A parte, necesitaremos un espacio de almacenamiento compartido por estos últimos servidores.

La alta disponibilidad de los Virtual Host la ofreceremos gracias a la posibilidad de crear en Windows Server un Failover Cluster. A este Cluster le añadiremos el espacio de almacenamiento compartido como Cluster Shared Volume (CSV). Las interfaces de red recomendadas en estos servidores son cuatro: una para los clientes, una para las migraciones en caso de fallo, una para el heartbeat (comprobará si los servidores están caídos) y otra para el CSV.

El mapa de red será el siguiente:

clip_image001

Remote Desktop Services

Se va a hacer una instalación estándar de los roles de Remote Desktop Services. Podéis seguir esta guía. Las opciones a elegir en el asistente son:

  • Instalación de Remote Desktop Services.
  • Standard deployment.
  • Virtual machine-based deployment.
  • Elegir RD Connection Broker.
  • Elegir RD Web Access (puede ser el mismo que RD Connection Broker).
  • Elegir RD Virtualization Host (seleccionamos los dos).
  • Instalar.

El asistente se encargará de instalar los roles y herramientas necesarias en cada máquina.

Failover Cluster

Lo siguiente es configurar el Cluster. Para ello, desde el asistente de instalación de roles y características de Windows Server, seleccionamos Failover Clustering en características.

clip_image002

Esta característica hay que instalarla en todas las máquinas que harán de RD Virtual Host. Podéis seguir esta guía para configurarlo. Una vez acabado, deberéis agregar el disco compartido al Cluster como Cluster Shared Volume, que previamente deberéis haber añadido a cada servidor.

clip_image003

Una vez completado esto, y configurado las redes, tanto en el Cluster para el cliente, heartbeat y CSV, en Hyper-V para la migración, y un switch virtual para las máquinas de Hyper-V, ya podemos crear la colección de escritorios virtuales.

Virtual Desktop Infraestructure

La creación de escritorios virtuales la podemos hacer con los parámetros que necesitemos. En el momento de elegir el almacenamiento, debemos elegir la opción de Cluster Shared Volume, que será una carpeta montada dentro del disco duro de cada nodo del cluster.

clip_image004

Tras esto, podemos finalizar el asistente y crear las máquinas. Estas se unirán automáticamente al Failover Cluster, por lo que a partir de ese momento ya nos beneficiaremos de todas las ventajas: tendremos las opciones de un Cluster, como la migración y alta disponibilidad, y el acceso mediante escritorio remoto.

clip_image005

Si, además, queremos que por defecto las máquinas virtuales pertenezcan a un nodo (si este está operativo) deberemos marcarlo en el clúster, junto con el rollback. Además, podremos desplegar las actualizaciones en los virtual host con la ayuda del clúster para asegurarnos de que los usuarios no se vean afectados.

Como veis, gracias a las opciones de VDI y Failover Cluster de Windows Server, conseguiremos desplegar un servicio de escritorio remoto en alta disponibilidad ante fallos.

PowerShell Basics: Módulos

¡Hola a todos! Hoy se publica una nueva entrega de la saga PowerShell Basics, en la que se habla (o escribe) de una de las formas más comúnmente utilizadas para extender la funcionalidad de la Shell: Los Módulos. Como los demás artículos de esta serie, el objetivo principal es acercar esta herramienta, e intentar facilitar su incorporación al scripting diario de aquellos que aún no la conozcan. Sin más dilación, toca empezar con la teoría:

¿Qué es un módulo?

Es una agrupación de funcionalidades interrelacionadas de PowerShell, que son susceptibles de ser referenciadas o cargadas dinámicamente. Entre las utilidades que proporcionan se pueden encontrar cmdlets, proveedores, funciones, alias, etc. Esto permite ampliar la funcionalidad de PowerShell, ya sea agregando un proveedor al que antes no se tenía acceso, o proporcionando cmdlets necesarios para realizar tareas específicas.

Tipos de módulos

Los módulos más habituales son de los tipos binario, script y manifiestos de módulos.

Módulos Binarios

Son ensamblados .NET (.dll) que contienen código compilado. Los desarrolladores pueden usar los lenguajes presentes en la plataforma .NET, como por ejemplo C#, para crear cmdlets, proveedores… prácticamente cualquier funcionalidad de PowerShell.

Módulos Script

Son archivos de texto con una extensión particular (.psm1) cuyo contenido es cualquier tipo de código PowerShell válido. Los administradores de sistemas y desarrolladores de scripts pueden usar este modelo para crear módulos cuya funcionalidad incluya funciones, variables, alias…

Manifiestos de módulos

Un manifiesto de módulo describe los contenidos del módulo y determina cómo procesarlo. Es un archivo de texto, y se usa tan fácilmente como copiándolo en la raíz de la carpeta del módulo. Información como el autor, versión, etc. quedan visibles de este modo para PowerShell.

Más adelante se detalla con un ejemplo cómo crear tanto un módulo de script como su manifiesto.

Cómo trabajar con Módulos

Carga/Descarga

Desde la versión 3.0, PowerShell es capaz de descubrir los CmdLets/Funciones disponibles en todos los módulos disponibles, para proceder a cargar el módulo adecuado cuando se invoque una función perteneciente al mismo por primera vez. En versiones anteriores, por contra, era necesario cargar explícitamente el módulo en cuestión antes de que toda o parte de su funcionalidad estuviese expuesta, para lo que se utilizaba el cmdlet Import-Module <nombremodulo>.

Para ilustrar la carga dinámica de módulos, nada mejor que acudir a la siguiente captura de pantalla. En ella se muestra cómo se pueden descargar todos los módulos de memoria, y cómo al invocar un cmdlet  (New-RandomPassword, una función incluída en un módulo de Script) se carga el módulo correspondiente, así como los módulos que éste invoca.

image

Además, para aquellos que se sientan curiosos, siempre es posible escribir Get-Module –ListAvailable , que les va a dar una lista completa con todos los módulos instalados y disponibles en el sistema.

image

Por supuesto, si se hace un get-module –name <mod> | fl de un módulo determinado, se va a obtener información adicional con respecto al módulo en cuestión.

Creación de un Módulo del tipo Script

Los módulos más fáciles de crear para un administrador de sistemas suelen ser los del tipo script, ya que no se diferencian demasiado de un script que esté bien organizado. En primer lugar, lo más importante a la hora de crear un módulo es saber dónde guardarlo para poder usarlo a posteriori. Esto lo podemos descubrir en cualquier momento gracias a la variable $env:psmodulepath, que nos dice en qué carpetas PowerShell va a acudir a buscar módulos para cargar.

image

Una vez se sabe dónde es posible guardar módulos, ya sólo falta escribirlo. La creación de un módulo de script difiere con respecto a éstos en que nunca se va a utilizar de forma interactiva. Mientras un script se va ejecutando, es posible programar interacciones con el usuario, de forma que el script actúa como un único programa. Por contra, en los módulos, lo que sucede es que las funciones escritas en el módulo pasan a estar integradas en la Shell, de forma que  pasan a ser bloques únicos e independientes.

Por ejemplo, el módulo PlainIT, tiene una variable $variable, tres funciones Set-Title, Get-WinVersion y ab (cuyo único motivo de existencia es este artículo). Las funciones se definen como unidades independientes, o bien pueden hacer llamadas a otras, sean parte de éste u otro módulo. En todo caso, el código ejecutable debe quedar siempre encapsulado dentro de una, y nunca quedar “suelto”. En un script normal, este “código suelto” es necesario para el funcionamiento del mismo, pero en un módulo, lo que se expone son las partes del script, para poder trabajar de una forma más flexible.

image

Aunque no son obligatorios, incluir un manifiesto en el módulo suele ser una buena idea. Especialmente si se va a distribuir el módulo, o se quiere llevar un control más preciso de la versión de cada uno de ellos. Como vimos en el Get-Module –ListAvailable, el número de versión que se haya definido en el manifiesto se publica junto a la definición del módulo. Esto ayuda a identificar qué versión de un módulo cargar, siempre que varias versiones del mismo estén coexistiendo en el sistema, sea por el motivo que sea (por ejemplo, que haya cambios mayores en la versión más reciente, y la anterior sea necesaria por motivos de retrocompatibilidad)

image

Como ya vimos, se había definido una función llamada ab, y su motivo de existencia era este artículo. Su misión: Ayudar a comprender el alcance de las variables del módulo. Se puede observar en la captura de pantalla con el código del módulo que hay una variable fuera de una función, llamada (de forma harto ingeniosa) $variable. Un lector avispado puede pensar que eso es una forma ideal de tener constantes definidas para la shell. A fin de cuentas, se definen las variables en un módulo, se carga el módulo et voilà… Pues no. Las variables definidas fuera de una función se quedan definidas dentro del ámbito del módulo. Esto viene a ser que, desde la Shell, no se pueden acceder “directamente”, pero sí que están disponibles para todas las funciones del módulo. En resumen: Se convierten en valores globales accesibles por todas las funciones/cmdlets del módulo.

image

Conclusión

Y con esto, se ha tratado en grandes rasgos qué son los módulos, sus tipos. dónde encontrarlos, la forma de descubrirlos, cómo crearlos… Y en definitiva, todo lo necesario para incorporarlos al conjunto de herramientas que todo Scripter de PowerShell necesita saber.

En definitiva, se puede vivir sin crear módulos personalizados, pero usarlos hace que la vida sea más fácil.

Configurando Wifi para invitados con DD-WRT

Esta semana me gustaría hablar de cómo configurar un punto wifi para invitados en nuestro router inalámbrico, de tal manera que podamos compartir nuestro acceso a Internet  sin comprometer la seguridad de nuestra red interna.

La infraestructura  de este ejemplo es una red privada con un direccionamiento 192.168.1.0/24 que está conectada a Internet por medio de un router wireless. Se quiere crear un punto de acceso de invitados (al que asignaremos otras ip’s privadas de tipo 172.16.1.0/24) , de tal forma que conecte a Internet por el mismo router pero sin acceder a la red 192.168.1.0/24.

Para realizar esta tarea vamos a emplear un router al cual le hemos instalado un firmware DD-WRT  (compilación king-kong) , debido a que éste tiene opciones más avanzadas, que nos van a permitir realizar esta y otras tareas.  También podríamos haber empleado cualquier otro dispositivo o firmware, pero éste es bastante amigable .  Antes de nada, comprobamos  (para implementar el firmware dd-wrt) si nuestro router es compatible , y si es así, descargamos una compilación que sea estable. Yo he elegido la King-Kong, aunque podemos elegir cualquier otra.  La tarea de instalar el firmware variará dependiente del modelo del dispositivo, y del firmware del que partamos, con lo cual no voy a entrar en detalles en este apartado. Una vez volcada la imagen, entramos via web a la ip de nuestro aparato, en este caso 192.168.1.1 y establecemos tanto el usuario como la contraseña de acceso.

image

A continuación  accedemos a la configuración Wireless (Setup—> Wireless—> Basic Settings). En esta pestaña vemos las interfaces físicas disponibles.  La interfaz wifi física va a establecerse como punto de acceso.

002

Asociado a nuestro adaptador físico (wl0), vamos a añadir uno virtual (wl0.1). Este último va a ser el que nos proporcione el acceso para invitados. Para añadirlo, simplemente pulsamos el botón “Add”. Aprovecharemos para cambiar el nombre de nuestras redes, al físico (wl0) lo asignaremos a la red interna que denominaremos “Internal” y al virtual (wl0.1 ) lo vamos nombrar como “Guest”. 

Lo siguiente va a ser introducir una clave para cada una de las redes indicadas. Es recomendable que la de invitados tenga también una contraseña.

004

Posteriormente creamos un bridge al cual vinculamos wl0.1, para realizar una separación. Hasta el momento, solamente hay un bridge (br0) que abarca todas las interfaces disponibles. Para crearlo en Setup -> Networking en la parte de Bridging , pulsamos el botón Add.

imageAsí, agregamos un bridge al que vamos a llamar br1. Es importante que cada vez que cambiemos algo, apliquemos la configuración y la guardemos, porque sino es muy posible que no reconozca los cambios que  hacemos.

image

A br1 le adjudicamos la interfaz virtual wl0.1. Así, en la parte “Assign to Bridge” asignamos br1 a wl0.1 y le establecemos la dirección 172.16.1.1 con máscara 255.255.255.0

Incorporamos un dhcp para el bridge br1 pulsado el botón Add y seleccionamos el bridge br1

image

Una vez añadido el DHCP y asignado a nuestro bridge br1 podemos ver que ha establecido un rango de asignación de direcciones ip estableciendo como base la ip del bridge.

Por último, lo que tendremos que hacer es incorporar una serie de reglas en nuestro firewall, de tal manera que todo el tráfico que vaya a nuestra red local (192.168.1.0/24) sea  denegado y no se permita ningún tipo de acceso a nuestro router por telnet, ssh y web.

iptables -I FORWARD -i br1 -d 192.168.1.0/24 -j DROP
iptables -I INPUT -i br1 -p tcp –dport telnet -j REJECT –reject-with tcp-reset
iptables -I INPUT -i br1 -p tcp –dport ssh -j REJECT –reject-with tcp-reset
iptables -I INPUT -i br1 -p tcp –dport www -j REJECT –reject-with tcp-reset
iptables -I INPUT -i br1 -p tcp –dport https -j REJECT –reject-with tcp-reset

NOTA Update: Estas políticas que he aplicado en principio permiten todo por defecto y bloquean algo específico, pero tiene más sentido bloquear por defecto y permitir sólo aquello que necesitemos (tal y como nos comenta David Rodriguez).

Guardamos esta información en el firewall del router (Administration –> Commands) pusaldo el botón “Save Firewall”.

Lo último que nos quedaría por hacer sería conectarnos a nuestra red wifi de invitados y comprobar que tenemos acceso a Internet y si intentamos alcanzar por cualquier medio la red 192.168.1.x , no  lo permitirá.  Y con este apunto me despido. Hasta el próximo post!!!