Social Icons

twitter facebook google plus linkedin

viernes, 28 de noviembre de 2014

Migrando de Windows XP a Windows 7 Error 0x800700C1

Hola Mundo:

Desde que Microsoft eliminó el soporte para Windows XP, muchas empresas han optado por irse a
versiones más nuevas de Windows. Hay algunas que dieron el salto a Windows 8.1, otras son más recatadas y se quedaron en Windows 8 y las más conservadoras migraron a Windows 7.

El proceso en si no es complicado. Los problemas están cuando se está usando la versión 2012 R2 de System Center Configuration Manager.

La migración desde Windows XP a versiones superiores no está soportada por SCCM 2012 R2, pero con la ayuda de actualizaciones y otros componentes podemos lograr el objetivo.

Estos pasos me sirvieron para lograr el objetivo. Sin duda, en internet también hay mucho material y formas de solucionar el problema. La idea es que las experiencias se vayan compartiendo.

Pasos a seguir:

  1. Instalar el CU1 para 2012 R2 si es que no está instalado. Este CU incluye actualizaciones que impedirán que el arranque de Windows XP se destruya, entre otras cosas. Más información sobre esta actualización se puede encontrar en: http://support2.microsoft.com/kb/2938441
  2. Instalar en una máquina cualquiera, que no tenga que ver con la instalación de SCCM 2012 R2, la herramienta Windows Automated Installation Kit (WAIK). Se puede descargar desde: http://www.microsoft.com/en-us/download/details.aspx?id=5753
  3. Generar una imagen de Windows PE 3.1 en la máquina que tiene WAIK instalado y luego agregarle los componentes winpe-Scripting.cab, winpe-WMI.cab y winpe-WDS.cab. Después importarlo a SCCM 2012 R2. Para completar esta tarea, sugiero leer el siguiente enlace: http://omgtechstuff.wordpress.com/2014/08/14/how-to-create-a-winpe-3-1-boot-image-import-it-to-sccm-2012r2/
  4. Crear un paquete USMT 5 desde WAIK. Esto es para realizar la captura de los datos de usuario y configuración de Windows. Sugiero leer el siguiente enlace: http://www.windows-noob.com/forums/index.php?/topic/4512-using-sccm-2012-rc-in-a-lab-part-8-deploying-windows-7-x64/
  5. Realizar la captura de Windows 7 instalado en una partición. Por defecto, Windows 7 crea 2 particiones: Una de arranque y otra de sistema operativo. El problema está que Windows XP solo usa una partición y dará error al momento de plasmar la imagen. Para instalar Windows 7 en una partición sugiero seguir el siguiente link: http://blogs.msdn.com/b/matthew_van_eerde/archive/2009/08/21/forcing-windows-to-install-on-a-single-partition.aspx Para hacer la captura leer el siguiente link: http://prajwaldesai.com/capture-windows-7-using-sccm-2012-r2/
  6. Crear un task sequence que utilice la imagen de booteo recién creada y que aplique la imagen recién capturada. Además, que para capturar los datos de usuario use el paquete de USMT recién creado y que utilice hardlinks para respaldar los datos.

¿Por qué?


Ni SCCM 2012 R2 ni Windows ADK en la última versión son compatibles con el proceso de migración desde Windows XP a Windows 7 o versiones superiores. Es por eso que hay que utilizar mezclas de versiones en los distintos componentes y herramientas utilizadas para éstos propósitos. Lamentablemente, no existe mucha documentación al respecto y si hay está media confusa. 
Si se intenta hacer la actualización sin hacer los pasos que describí antes arrojará error 0x800700C1 y en Google aparecerá el link: https://social.technet.microsoft.com/Forums/en-US/6e934990-999a-4367-860a-3ce4e5eda956/sccm-2012-r2-error-0x800700c1?forum=configmanagerosd y algunas luces dará frente al problema.

Espero que en algo los pueda ayudar. 

jueves, 20 de noviembre de 2014

DNS Públicos

Hola Mundo:

Hay un protocolo llamado DNS, que es un gran responsable en el funcionamiento de Internet. Gracias a el se pueden resolver las direcciones IP a partir de un nombre de dominio.

Todos los ISP tienen servidores de DNS para que los clientes puedan resolver los direcciones IP de sus suscriptores.
El problema está en que muchas veces aplican restricciones, sobrecargas y operaciones que hacen que la resolución sea un poco más lenta.

Al usar los DNS de otro lugar, país o servidor distinto al ISP, la resolución de nombres puede que sea algo más rápida, lo que da una sensación de rapidez en la conexión.

Hay un número considerable en el mundo  de servidores DNS públicos.
Algunos son:
  • Google: 8.8.8.8
  • OpenDNS: 208.67.222.222
  • Level3: 209.244.0.3
  • FreeDNS: 37.235.1.174
En Chile tenemos unos cuantos:
  • 37.235.52.191
  • 179.9.20.50
  • 186.107.119.118
  • 190.9.57.2
 Se puede encontrar un gran listado en el sitio web: http://www.public-dns.tk

