Ejercicio: Solución de problemas de redes con las herramientas de supervisión y diagnóstico de Network Watcher

Completado

Azure Network Watcher facilita el diagnóstico de errores de configuración que impiden la comunicación entre máquinas virtuales.

Imagine que tiene dos máquinas virtuales que no se pueden comunicar. Quiere diagnosticar el problema y resolverlo lo más rápido posible. Para ello quiere usar Network Watcher.

Aquí, solucionará problemas de conectividad entre dos máquinas virtuales en subredes diferentes.

Importante

Para realizar este ejercicio, se necesita una suscripción de Azure propia y puede que se apliquen cargos. Si aún no tiene una suscripción de Azure, cree una cuenta gratuita antes de comenzar.

Configuración de una red virtual y máquinas virtuales

Vamos a empezar creando la infraestructura. También crearemos un error de configuración:

  1. En el explorador, abra una sesión de Azure Cloud Shell.

  2. Abra el directorio en el que quiere crear los recursos.

  3. Seleccione Bash en la parte superior izquierda de la barra de menús de Cloud Shell.

  4. Enumera las regiones admitidas para la suscripción.

    az account list-locations
    
  5. Cree un grupo de recursos y asígnelo al nombre de variable RG ejecutando el código siguiente, reemplazando <resource group name> por un nombre para el grupo de recursos y <name> por el nombre de una región de la salida anterior.

    az group create --name <resource group name> --location <name>
    RG=<resource group name>
    
  6. Cree una red virtual denominada MyVNet1 con una subred denominada FrontendSubnet mediante la ejecución de este comando.

    az network vnet create \
        --resource-group $RG \
        --name MyVNet1 \
        --address-prefixes 10.10.0.0/16 \
        --subnet-name FrontendSubnet \
        --subnet-prefixes 10.10.1.0/24
    
  7. Cree otra subred denominada BackendSubnet ejecutando este comando.

    az network vnet subnet create \
    --address-prefixes 10.10.2.0/24 \
    --name BackendSubnet \
    --resource-group $RG \
    --vnet-name MyVNet1
    
  8. Implemente una máquina virtual en FrontendSubnet ejecutando este comando y reemplace <password> por una contraseña compleja de su elección.

    az vm create \
        --resource-group $RG \
        --name FrontendVM \
        --vnet-name MyVNet1 \
        --subnet FrontendSubnet \
        --image Win2019Datacenter \
        --admin-username azureuser \
        --admin-password <password>
    

    Nota:

    Si recibe un error del tipo "partofthepassword: evento no encontrado", cree otra contraseña con los caracteres permitidos.

  9. Instale IIS en FrontendVM ejecutando el siguiente código.

    az vm extension set \
        --publisher Microsoft.Compute \
        --name CustomScriptExtension \
        --vm-name FrontendVM \
        --resource-group $RG \
        --settings '{"commandToExecute":"powershell.exe Install-WindowsFeature -Name Web-Server"}' \
        --no-wait
    
  10. Implemente una máquina virtual en BackendSubnet ejecutando este comando y reemplace <password> por una contraseña compleja de su elección.

    az vm create \
        --resource-group $RG \
        --name BackendVM \
        --vnet-name MyVNet1 \
        --subnet BackendSubnet \
        --image Win2019Datacenter \
        --admin-username azureuser \
        --admin-password <password>
    
  11. Instale IIS en BackendVM ejecutando este comando.

    az vm extension set \
        --publisher Microsoft.Compute \
        --name CustomScriptExtension \
        --vm-name BackendVM \
        --resource-group $RG \
        --settings '{"commandToExecute":"powershell.exe Install-WindowsFeature -Name Web-Server"}' \
        --no-wait
    
  12. Cree un grupo de seguridad de red (NSG) MyNsg escribiendo el siguiente comando.

    az network nsg create \
        --name MyNsg \
        --resource-group $RG
    
  13. Cree un error de configuración que impida la comunicación entre las máquinas virtuales.

    az network nsg rule create \
        --resource-group $RG \
        --name MyNSGRule \
        --nsg-name MyNsg \
        --priority 4096 \
        --source-address-prefixes '*' \
        --source-port-ranges '*' \
        --destination-address-prefixes '*' \
        --destination-port-ranges 80 443 3389 \
        --access Deny \
        --protocol TCP \
        --direction Inbound \
        --description "Deny from specific IP address ranges on 80, 443 and 3389."
    
  14. Ejecute el siguiente comando para asociar un grupo de seguridad de red a una subred.

    az network vnet subnet update \
        --resource-group $RG \
        --name BackendSubnet \
        --vnet-name MyVNet1 \
        --network-security-group MyNsg
    

