Dart SDK
Flutter SDK
Variables de entorno
Verificar
flutter doctor
.flutter doctor
.Dentro de los servicios de Cloud, podemos encontrar IaaS y PaaS; cada una tiene sus pros y contras, sin embargo la mayoría de ingenieros que vienen de cacharrear y trastear por su cuenta (como es mi caso) estamos mas familiarizados con la administración propia de los recursos, nos acostumbramos a ver un rack con los servidores he incluso a pelearnos con los continuos errores de estas maquinas. Por esta razón, es casi natural pasar a una arquitectura IaaS, claro que con esto no quiero decir que sea mejor que PaaS, simplemente es un acercamiento diferente a la administración y arquitectura en la nube.
Azure nos provee de ambos servicios y claro en esta ocasión revisaremos IaaS, un breve recorrido por sus principales características. En próximos post veremos como trabajar con PaaS.
Lo primero que vamos a hacer es instalar el Azure CLI. Este nos provee las herramientas para trabajar en la linea de comandos con Azure; esta manera se me hace mucho mas practica y necesaria para poder automatizar las tareas, sin embargo todo lo que veremos se puede hacer por la interfaz web de Azure con unos cuantos clics.
En este ejemplo vamos a ver como crear crear un par de maquinas virtuales y colocar un balanceado de carga. Pero antes de entrar al código necesitamos responder a unas preguntas muy importantes:
Ademas tambien debemos tener en cuenta las aplicaciones que vamos a correr en la VM y el sistema operativo a usar, ya que todo esto influye en la selección de la maquina y finalmente en su precio, aquí les dejo la calculadora para estimar los costos de la VM de sus sueños. Una curiosidad es que las maquinas virtuales basadas en Linux no tienen interfaz gráfica por lo que para su uso se requiere el manejo de la linea de comandos por lo menos para su arranque inicial y luego pueden instalar la interfaz gráfica de preferencia.
Lo primero será hacer login. Para esto debemos tener una cuenta creada de Azure. Si solo estas probando puedes optar por una suscripción gratuita de 30 días que te permite conocer la plataforma.
az login
Esto nos devolverá un json confirmando el usuario con el que accedimos, ahora estamos listos para comenzar a trabajar con el CLI. Vamos a empezar por consultar las imágenes de SO que podemos instalar en nuestras VM.
az vm image list
En este caso me interesa instalar la imagen de Ubuntu, voy a usar el alias para realizar la instalación. Otro dato es que en las imágenes disponibles de Linux solo se pueden usar las versiones LTS.
Ahora, dependiendo de nuestra suscripción y ubicación tenemos acceso a ciertas localizaciones, las vamos a necesitar, entonces vamos a consultarlas.
az account list-locations
Luego vamos a consultar de una de esas localizaciones que recursos tenemos disponibles. Me interesa para pruebas una maquina de serie A.
az vm list-skus --location westus3 --zone --all --output table
Necesitamos crear un grupo, este nos servirá para agrupar recursos. Estos grupos es muy importantes definirlos de manera correcta, ya que si los recursos son de un mismo grupo facilita muchísimo realizar la mayoría de tareas.
Creamos el grupo asignándole un nombre y pasándole la localización de despliegue de los recursos.
az group create --name Jhontona --location westus3
Bien, por fin vamos a crear nuestras maquinas virtuales, para esto debemos pasarle el nombre, el grupo, la imagen y el tipo de autenticación, en esta ocasión usaré usuario y contraseña.
az vm create -n VMTest01 -g Jhontona --image UbuntuLTS --authentication-type password --admin-username jhontona --size Standard_A1_v2
Tenemos listas nuestras maquinas y podemos consultarlas con el comando
az vm list
Podemos proceder a actualizar nuestras maquinas e instalar el software necesario. Podemos conectarnos por escritorio remoto o por SSH, aunque recordemos que las instalaciones de Linux por defecto no traen escritorio y generaran una excepción.
Para esta prueba instalare Apache2 pero obviamente puedes instalar cualquier servidor web o aflictivo que requieras. No voy a colocar los pasos de instalación del Apache aquí, por que como mencione aquí depende enteramente del software que necesites.Una vez instalado debemos abrir los puertos necesarios, en mi caso es necesario abrir el puerto 80, por defecto todos los puertos están cerrados.
az vm open-port --resource-group Jhontona --name VMTest01 --port 80
Por defecto al crear una maquina virtual esta se inicia. Podemos detenerla o arrancarla con los siguientes comandos.
az vm start
az vm stop
Necesitamos agregarle una ip publica al grupo que creamos anteriormente, esto con el fin de que el balancer responda a esta IP.
az network public-ip create --resource-group Jhontona --name publicBalancerIP
Ahora vamos a crear el balanceador.
az network lb create --resource-group Jhontona --name lbJhontona --frontend-ip-name frontendPool --backend-pool-name backendPool --public-ip-address publicBalancerIP
Vamos a evaluar la información y definir las reglas de enrutamiento.
az network lb probe create --resource-group Jhontona --lb-name lbJhontona --name probeLbJhontona --protocol tcp --port 80
az network lb rule create --resource-group Jhontona --lb-name lbJhontona --name ruleLbJhontona --protocol tcp --frontend-port 80 --backend-port 80 --frontend-ip-name frontendPool --backend-pool-name backendPool --probe-name probeLbJhontona
También necesitamos crear una red virtual.
az network vnet create --resource-group Jhontona --name vnBalancer --subnet-name lbSubnet
az network nsg create --resource-group Jhontona --name netSecuriryGroup
az network nsg rule create --resource-group Jhontona --nsg-name netSecuriryGroup --name networkGroupSecurity --priority 1001 --protocol tcp --destination-port-range 80
for i in `seq 1 2`; do
az network nic create --resource-group Jhontona --name nic$i --vnet-name vnBalancer --subnet lbSubnet --network-security-group netSecuriryGroup --lb-name lbJhontona --lb-address-pools backendPool
done
az vm availability-set create --resource-group Jhontona --name avset
az network public-ip update -g Jhontona -n publicBalancerIP --allocation-method Static
az network public-ip show --resource-group Jhontona --name publicBalancerIP --query "{address: ipAddress}"
Tengo instalado Windows 8.1 y utilizo Virtualbox para muchas practicas con Linux, pero oh sorpresa, después de instalar Virtualbox no funciona correctamente. Tuve muchos problemas para correr Virtualbox y llegue a pensar que no lo podría correr de nuevo, pensé en cambiarme a Vware o VirtualPc, pero antes de rendirme decidí buscar información del problema googleando. No encontré buena información acerca del problema, la mayoría recomiendan cambiar el programa de virtualización, por lo que me había decido a hacerlo, pero después, antes debía seguir en unas practicas que estoy haciendo para Windows Phone y ahí surgió la respuesta.
Para hacer las pruebas en el emulador de Windows Phone se Utiliza Hyper-V que viene ahora instalado y activado por defecto para Windows 8. Hyper-V es un programa de virtualización para sistemas de 64x. Se me ocurrió que tal vez por este motivo no corría Virtualbox bien, ya que se veía un poco lento y al instalar algún sistema operativo se quedaba pegado o no cargaba. Busque un poco de información y mi hipótesis era cierta, Hyper-v y Virtualbox no pueden coexistir, ya que una vez se inicia el sistema operativo se carga Hyper-v, Virtualbox no podrá funcionar bien. Así que ahora va la solución. Algo radical seria desinstalar Hyper-V, pero en mi caso que lo utilizo para desarrollo no es una buena idea, por esto opte por deshabilitarlo.
Aquí van los pasos.
bcdedit
bcdedit /set hypervisorlaunchtype off
bcdedit /set hypervisorlaunchtype auto
bcdedit proporciona la lista para describir las aplicaciones de arranque y configuración de las aplicaciones de inicio.
Con /set hypervisorlaunchtypepodemos establecer el modo de arranque para Hyper-V que puede ser auto para iniciarlo u off para detenerlo. En este caso como queremos detenerlo vamos a ponerlo en off y luego reiniciamos la maquina.
Ahora debemos reiniciar el equipo y ya podemos utilizar Virtualbox sin ningún problema. Después del reinicio Hyper-V ya no interferirá con el funcionamiento de Virtualbox y si queremos volver a habilitar Hyper-V solo debemos colocar su estado de nuevo en auto y reiniciar. Es un poco tedioso pero funciona y se puede programar una bat para hacerlo con un solo click.
Espero te sirva esta información, compártela y comenta.
Hace aproximadamente un año utilice por algunos meses Ubuntu en su versión 12.04, después de tener algunos problemas volví a Windows por necesitar programas específicos.
Ahora regreso al mundo de Linux, con una distribución basada en Debian 7, mas exactamente en Wheezy, llamada Kali Linux, antes conocida como Backtrack.
He regresado como el hijo prodigo al mundo de Tux, mi decisión primeramente fue por instalar de nuevo Ubuntu en su versión 13.04 (aunque pronto estará disponible la 13.10), ya que esta distribución se caracteriza por ser una de las mas distinguidas y de gozar de una gran comunidad que te ayudara no solo en su uso, si no que hacen de Linux un mundo mejor, apoyando en el desarrollo de este y programas.
Instale Ubuntu 13.04 pero vi una gran falla, Ubuntu no cuenta con arranque EFI (A la fecha ya tiene este arranque), por este motivo me vi forzado a utilizar otra distribución, pues no quería quedarme tampoco sin Windows ya que también me gusta jugar y la mayoría de los juegos corren en Windows, además también tengo la Licencia para usarlo, así que no dejaría que se desperdiciara.
La búsqueda me llevo primero a encontrar la distribución de Linux Fedora, ya que esta al parecer tiene un modo para arrancar por EFI, pero la verdad nunca he usado Fedora, así que no estaba muy convencido, pero al verlo recordé el maravilloso Backtrack, una distribución de seguridad informática la cual si había utilizado para… digamos… “Auditar la seguridad wifi del vecino“.
Backtrack llego hasta la versión 5r3 y esta basado sobre Ubuntu, creado y mantenido por las personas de Offensive Security, aunque es Open Source. Pero Backtrack murió, o por lo menos evoluciono. La empresa encargada de mantener a Backtrack vio varias deficiencias y decidieron corregirlas…
Kali Linux es una total reestructuración de BackTrack, ya no se basa en Ubuntu, ahora lo hace en Debian, también elimino varias herramientas por ser redundantes, eso si, la calidad de la suite no disminuyo, por el contrario, aumento su eficiencia y se basa en estándares de desarrollo seguro.
Entre las cosas que mas destaca Kali Linux de otras distribuciones, es obviamente que esta dirigida a la seguridad informática y como su antecesor a la informática forense. Además también debes tener en cuenta que solo tienes un usuario root, aunque puedes crear mas, todos serán superusuarios… y esto por que? Por que las herramientas que utiliza Kali Linux necesitan estos permisos, así que no tienes un control de usuarios por privilegios.
También el servicio de redes y los puertos vienen cerrados por defecto y además se amplio la detección para mas tarjetas wireless y diversos drivers.
Sin embargo no todo es tan maravilloso, Kali Linux requiere que hayas usado antes Linux, que tengas una previa experiencia, aunque no niego que tiene una gran comunidad atrás y es mas, tiene bastante documentación en español… pero lo que Kali Linux dice, yo te lo digo:
Si estas buscando una distribución de Linux para aprender las bases y tener un buen punto de partida, Kali Linux no es la distribución ideal para ti. Deberías comenzar con Ubuntu o Debian en su lugar.
La curva de aprendizaje al principio es bastante elevada, instalar programas y sobre todo drivers es una odisea, y debes cogerle mucho cariño a la consola. Y eso es solo para utilizarlo como sistema operativo principal, si quieres aprender a utilizar las herramientas que trae por defecto para pentesting debes conocer muy bien la suite.
La instalación no tiene ningún problema, con una configuración sencilla pude arrancarlo por EFI, y es una distribución muy estable. Seguro pronto estaré subiendo videos de esta distribución al canal de YouTube, mientras los dejo con este vídeo del Software Freedom Day, en donde dan una pequeña introducción a Kali Linux y a algunas de sus herramientas.