Importante: No esperen máxima privacidad al usar DNS Públicos.

lunes, 20 de octubre de 2014

Agregar direcciones a una casilla en Exchange 2013 a través de Powershell

Hola Mundo:

Cada casilla de correo, en cualquier plataforma, puede tener distintas direcciones de correo
electrónico.

Exchange 2013 incluye esta característica y, además, es configurable a través de la interfaz web. Es bastante cómodo cuando es para un solo usuario y solo un par de direcciones y no lo es para cuando son 700 y debe hacerse a través de un script.

Para completar esta acción se debe hacer a través de la consola Powershell para Exchange 2013.

Bien. Supongamos que tenemos un CSV (llamado archivo.csv) con la información que se requiere y se tiene en el siguiente formato:

alias, emailaddresses 
usuario1,"[email protected],[email protected]
usuario2,"[email protected],[email protected]
usuario3,"[email protected],[email protected]
usuario4,"[email protected], [email protected]"

Se tiene 4 usuarios y cada usuario tiene 3 direcciones de email asociadas a su casilla. Es importante que las cuentas estén creadas antes de poder asociar más direcciones de correo electrónico  a las casillas. Entonces si las cuentas ya están creadas, no queda más que modificarlas usando el cmdlet Set-Mailbox

El cmdlet Set-Mailbox tiene un parámetro -EmailAddresses donde se indican todas las direcciones de correo electrónico que están asociadas a la casilla. Tiene un tipo de datos especial, por lo que hay que trabajarlo en el script para que pueda convertirlo de forma simple el valor (o los valores) que le entreguemos.

Entonces el script quedaría así:

Import-Csv "archivo.csv" | ForEach-Object {

$correos = $_."emailaddresses" -split ',' 

Set-Mailbox -Identity $_."alias" -EmailAddresses @{add=$correos}  

}


De esta forma, le estaría diciendo al sistema que tengo un set de direcciones de correos electrónicos, separados por una coma, para la casilla identificada con el alias.

¡Chau!

domingo, 5 de octubre de 2014

Tips de Powershell para Exchange 2013

Hola Mundo:

¡Que maravilloso que los productos tengan su consola de Powershell! Es muy bueno como se puede automatizar y administrar a través de estas herramientas. Ahora, no es nuevo. Desde la versiones anteriores de Windows y los productos que se puede hace scripting con VBScript y en los derivados de Unix se tiene la poderosa Shell.

¿Cuál es la ventaja de Powershell? La orientación a objetos y la integración con .NET.
De todas formas, no pretendo hablar largo de los lindo que es Powershell. El objetivo es dejar anotados ciertas líneas muy útiles  y que las he usado harto estos días en el trabajo. 

Eliminar todos los usuarios
$mailbox = Get-Mailbox
Foreach($cuenta in $mailbox){Remove-Mailbox -Identity $cuenta.Alias -Permanent $true -Confirm:$Y}


Eliminar todos los contacto
$contactos = Get-MailContact
Foreach($contacto in $contactos){Remove-MailContact -Identity $contacto.Alias -Confirm:$Y}


Eliminar todos los grupos
$grupos = Get-DistributionGroup
Foreach($grupo in $grupos){Remove-DistributionGroup -Identity $grupo.Alias -Confirm:$Y}

Nada más copiar y pegar.

Chau!

lunes, 22 de septiembre de 2014

Instalar .NET Framework 3.5 en Windows Server 2012 R2

Hola Mundo:

Hay varias aplicaciones que hacen uso de la característica de .NET Framework 3.5 y Windows Server ofrece un asistente y comandos de Powershell para instalarlo como característica.
Es maravilloso, porque no tienes que descargar nada extra y todo lo haces a través de la consola de administración, o bien, descarga componentes desde Windows Update.

La vida no es de color de rosa, menos en el mundo del IT.

En un escenario donde los servidores tienen Windows Server 2012 R2 y no están conectados directamente a Internet, es necesario instalar desde el medio de instalación o desde un recurso compartido. Esto habitualmente funciona, pero en algunos casos no lo hace y tienes que recurrir a otras técnicas.

Si te encuentras con el error 0x800f0906 al instalar la característica de .NET Framework 3.5 en Windows Server 2012 R2, sigue los siguientes pasos:

Editar políticas locales
  1. Abrir gpedit.msc
  2. Buscar en Administrative Templats -> System el elemento Specify settings for optional component installation and component repair
  3. Dejar la configuración de la política de la siguiente forma:

  4.  
Instalar Caracteristica
  1. Abrir una ventana de cmd con permisos de administrador
  2. Escribir lo siguiente: DISM /online /enable-feature /featurename:NetFX3 /all
 Con ambos pasos se fuerza por política local a instalar todo desde Windows Update y luego realiza la habilitación de la característica con la herramienta DISM. Si la habilitación la haces desde el asistente o por Powershell, arrojará el mismo error. No se por qué.