Habilitación de Network Watcher en la región

Ahora se usará la CLI de Azure para configurar Network Watcher en la misma región que la infraestructura.

  1. Habilite Network Watcher ejecutando este comando, reemplazando <location> por la región de Azure que ha usado al crear el grupo de recursos al principio de esta sesión.
az network watcher configure \
    --enabled true \
    --resource-group $RG \
    --locations <location>

Uso de Network Watcher para mostrar la topología

Ahora, puede usar Network Watcher en Azure Portal para solucionar problemas de conectividad entre dos máquinas virtuales de subredes diferentes. Un compañero de trabajo ha detectado un problema de conectividad a través de HTTP/HTTPS entre las dos máquinas virtuales. En primer lugar, investigue la topología de red.

  1. Inicie sesión en Azure Portal.

  2. En la búsqueda global, escriba Network Watcher y seleccione ese servicio. Aparece el panel Información general de Network Watcher, en el que se muestra el inspector de red activo.

  3. En el menú Network Watcher, en Supervisión, seleccione Topología. Aparecerá el panel Network Watcher | Topología.

  4. En los campos desplegables, seleccione la Suscripción y el Grupo de recursos para este ejercicio. La topología de red para MyVNet1 muestra las interfaces de máquina virtual de front-end y back-end. Se trata de la red virtual que ha creado al principio de este ejercicio.

    Screenshot showing the exercise network topology.

Uso de Connection Monitor para ejecutar pruebas desde el back-end al front-end

La topología parece ser correcta. Se configurarán algunas pruebas en Connection Monitor para obtener más información. Para empezar, cree una prueba desde la máquina virtual de back-end hasta la de front-end.

  1. En el menú de Network Watcher, en Supervisión, seleccione Monitor de conexión. Aparecerá el panel de información general Network Watcher | Monitor de conexión.

  2. En la barra de comandos, seleccione Crear. Aparece la página Crear un monitor de conexión.

  3. En la pestaña Aspectos básicos, escriba los valores siguientes para cada opción.

    Configuración Value
    Nombre del monitor de conexión Back-to-front-HTTP-test
    Suscripción Seleccione la suscripción en la lista desplegable.
    Region Seleccione la región de Azure en la que haya implementado los recursos.
    Configuración del área de trabajo La opción Usar área de trabajo creada por el monitor de conexiones (predeterminado) está activada
  4. Seleccione Siguiente: Grupos de prueba. Aparecerá el panel Add test group details (Agregar detalles del grupo de prueba).

  5. En Nombre del grupo de prueba, escriba Back-to-front-HTTP-test-group.

  6. En el cuadro Orígenes, seleccione Agregar orígenes. Aparecerá el panel Agregar orígenes.

  7. En la pestaña Puntos de conexión de Azure, seleccione Subred, asegúrese de que la suscripción esté seleccionada y, después, seleccione BackendSubnet en la lista.

    Screenshot that shows enabling of Network Watcher backend subnet.

  8. Seleccione Agregar extremos. En el cuadro Orígenes con BackendSubnet identificado como origen. Seleccione este punto de conexión, seleccione Editar, cambie el nombre por BackendSubnet y, después, seleccione Guardar.

    Screenshot that shows editing endpoint name.

  9. En el cuadro Configuraciones de prueba, seleccione Agregar configuración de prueba. Aparecerá el panel Agregar configuración de prueba.

  10. En la pestaña Nueva configuración, escriba los valores siguientes para cada opción.

    Configuración Value
    Nombre de la configuración de prueba Back-to-front-HTTP-test-configuration
    Protocolo HTTP
    Puerto de destino 80
    Frecuencia de las pruebas Cada 30 segundos
    Mantenga los valores predeterminados para las opciones restantes
  11. Seleccione Agregar configuración de prueba para agregar esta configuración de prueba al grupo de pruebas. Volverá a aparecer el panel Add test group details (Agregar detalles del grupo de prueba) con su configuración de prueba identificada.

  12. En el cuadro Destinos, seleccione Add destinations (Agregar destinos). Aparecerá el panel Add Destinations (Agregar destinos).

  13. En la pestaña Puntos de conexión de Azure, seleccione Subred, asegúrese de que la suscripción esté seleccionada y, después, seleccione FrontendSubnet en la lista.

  14. Seleccione Agregar extremos. Volverá a aparecer el panel Add test group details (Agregar detalles del grupo de prueba) con el objeto FrontendSubnet identificado como el destino.

  15. En la parte inferior del panel, seleccione Agregar grupo de prueba. Aparece la página Crear un monitor de conexión.

  16. En la pestaña Grupos de prueba, observe que el grupo de prueba aparece con el origen como back-end y el destino como front-end.

  17. Seleccione Revisar y crear y Crear.

Si la prueba no aparece en el panel Connection Monitor, seleccione el botón Actualizar. Los resultados de Back-to-front-HTTP-test deberían reflejar que, como el NSG está asociado a la subred de back-end, el tráfico fluye sin incidencias desde la máquina virtual de back-end hasta la de front-end.

Uso de Connection Monitor para ejecutar pruebas desde el front-end al back-end

Ejecute la misma prueba en la dirección contraria. Ahora se configurará una prueba en Connection Monitor. Para empezar, cree una prueba desde la máquina virtual de front-end hasta la de back-end.

  1. En el panel Connection Monitor, seleccione Crear.

  2. En la pestaña Aspectos básicos, escriba los valores siguientes para cada opción.

    Configuración Value
    Nombre del monitor de conexión Front-to-back-HTTP-test
    Suscripción Seleccione la suscripción en la lista desplegable.
    Region Seleccione la región de Azure en la que haya implementado los recursos.
  3. Seleccione Siguiente: Grupos de prueba. Aparecerá el panel Add test group details (Agregar detalles del grupo de prueba).

  4. En Nombre del grupo de prueba, escriba Front-to-back-HTTP-test-group y, en el cuadro Orígenes, seleccione Agregar orígenes. Aparecerá el panel Agregar orígenes.

  5. En la pestaña Puntos de conexión de Azure, seleccione Subred, asegúrese de que la suscripción esté seleccionada y, después, seleccione FrontSubnet en la lista.

  6. Seleccione Agregar extremos. En el cuadro Orígenes con BackendSubnet identificado como origen. Seleccione este punto de conexión, seleccione Editar, cambie el nombre por FrontendSubnet y, después, seleccione Guardar.

  7. En el cuadro Configuraciones de prueba, seleccione Agregar configuración de prueba. Aparecerá el panel Agregar configuración de prueba.

  8. En la pestaña Nueva configuración, escriba los valores siguientes para cada opción.

    Configuración Value
    Nombre de la configuración de prueba Front-to-back-HTTP-test-configuration
    Protocolo HTTP
    Puerto de destino 80
    Frecuencia de las pruebas Cada 30 segundos
    Acepte los valores predeterminados para las opciones restantes
  9. Seleccione Agregar configuración de prueba. Volverá a aparecer el panel Add test group details (Agregar detalles del grupo de prueba) con su configuración de prueba identificada.

  10. En el cuadro Destinos, seleccione Add destinations (Agregar destinos). Aparecerá el panel Add Destinations (Agregar destinos).

  11. En la pestaña Puntos de conexión de Azure, seleccione Subred, asegúrese de que la suscripción esté seleccionada y, después, seleccione BackendSubnet en la lista.

  12. Seleccione Agregar extremos. Volverá a aparecer el panel Agregar detalles del grupo de prueba con el objeto BackendSubnet identificado como el origen.

  13. En la parte inferior del panel, seleccione Agregar grupo de prueba. Volverá a aparecer el panel Crear un monitor de conexión.

  14. En la pestaña Grupos de prueba, fíjese en que ahora aparece Front-to-back-HTTP-test-group.

  15. Seleccione Revisar y crear y Crear.

Si la prueba no aparece en el panel Connection Monitor, seleccione el botón Actualizar. Los resultados de Front-to-back-HTTP-test deberían reflejar que, como el NSG está asociado a la subred back-end, no fluye tráfico alguno desde la máquina virtual de front-end a la de back-end.

Uso de Comprobación del flujo de IP para probar la conexión

Vamos a usar la herramienta Comprobación del flujo de IP para obtener más información.

  1. Seleccione Network Watcher y, en el menú de recursos de Herramientas de diagnóstico de red, seleccione Comprobación del flujo de IP.

  2. Configure la prueba especificando los siguientes valores para cada opción y, a continuación, seleccione Comprobar.

    Configuración Value
    Suscripción Seleccione la suscripción.
    Resource group Seleccione su grupo de recursos.
    Máquina virtual BackendVM
    Interfaz de red BackendVMVMNic
    Protocolo TCP
    Dirección Entrante
    Dirección IP local 10.10.2.4
    Puerto local 3389
    IP remota 10.10.1.4
    Puerto remoto 3389

    Screenshot showing an IP flow test.

  3. El resultado muestra Acceso denegado debido al NSG y las reglas de seguridad.

En este ejercicio, ha usado correctamente las herramientas de Network Watcher para detectar el problema de conectividad entre las dos subredes. La comunicación se permite en una dirección, pero se bloquea en la otra debido a las reglas del grupo de seguridad de red.