Espero que te sea de utilidad  y te ayude a ahorrar tiempo.

Saludos!

martes, 16 de septiembre de 2014

Windows 8.1 y Conexion VPN: HORROR

Hola Mundo:

Acostumbro, al igual que muchos informáticos, a trabajar con conexiones VPN con clientes y en mi casa también tengo un pequeño servidor VPN. En mi equipo tengo instalado Windows 8.1 y de un momento a otro me arrojó el siguiente error al intentar conectarme a alguna conexión VPN:

Error 720: A connection to the remote computer could not be established You might need to change the network settings for this connection
Eliminando las conexiones y volviéndolas a crear no solucionó el drama.
Revisando vi que en mi administrador de dispositivos habían dispositivos que no funcionaban de forma correcta.

A partir del antecedente, investigué en internet y habían personas que tenían el mismo problema y los solucionaron siguiendo los siguientes pasos:

  1. Tomar nota de los dispositivos de red, en el administrador de dispositivos, que presentan falla (icono amarillo de exclamación).
  2. Abrir el Editor de Registro de Windows (regedit) y exportar la clave: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4d36e972-e325-11ce-bfc1-08002be10318} 
  3. Abrir el archivo .reg exportado y buscar cada uno de los dispositivos que presentan problemas. Fijarse bien en DriverDesc.  
  4. Con los dispositivos identificados en el archivo (Los mios era 0015, 0016 y 0017) los elimino en el editor de registro.
  5. Actualizar el driver de cada uno de los dipositivos con problemas desde el administrador de dsipositivos.
Después de esto funcionó y estoy seguro que a ustedes también les va a funcionar.

Chau!

lunes, 25 de agosto de 2014

Reviviendo un DLink DAP-1360

De forma invariable, cada vez que vas a visitar a tus padres tienes que arreglar algo extremadamente tecnológico para ellos. 
Algo que casi viene del espacio a complicarles la existencia. 
El turno de esta vez es un Access Point D-Link DAP-1360. Un aparatito no muy complicado. La foto es:

En la foto se ve que me alimento bien también :B

Los síntomas: "No se. No funciona hace tiempo" 
Me conecté (tienes que configurar una IP del segmento 192.168.0.0/24) y efectivamente no hacía mucho. Lo único que mostraba la ventana de administración web, era una página en blanco con la opción  de subir un firmware.
A modo de referencia era más o menos así:


En esta parte nada más queda descargar un firmware desde el sitio de soporte y santo remedio.
Tan sencillo como descomprimir y subir el archivo .bin que ahí está.
Tarea que se ve muy sencilla, hasta cuando te puedes encontrar con problemas como:
  1. Que la carga del firmware se quede congelada en el 6%
  2. Que al finalizar la carga te de un lindo mensaje de error.
Ahí es cuando te agarras la cabeza y exclamas: ¡Por qué conchas no dicen que solo funciona con Internet Explorer!

El proceso debes hacerlo con Internet Explorer y será  painless




viernes, 18 de julio de 2014

Prerrequisitos para Exchange 2013

Hola Mundo:

No es raro que los productos de servidor de Microsoft requieran de una infinidad de roles y características
de Windows Server e instalarlas una a una puede resultar una tarea bastante tediosa.
Revisando la documentación de Exchange 2013 en Technet, encuentro este snippet (si es que se puede llamar asi) para instalar todos los prerrequisitos via PowerShell.




La sentencia es:

 Install-WindowsFeature AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, Web-Mgmt-Console, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation 

Luego descargas e instalas el componente Microsoft Unified Communications Managed API 4.0, Core Runtime 64-bit y estarías listo.

Para más información puedes visitar la documentación completa de Exchange 2013

miércoles, 16 de julio de 2014

Servidor VPN con Raspberry Pi

En septiembre del año pasado hice la compra de un Raspberry Pi en una conocida página de gadgets
chinos. Fue una teleserie de varios meses, ya que en marzo terminé mi pelea con DHL por el problema con el envío. Es una historia que no viene al caso contar, pero lo importante es que es algo que solo a  mi me puede ocurrir :)

Para el que no sepa, el Raspberry Pi es una placa que cabe en la palma de la mano que es un computador. Sus características son:

  • Memoria RAM: 512 MB
  • CPU: ARM de 700 MHz
  • Almacenamiento: No tiene, pero trae una ranura para una tarjeta SD
  • 2 puertos USB
  • Salida HDMI
  • Jack de audio de 3.5 mm
  • Salida de video RCA
  • Puerto de expansión
  • Interfaz de red.
El tamaño es realmente conveniente. Para que logres hacerte una idea de como es mira la imagen:
Fuente: bbc.co.uk
Como ves, el tamaño y las características hacen que las cosas que puedes llegar a hacer con un Rpi tiendan al infinito.

Cuando la compré pensé en levantar el blog, pero necesitaría de tiempo para administrarla y los recursos no iban soportar para tener el sitio en buenas condiciones y Movistar usa el puerto 80 para administrar los enrutadores de los clientes de forma remota.

Después de ponerla como un servidor ftp y de archivos y darme cuenta que Onedrive y Google Drive lo hacen mejor e intentar hacer un smart tv (o un media center) y usar las características de AirPlay de mis dispositivos Apple y que todo fracasara, decidí que una mejor idea sería tener un servidor VPN privado y que usara el enrutador de mi casa como gateway y así navegar por internet de una forma más segura cuando no esté en mi casa y navegar por sitios bloqueados cuando estoy en el instituto haciendo clases. 

Para hacer la configuración usé una release antigua de Raspbian y los motivos son:

  1. Me gustan las distribuciones basadas en Debian. Encuentro que son las mejores distribuciones y no hay nada mejor que APT para la administración de paquetes.
  2. Las nuevas releases de Raspbian no vienen  con el módulo de iptables dentro del núcleo, cosa que tendrías que hacer un cross-compiling, porque no creo que quieras compilar el núcleo en esa cosa.
Teniendo el sistema instalado (no es un punto que discutiremos ahora) realiza la instalación de lo necesario:
sudo apt-get install pptp
Luego habilita un modulo
sudo modprobe ppp-compress-18
Configura el servidor de VPN. Entramos al fichero /etc/pptpd.conf y configuramos los parámetros:

  • localip es la dirección ip local del servidor de VPN. La forma es: localip 192.168.1.189
  • remoteip es el juego de direcciones disponible. La forma es: remoteip 192.168.1.200-210
Ahora es tiempo de que configures algunos parámetros secundarios. Tienes que entrar al fichero /etc/ppp/pptpd-options
ms-dns DIRECCION.DE.TU.GATEWAY.LOCAL
noipx
mtu 1490
mru 1490

Es necesario contar con nombres de usuario y contraseña para que puedan autenticarse con tu sistema. Tienes que entrar a /etc/ppp/chap-secrets y agregar usuarios de la siguiente forma:
usuario[TAB]*[TAB]password[TAB]*
Agregas todos los que necesites. Guardas y cierras. Reinicia el servicio: 
sudo service pptpd restart 

Si es necesario puedes habilitar tu servidor VPN para que permita el acceso a toda la red. La idea es interactuar con la red, así que en el fichero /etc/systctl.conf  buscas la línea net.ipv4.ip_forward=0 y cambiarla por net.ipv4.ip_forward=1 Guardas, cierras y actualizas el sistema con:
sudo sysctl -p

El penúltimo paso es configurar las reglas del firewall y que éstas se apliquen cada vez que el sistema se levante. Agrega las siguientes líneas al archivo /etc/rc.local justo antes de la linea exit 0

sudo iptables -t nat -A POSTROUTING -s 192.168.1.200/24 -o eth0 -j SNAT --to LA IP DEL RASPBERRY

Para finalizar, en el router abre el puerto UDP 1723 e intenta ingresar de forma externa. Lo bueno es que todos los clientes VPN incluidos en todos los sistemas operativos servirán para tu servidor.


Como extra, le puedes comprar un case y quedará así:

Ah! Lo otro extra es que puedes usar un servicio como No-Ip o alguno otro y será de lujo.

Chau!


domingo, 15 de junio de 2014

Ejercicio de direccionamiento

Hola a todos:

Durante en curso de introducción a las redes de datos, verán esta temática que trae más de un dolor de
cabeza para los alumnos. Existe mucho material al respecto, pero no siempre es lo suficientemente claro para que todos lo puedan entender.

El objetivo de este video es que puedan entender  como se resuelve de una forma más sencilla y llegando al mismo resultado.




Como ven, la técnica es saber contar bien. Chau!

jueves, 12 de junio de 2014

LTSP en Debian

Hola Mundo:

 Es complicado ser profe. Se los digo, porque tienes que inventar actividades para hacer que los alumnos se
entusiasmen, se diviertan y aprendan. Encuentro que no hay nada mejor que aprender metiendo las manos.

Uno de mis cursos es un taller de hardware, donde se les enseña a los alumnos las partes del computador, como armar y desarmar y otras clases de dispositivos. El problema está en que ellos ya conocen del tema (y bastante)  y resulta difícil enseñarles algo que ellos dominan bastante bien.

Materiales no teníamos mucho en la sala de clases. Teníamos un puñado de computadores antiguos, en los que no teníamos la certera de que funcionaran. No sabíamos en qué estado estaban, ni mucho menos si encendían o no.

Realizaron pruebas y de todos, lograron hacer funcionar unos cuantos. Durante el armado de los computadores, nos dimos cuenta que todos los discos duros estaban malos o se los habían llevado otros alumnos.

No fue dificil revolver la cabeza y acordarse del píngüino. Les conté que existía una solución llamaba LTSP y que consistía levantar un sistema, escritorio, funcional con una administración centralizada y todo se hacía a través de la red, inclusive el booteo.

Mi distribución favorita es Debian, asi que decidí instalar el sistemita ahí.

Creación de la máquina virtual
Para el propósito usé una máquina virtual sobre Virtualbox con los siguientes recursos:

  • Memoria: 1024 MB
  • Disco Duro: 10 GB
  • Procesador: 1
  • Interfaces de red: 1
Lo importante está en que la interfaz de red estaba conectado a la red interna. La red interna funciona como un switch virtual. Es donde pueden conversar las máquinas virtuales de forma aislada de la red física. Se pueden crear distintas "redes internas" con la herramienta.

Para hacer pruebas, creé una máquina virtual que simulaba ser un cliente tontorrón:
  • Memoria: 512 MB
  • Procesador: 1
  • Interfaces de red: 1
Es imperante que esta máquina tenga el arranque por red habilitado y que sea prioridad,

Instalación del sistema
No hablaré sobre la instalación de Debian. Hay muchos artículos que hablan en internet sobre eso. En todo caso, la instalación es super intuitiva y no requiere de mucho trabajo. Nada más deben asegurarse que están instalando el entorno gráfico.
Una vez que el sistema está instalado, tienen que abrir una consola y como root ejecutar

apt-get install ltsp-server-standalone

Descargará una serie de paquetes. Este proceso toma poco tiempo.

Construcción del cliente
Lo importante es construir una imagen que es que le copiará por TFTP a los clientes que se conecten.
Existen diversos parámetros que los pueden revisar en esta página.
Lo más sencillo es ejecutar:

ltsp-build-client

Y santo remedio. Comenzará a construir y empaquetar una imagen para cliente. La imagen la cream a partir de la configuración que tengan en su computador. Es posible personalizarla, pero escapa de este tutorial.

Configuración servidor DHCP
La configuracion que viene por defecto no funciona. De hecho, se podrán dar cuenta que al arrancar el servicio da un mensaje de error en rojo.
En una rápida configuración, editaremos el archivo /etc/dhcpd/dhcpd.conf  y agregaremos al final del archivo la siguiente linea:
include "/etc/ltsp/dhcpd.conf"
Este cambio agregará la configuración que debiera tener el servidor DHCP para permitir que los clientes reciban una imagen por TFTP. El archivo incluye la dirección del servidor TFTP.
Si no quieres realizar muchos cambios a los archivos de configuración, te recomiendo que configures tu tarjeta de red con la dirección 192.168.67.1 /24.

Retoques en la configuración
Es necesario realizar pequeñas ediciones en la configuración de algunos componentes para asegurarnos que el servicio funcionará como reloj. Lo primero es agregar la siguiente línea al archivo /etc/exports
/opt/ltsp *(ro,no_root_squash,async,no_subtree_check)
Luego, asegúrense que el servicio de TFTP inicia por si solo. Para esto tienen que editar el archivo /etc/default/tftpd-hpa y agregar la línea:
RUN_DAEMON="yes"
Después que ya realizaron el cambio, tienen que comentar,  en el archivo /etc/inetd.conf, la línea:
#tftp           dgram   udp     wait    root  /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
y reinician los servicios:
invoke-rc.d openbsd-inetd restart
invoke-rc.d tftpd-hpa restart

Final
Teniendo todo listo, ya están en condiciones de hacer funcionar el sistema. Tienen que conectar a la red a un computador que soporte arranque por red.
Al final de la implementación debieran llegar a algo así:

El curso completo con los que hicimos la implementación real:


Eso. Chau

lunes, 2 de junio de 2014

[Off Topic] Zonas de sacrificio

Hola a todos:

Esta entrega no tiene nada que ver con redes ni informática. Tiene que ver con algo que indigna.
En pleno siglo XXI se sigue perjudicando al más pobre en pos de la industralización y desarrollo nacional.
Lamentablemente, en muchas partes del mundo  pasa esto mismo.



El documental habla por si solo. Esto está pasando desde hace décadas en Chile y lo más impotente es que seguirá pasando. Las leyes se seguirán modificando para que los grandes pongan sus industrias y condenen de muerte a la población. Los políticos seguirán recibiendo coimas para aprobar este tipo de crímenes. Es una sentencia de muerte para la vida.

martes, 27 de mayo de 2014

Primeros Pasos Packet Tracer

Hola Mundo:

Cuando se está estudiando una carrera de área de las redes, es muy necesario llevar a la práctica el
conocimiento. Como no siempre se puede contar con dispositivos para realizar pruebas, siempre podemos usar un simulador que algo se asemeja a la realidad.
Cisco tiene su propio simulador que se llama Packet Tracer

En este video, muestro una pequeña topología y las interfaces de configuración de los distintos dispositivos que se ven en una red, todo a los ojos del simulador.  El video es bastante introductorio.



Eso.
Chau!

jueves, 15 de mayo de 2014

Primeros pasos con Wireshark

Hola Mundo:

¿Qué tal?  En esta entrega les comparto un video sobre los primeros pasos con Wireshark.

Wireshark es una aplicacion de código abierto que permite analizar redes y hacer un estudio del tráfico. Entrega información detallada por cada capa.

El programa lo pueden descargar desde su sitio web: http://www.wireshark.org

   



Chau!

martes, 13 de mayo de 2014

Cambiar el Serial Key cuando casi todo falla.

Hola Mundo:

En el blog ya he escrito como cambiar la serial key a un Windows Server para poder activarlo. Lamentablemente eso no siempre funciona. Hoy me pasó y esta fue la solución.

Primero que todo hay que abrir una ventana de cmd con privilegios de administrador y ejecutar la siguiente sentencia:

DISM /online /Set-Edition:EDITION /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /AcceptEula


Por ejemplo: Si vas a activar un Windows Server 2012 Standard, el valor del parametro Set-Edition tiene que ser ServerStandard. Quedaria así:

DISM /online /Set-Edition:ServerStandard /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /AcceptEula

Si vas a activar un Windows Server 2012 Datacenter, el valor del parametro Set-Edition tiene que ser ServerStandard. Quedaria así:

DISM /online /Set-Edition:ServerDatacenter /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /AcceptEula

Después de esto, el equipo reiniciaría un par de veces. Una vez que esté listo, puedes activar tu instalación.

Eso.

Creando tareas programadas en Windows Server

Hola Mundo:
 Para las tareas de administración de cualquier sistema operativo o infraestructura es necesario ejecutar tareas de formas periódicas. Todas las familias de sistemas operativos incluyen sus propias herramientas para crear tareas programadas. En Windows se llama "Task Scheduler" o "Programador de tareas" y en los derivados de Unix se llama "Cron".

 Dejemos el bla bla y vamos a la acción:

 

domingo, 6 de abril de 2014

Protocolo DNS y HTTP bajo el ojo de Wireshark

Hola a todos:



En el estudio de las redes, es básico conocer como funcionan algunos protocolos. Este es el caso del protocolo DNS y HTTP.

Se ve en el video que el cliente realiza una consulta DNS a su servidor, el servidor de DNS le responde la consulta y luego se realiza la petición al servidor web.





Espero que el video se entienda y cualquier comentario es bien recibido.

Chau

jueves, 3 de abril de 2014

Los Guerreros De La Red

Hola Mundo:
Este video explica el funcionamiento de las redes de una forma súper didáctica. Está dirigido a los estudiantes de las carreras de redes para que aprendan el flujo de datos.
Si estás en el curso de CCNA 1 y te estás introduciendo en el mundillo de las redes, este video está dirigido a ti.

jueves, 27 de marzo de 2014

Comandos de Linux que todo sysadmin debiera manejar

Hola Mundo:

Ayer estaba leyendo los sitios que habitualmente leo y encuentro esta joyita en Lifehacker
Es una ayuda de memoria con la gran mayoría de los comandos de Linux que un sysadmin o un usuario común y corriente del S.O. del pingüino debiera manejar.

Muchos de ellos también sirven en otros derivados de Unix.

Ayuda de memoria de comandos de Linux


¡Disfrútenla!

domingo, 16 de marzo de 2014

Funciones personalizadas en las hojas de calculo de Google

Hola Mundo:

Es común que las hojas de cálculo den para mucho y se construyan verdaderas herramientas personalizadas de cálculo en estas hojas de cálculo. Es el caso de Excel, donde se pueden construir formularios y tratamiento personalizado a cierto tipo de información a través de las macros hechas con una versión simplificada de Visual Basic.

Las hojas de cálculo de Google Docs también cuentan con esta funcionalidad de construir funciones propias. Estas funciones son creadas con Javascript en la plataforma de Google Apps Script.

En este ejemplo, construiremos 2 funciones que convierten grados Celsius a grados Farenheit y al revés.


 El código de fuente es:

//Funcion que convierte los grados celsius en farenheit

//La formula que utiliza es: ºF = (9/5) x ºC + 32

function convertirCelsius2Farenheit(gradosC) {

  var gradosF = 0;

  if (typeof gradosC != "number"){

    throw "Tiene que ser un número!!!";

  } else {

    gradosF = (9/5) * gradosC + 32;

  }

  return gradosF;

}

//Funcion que convierte los grados farenheit en celsius

//La formula que utiliza es: ºC = 5 / 9 ( ºF – 32 )

function convertirFarenheit2Celsius(gradosF) {

  var gradosC = 0;

  if (typeof gradosF != "number"){

    throw "Tiene que ser un número!!!";

  } else {

    gradosC = ºC = (5 / 9) * (gradosF-32);

  }

  return gradosC;

}
También pueden copiarlo desde acá: http://chopapp.com/#cv303vjp

Espero que les sea de utilidad.

¡Chau!

sábado, 15 de marzo de 2014

Aprende Javascript

Hola Mundo.

Navegando por internet, encontré esta página que enseña de una forma entretenida, sencilla y práctica los fundamentos de Javascript.
Consta de 28 ejercicios, donde van explicando los conceptos y ejercitando lo aprendido.
Está bastante entrete.

El link es: Este

Espero que lo puedan seguir y está orientado a principiantes.

Saludos!

lunes, 10 de marzo de 2014

Consultar servicio local desde Win8 App

Es muy común que las aplicaciones consulten contenido que está en internet, como por ejemplo, algún servicio REST o algo en XML o en cualquier formato que los datos vengan.
Todos los lenguajes tienen clases y métodos que, de alguna u otra forma, permiten la descarga del contenido y la lectura.

Como ven, consultar contenido externo es una tarea común que todos los lenguajes modernos y sistemas operativos de hoy hacen posible. Esto también incluye a Windows 8.

En Windows 8 ocurre un fenómeno particular. Consultar contenido externo no es complejo. Ni en el desarrollo de aplicaciones usando .NET (VB.NET o C# y XAML) ni usando las bibliotecas de WinJS, pero consultar contenido local es distinto.

Por medidas de seguridad en Windows 8 no se puede consultar por contenido alojado en la misma máquina. Ni contenido HTML ni servicios... ¡Nada!

Esta restricción se puede desactivar con la siguiente orden en Powershell

checknetisolation loopbackexempt –a –n=el_nombre_del_paquete

Ejecutando esa orden, ya se podrá consultar servicios en la misma máquina.

Pueden encontrar más información en el siguiente enlace:
http://blogs.msmvps.com/luisabreu/blog/2012/01/05/windows-8-adventures-getting-external-data-from-a-local-server-might-not-be-as-easy-as-you-expect/

¡Chau!


miércoles, 5 de marzo de 2014

Hola Blogger... Adiós Wordpress

Hola Mundo:

Desde hace varios años, exactamente desde diciembre del 2007, que mantengo este blog. Han sido varios años donde he ido compartiendo mis experiencias y solución a problemas técnicos puntuales.

Partí con el blog en Wordpress.com, luego tuve una instalación propia desde el 2008 hasta finales del 2013 en un hosting compartido. Funcionaba bastante bien, pero requería de mantención (Actualizaciones del sistema, pagos y monitoreo ante los chistosos que hacen de las suyas). No me gustaba el rendimiento de los hosting compartido, así que decidí ir por una VM en Windows Azure. El rendimiento era digno y el trabajo aumentaba el doble, ya que era un servidor completo que administrar y mantener.

En vista y considerando que tiempo no tenía mucho para administrar la plataforma, decidí que otro lo hiciera por mi y me incliné por una plataforma más que probada y migré a Blogger.

Lo bueno es que se integra con los servicios que consumo desde Google.

Así que este es el inicio de una nueva era y que sea próspera.
Ahora estoy a la espera a que Google indexe el sitio de nuevo.

Buena suerte a todos.


jueves, 20 de febrero de 2014

Error Sharepoint: SPEndpointAddressNotFoundException





Hola Mundo:



Sharepoint tiene excelente características para los proyectos de Business Intelligence. En algunos posts anteriores como corregir algunos problemas propios de esta disciplina.



Hoy les vengo a comentar un error que me apareció en Dashboard Designer y la verdad es que no supe cual era la razón, pero si encontré la solución.



El problema aparece cuando se intenta agregar una conexión a SQL Server. Aparece  el siguiente mensaje de error:

An Unexpected Error Occured. An error has been logged for the Administrator


El error, que es muy descriptivo, no ayuda mucho. Revisando a nuestro buen amigo Event Viewer encuentro lo siguiente:



An unexpected error occurred. Error 15568.



Exception details:
Microsoft.SharePoint.SPEndpointAddressNotFoundException: There are no addresses available for this application.


at Microsoft.SharePoint.SPRoundRobinServiceLoadBalancer.BeginOperation()


at Microsoft.PerformancePoint.Scorecards.BIMonitoringServiceApplicationProxy.GetBalancerContext()


at Microsoft.PerformancePoint.Scorecards.BIMonitoringServiceApplicationProxy.ExecuteOnChannel(CodeBlock codeBlock)


Revisando los servicios en el services en la administración central, ocurría que el servicio de Performance Point estaba detenido.

El problema se soluciona iniciando el servicio de Performance Point.

sábado, 1 de febrero de 2014

Revisar la cola de Sendmail





Hola Mundo:



Sendmail, o cualquier servidor de smtp, es indispensable para cualquier CMS web. Me atrevería a decir que todos los sistemas de administración de contenido hacen uso del servidor smtp para el envío de correos.



Todos los servidores SMTP manejan una cola de correos. Esta cola se utiliza cuando el servidor no puede enviar el mensaje y lo deja en un lugar para intentar enviarlo de nuevo. Si no puede enviarlo, envía un correo de rebote.



La cola se limpia después de un tiempo para que no se sigan utilizando recursos de sistema en enviar un correo que, probablemente, nunca salga. Otro motivo de la autolimpieza, es que hay que ahorrar espacio en disco para otros mensajes en cola.



Para revisar la cola de mensajes salientes de sendmail, hay que ejecutar en la consola:

mailq


Si la cola está vacía, mostrará algo así:

[email protected]:~$ mailq
MSP Queue status...
/var/spool/mqueue-client is empty
Total requests: 0
MTA Queue status...
/var/spool/mqueue is empty
Total requests: 0
[email protected]:~$



Si están usando sendmail, también pueden revisar la cola con

sendmail -bp


Como ven, la mía está vacía.



Chau!

jueves, 30 de enero de 2014

Habilitar la compresión en IIS



Hola Mundo!



La compresión de contenido en el servidor se hace más que necesaria cuando se quieren mejorar los tiempos de respuesta del sitio y además economizar ancho de banda.



No todo es bello, ya que aumenta el consumo de recursos de hardware para completar la operación.



Por lo menos, en IIS existe la compresión para contenidos dinámicos y para contenidos estáticos. De por si, la compresión para contenidos dinámicos utiliza más recursos de CPU que la de contenido estático.  Es por eso que se recomienda para servidores con buen procesador, pero con conexiones a internet lentas.



Dejando el bla bla, vamos al video





Ya saben. Cualquier consulta en los comentarios del video o aca.



Chau

jueves, 23 de enero de 2014

Agregar Virtual Hosts en Apache 2.4 Ubuntu 13.10

Hola!



Si has llegado hasta aquí, creo que tienes el mismo problema que tuve hace un momento.



Seguramente estabas acostumbrado a crear Virtual Hosts en versiones anteriores de Apache, donde creabas el archivo, indicabas la ruta, el nombre de servidor y luego habilitabas el sitio.



Desde la versión 2.4, que viene en Ubuntu 13.10  la forma de crear un virtual host cambió, haciendo la tarea un poco mas complicada que las versiones anteriores.



Para crear un virtual host primero copiar el archivo 000-default.conf que se encuentra en /etc/apache2/sites-available y lo pegas ahi mismo con el nombre que quieras .conf (por ejemplo mi.sitio.com.conf)



Luego editas el contenido del archivo mi.sitio.com.conf y agregas la información de: ServerName, DocumentRoot, etc y agregas estas lineas:

<Directory "/mi/ruta/al/sitio">

Options -Indexes +FollowSymLinks

AllowOverride AuthConfig FileInfo

Order allow,deny

Allow from all

Require all granted

</Directory>


Después habilitas el sitio con a2ensite y reinicias el servicio.



Chau!

martes, 21 de enero de 2014

Solucionando problemas de VSFTPD

Hola a todos!



Hasta el momento no conozco servidor de ftp de rápida instalación funcional que vsftp. Está presente en los repositorios  de todas las distribuciones conocidas de GNU/Linux.



Lo vengo instalando desde el 2008, mas o menos, y hoy en mi trabajo me toca usarlo y siempre se me presentan los mismos problemas.



La implementación más reciente es de hace algunas horas y está levantado sobre Ubuntu 13.04 en Windows Azure.



A continuación, hay algunos problemas con su solución.



VSFTPD: "500 OOPS: priv_sock_get_cmd"



Es un bug que está presente en la versión 3.0.0 y corregido en la versión 3.0.2, que hace uso de un modulo del kernel (seccomp), pero solo si es 64 bits.



En el archivo /etc/vsftpd.conf se debe agregar la siguiente línea

seccomp_sandbox=NO


Luego reiniciar el servicio y funcionará.



Fixing 500 OOPS: vsftpd: refusing to run with writable root inside chroot ()



Esto ocurre  cuando el directorio del usuario donde se hace el chroot tiene permisos de escritura, pero no se establece en el archivo de configuración que se puede escribir en el directorio.



Agregar la siguiente linea en el archivo /etc/vsftpd.conf 

allow_writeable_chroot=YES


Reiniciar el servicio y funcionará.



Error: Failed to retrieve directory listing



Error cuando no está bien configurado las características de servidor pasivo.

Agregar estas línas al archivo /etc/vsftpd.conf

connect_from_port_20=YES

pasv_enable=YES

pasv_addr_resolve=YES

pasv_address=ftp.miservidor.com

pasv_min_port=4040

pasv_max_port=4041


Abrir los puertos TCP 20, 4040 y 4041 en el firewall y reiniciar el servidor.



Eso

Chau!

martes, 14 de enero de 2014

Conectar disco duro a VM con Linux en Windows Azure

Hola Mundo! Estaba medio flojo con la producción de artículos para el blog, pero he vuelto para compartir un video explicando como conectar, formatear y montar un disco duro virtual para una máquina virtual con Linux sobre Windows Azure.







Si quedan dudas, las pueden compartir en los comentarios del video o aquí mismo.



Saludos!