|
1 | 1 | ---
|
2 | 2 | title: Set up a GNS3 networking lab
|
3 | 3 | titleSuffix: Azure Lab Services
|
4 |
| -description: Learn how to set up a lab using Azure Lab Services to teach networking with GNS3. |
| 4 | +description: Learn how to set up a lab using Azure Lab Services to teach networking with GNS3. Emulate, configure, test, and troubleshoot networks using GNS3. |
5 | 5 | services: lab-services
|
6 | 6 | ms.service: lab-services
|
7 |
| -author: ntrogh |
8 |
| -ms.author: nicktrog |
| 7 | +author: RoseHJM |
| 8 | +ms.author: rosemalcolm |
9 | 9 | ms.topic: how-to
|
10 |
| -ms.date: 04/24/2023 |
| 10 | +ms.date: 03/06/2024 |
| 11 | +#customer intent: As an educator, I want to create lab virtual machines with GNS3 so that students can learn about networking with GNS3 in a standard configuration. |
11 | 12 | ---
|
12 | 13 |
|
13 | 14 | # Set up a lab to teach a networking class with GNS3 in Azure Lab Services
|
14 | 15 |
|
15 |
| -[!INCLUDE [preview note](./includes/lab-services-new-update-focused-article.md)] |
16 |
| - |
17 |
| -This article shows you how to set up a class for emulating, configuring, testing, and troubleshooting networks using [GNS3](https://www.gns3.com/) software. |
| 16 | +This article shows you how to set up a class to emulate, configure, test, and troubleshoot networks with GNS3 software in Azure Lab Services. |
18 | 17 |
|
19 |
| -This article has two main sections. The first section covers how to create the lab. The second section covers how to create the [template machine](./classroom-labs-concepts.md#template-virtual-machine) with nested virtualization enabled and with GNS3 installed and configured. |
| 18 | +This article has two sections. The first section covers how to create the lab. The second section covers how to configure the template machine with nested virtualization enabled and with GNS3 installed and configured. |
20 | 19 |
|
21 | 20 | ## Prerequisites
|
22 | 21 |
|
23 |
| -[!INCLUDE [must have subscription](./includes/lab-services-class-type-subscription.md)] |
| 22 | +- [!INCLUDE [must have subscription](./includes/lab-services-class-type-subscription.md)] |
24 | 23 |
|
25 |
| -[!INCLUDE [must have lab plan](./includes/lab-services-class-type-lab-plan.md)] |
| 24 | +- [!INCLUDE [must have lab plan](./includes/lab-services-class-type-lab-plan.md)] |
26 | 25 |
|
27 |
| -## Lab configuration |
| 26 | +## Configure your lab |
28 | 27 |
|
29 |
| -[!INCLUDE [create lab](./includes/lab-services-class-type-lab.md)] Use the following settings when creating the lab. |
| 28 | +[!INCLUDE [create lab](./includes/lab-services-class-type-lab.md)] Use the following settings when creating the lab. |
30 | 29 |
|
31 | 30 | | Lab settings | Value |
|
32 | 31 | | ------------ | ------------------ |
|
33 | 32 | | Virtual machine (VM) size | Medium (Nested Virtualization) |
|
34 | 33 | | VM image | Windows 10 Pro, Version 1909 |
|
35 | 34 |
|
36 |
| -## Template machine configuration |
| 35 | +[!INCLUDE [preview note](./includes/lab-services-new-update-focused-article.md)] |
| 36 | + |
| 37 | +## Configure your template virtual machine |
37 | 38 |
|
38 | 39 | [!INCLUDE [configure template vm](./includes/lab-services-class-type-template-vm.md)]
|
39 | 40 |
|
40 | 41 | To configure the template VM, complete the following tasks:
|
41 | 42 |
|
42 | 43 | 1. Prepare the template machine for nested virtualization.
|
43 |
| -1. Install GNS3. |
44 |
| -1. Create nested GNS3 VM in Hyper-V. |
| 44 | +1. Install [GNS3](https://www.gns3.com/). |
| 45 | +1. Create a nested GNS3 VM in Hyper-V. |
45 | 46 | 1. Configure GNS3 to use Windows Hyper-V VM.
|
46 | 47 | 1. Add appropriate appliances.
|
47 | 48 | 1. Publish the template.
|
48 | 49 |
|
49 | 50 | ### Prepare template machine for nested virtualization
|
50 | 51 |
|
51 |
| -To prepare the template virtual machine for nested virtualization, follow the detailed steps in [enable nested virtualization](how-to-enable-nested-virtualization-template-vm.md). |
| 52 | +To prepare the template virtual machine for nested virtualization, follow the detailed steps in [Enable Nested Virtualization](how-to-enable-nested-virtualization-template-vm-using-script.md). |
52 | 53 |
|
53 |
| -If you created a lab template VM with a non-admin account, add the non-admin account to the **Hyper-V Administrators** group. For more information about using nested virtualization with a non-admin account, see [non-admin user best practices](concept-nested-virtualization-template-vm.md#non-admin-user). |
| 54 | +If you create a lab template VM with an account without administrator privileges, add that account to the **Hyper-V Administrators** group. For more information about using nested virtualization with such an account, see [these best practices](concept-nested-virtualization-template-vm.md#non-admin-user). |
54 | 55 |
|
55 | 56 | ### Install GNS3
|
56 | 57 |
|
57 |
| -1. Connect to the template VM by using remote desktop. |
| 58 | +1. Connect to the template VM by using Remote Desktop. |
58 | 59 |
|
59 |
| -1. Follow the detailed instructions on the GNS3 website, to [install GNS3 on Windows](https://docs.gns3.com/docs/getting-started/installation/windows). |
| 60 | +1. To install GNS3 on Windows, follow the detailed instructions on [the GNS3 website](https://docs.gns3.com/docs/getting-started/installation/windows). |
60 | 61 |
|
61 |
| - 1. Make sure to select **GNS3 VM** in the component dialog: |
| 62 | + 1. Make sure to select **GNS3 VM** in the **Choose Components** page: |
62 | 63 |
|
63 |
| - :::image type="content" source="./media/class-type-networking-gns3/gns3-select-vm.png" alt-text="Screenshot that shows the Choose Components page in the GNS3 installation wizard, with the GNS3 VM option selected."::: |
| 64 | + :::image type="content" source="./media/class-type-networking-gns3/gns3-select-vm.png" alt-text="Screenshot that shows the Choose Components page in the GNS3 installation wizard, with the GNS3 VM option selected." lightbox="./media/class-type-networking-gns3/gns3-select-vm.png"::: |
64 | 65 |
|
65 | 66 | 1. On the **GNS3 VM** page, select the **Hyper-V** option:
|
66 | 67 |
|
67 |
| - :::image type="content" source="./media/class-type-networking-gns3/gns3-vm-hyper-v.png" alt-text="Screenshot that shows the GNS3 VM page in the GNS3 installation wizard, with the Hyper-V option selected."::: |
| 68 | + :::image type="content" source="./media/class-type-networking-gns3/gns3-vm-hyper-v.png" alt-text="Screenshot that shows the GNS3 VM page in the GNS3 installation wizard, with the Hyper-V option selected." lightbox="./media/class-type-networking-gns3/gns3-vm-hyper-v.png"::: |
68 | 69 |
|
69 | 70 | When you select the Hyper-V option, the installer downloads the PowerShell script and VHD files to create the GNS3 VM in the Hyper-V manager.
|
70 | 71 |
|
71 |
| - 1. Continue the installation with the default values. |
| 72 | +1. Continue the installation with the default values. |
72 | 73 |
|
73 | 74 | > [!IMPORTANT]
|
74 | 75 | > After the setup completes, don't start GNS3.
|
75 | 76 |
|
76 | 77 | ### Create GNS3 VM
|
77 | 78 |
|
78 |
| -When the setup finishes, a zip file `GNS3.VM.Hyper-V.2.2.17.zip` is downloaded to the same folder as the installation file. The zip file contains the virtual disks and the PowerShell script to create the Hyper-V virtual machine. |
| 79 | +When the setup finishes, you see a zip file *GNS3.VM.Hyper-V.2.2.x.zip* in the same folder as the installation file. The zip file contains the virtual disks and the PowerShell script to create the Hyper-V virtual machine. |
79 | 80 |
|
80 | 81 | To create the GNS 3 VM:
|
81 | 82 |
|
82 |
| -1. Connect to the template VM by using remote desktop. |
| 83 | +1. Connect to the template VM by using Remote Desktop. |
83 | 84 |
|
84 |
| -1. Extract all files in the `GNS3.VM.Hyper-V.2.2.17.zip` file. If the template VM has a non-admin account for lab users, extract the files in a location accessible to the non-admin account. |
| 85 | +1. Extract all files in the *GNS3.VM.Hyper-V.2.2.x.zip* file. If the template VM has a non-admin account for lab users, extract the files in a location accessible to the non-admin account. |
85 | 86 |
|
86 |
| -1. Right-select the `create-vm.ps1` PowerShell script, and then select **Run with PowerShell**. |
| 87 | +1. Right-select the *create-vm.ps1* PowerShell script, and then select **Run with PowerShell**. |
87 | 88 |
|
88 |
| -1. When the `Execution Policy Change` request shows, enter **Y** to execute the script. |
| 89 | +1. When the `Execution Policy Change` request appears, enter **Y** to execute the script. |
89 | 90 |
|
90 |
| - :::image type="content" source="./media/class-type-networking-gns3/powershell-execution-policy-change.png" alt-text="Screenshot that shows the PowerShell command line, asking for an Execution Policy change."::: |
| 91 | + :::image type="content" source="./media/class-type-networking-gns3/powershell-execution-policy-change.png" alt-text="Screenshot that shows the PowerShell command line, asking for an Execution Policy change." lightbox="./media/class-type-networking-gns3/powershell-execution-policy-change.png"::: |
91 | 92 |
|
92 | 93 | 1. After the script completes, confirm that the **GNS3 VM** virtual machine is available in Hyper-V Manager.
|
93 | 94 |
|
94 | 95 | ### Configure GNS3 to use Hyper-V VM
|
95 | 96 |
|
96 |
| -Now that you installed GNS3, and added the GNS3 VM, configure GNS 3 to use the Hyper-V virtual machine. |
| 97 | +After you install GNS3 and add the GNS3 VM, configure GNS 3 to use the Hyper-V virtual machine. |
97 | 98 |
|
98 |
| -1. Connect to the template VM by using remote desktop. |
| 99 | +1. Connect to the template VM by using Remote Desktop. |
99 | 100 |
|
100 |
| -1. Start GNS3. The [GNS3 Setup wizard](https://docs.gns3.com/docs/getting-started/setup-wizard-gns3-vm#local-gns3-vm-setup-wizard) starts automatically. |
| 101 | +1. Start GNS3. The [GNS3 Setup wizard](https://docs.gns3.com/docs/getting-started/setup-wizard-gns3-vm#local-gns3-vm-setup-wizard) opens. |
101 | 102 |
|
102 |
| -1. Select the **Run appliances from virtual machine** option, and select **Next**. |
| 103 | +1. Select the **Run appliances from a virtual machine** option, and select **Next**. |
103 | 104 |
|
104 | 105 | 1. Use the default values in the following pages.
|
105 | 106 |
|
106 | 107 | 1. When you get the **VMware vmrun tool cannot be found** error, select **Ok**, and then **Cancel** out of the wizard.
|
107 | 108 |
|
108 |
| - :::image type="content" source="./media/class-type-networking-gns3/gns3-vmware-vmrun-tool-not-found.png" alt-text="Screenshot that shows a VMware error message in the GNS3 Setup wizard."::: |
| 109 | + :::image type="content" source="./media/class-type-networking-gns3/gns3-vmware-vmrun-tool-not-found.png" alt-text="Screenshot that shows a VMware error message in the GNS3 Setup wizard." lightbox="./media/class-type-networking-gns3/gns3-vmware-vmrun-tool-not-found.png"::: |
109 | 110 |
|
110 | 111 | 1. To complete the connection to the Hyper-V VM, select **Edit** > **Preferences** > **GNS3 VM**.
|
111 | 112 |
|
112 |
| -1. Select **Enable the GNS3 VM**, and then select the **Hyper-V** option. |
| 113 | +1. Select **Enable the GNS3 VM**. Then, under **Virtualization engine**, select the **Hyper-V** option. |
| 114 | + |
| 115 | + :::image type="content" source="./media/class-type-networking-gns3/gns3-preference-vm.png" alt-text="Screenshot that shows the GNS3 VM preferences page, showing the GNS3 VM option enabled, and Hyper-V selected." lightbox="./media/class-type-networking-gns3/gns3-preference-vm.png"::: |
113 | 116 |
|
114 |
| - :::image type="content" source="./media/class-type-networking-gns3/gns3-preference-vm.png" alt-text="Screenshot that shows the GNS3 VM preferences page, showing the GNS3 VM option enabled, and Hyper-V selected."::: |
| 117 | +1. Select **OK**. |
115 | 118 |
|
116 | 119 | ### Add appropriate appliances
|
117 | 120 |
|
118 |
| -Next, you can add appliances for the class. Follow the detailed steps from the GNS3 documentation to [install appliances from the GNS3 marketplace](https://docs.gns3.com/docs/using-gns3/beginners/install-from-marketplace). |
| 121 | +Next, you can add appliances for the class. To install appliances from the GNS3 marketplace, follow the detailed steps from [the GNS3 documentation](https://docs.gns3.com/docs/using-gns3/beginners/install-from-marketplace). |
119 | 122 |
|
120 |
| -If the template VM has a non-admin account for lab users, install the appliances to a location accessible to the non-admin account. Optionally, you can set the preferences for the admin and non-admin user to look for appliances and projects in a location accessible by both users. |
| 123 | +If the template VM has a non-admin account for lab users, install the appliances to a location accessible to the account. Optionally, you can set the preferences for the administrator and non-admin user to look for appliances and projects in a location accessible by both users. |
121 | 124 |
|
122 | 125 | ### Prepare to publish template
|
123 | 126 |
|
124 |
| -Now that you set up the template virtual machine, verify the following key points before you publish the template: |
| 127 | +After you set up the template virtual machine, verify the following key points before you publish the template: |
125 | 128 |
|
126 |
| -- Make sure that the GNS3 VM is shut down or turned off. Publishing while the VM is still running, corrupts the virtual machine. |
| 129 | +- Make sure that the GNS3 VM is shut down or turned off. Publishing while the VM is still running corrupts the virtual machine. |
127 | 130 | - Stop GNS3. Publishing while GNS3 is running can lead to unintended side effects.
|
128 | 131 | - Clean up any installation files or other unnecessary files from the template VM.
|
129 | 132 |
|
130 |
| ->[!IMPORTANT] |
131 |
| ->Publishing while the VM is still running, corrupts the template virtual machine and creates unusable lab virtual machines. |
| 133 | +> [!IMPORTANT] |
| 134 | +> Publishing while the VM is still running corrupts the template virtual machine and creates unusable lab virtual machines. |
132 | 135 |
|
133 |
| -## Cost |
| 136 | +## Estimate cost |
134 | 137 |
|
135 | 138 | This section provides a cost estimate for running this class for 25 lab users. There are 20 hours of scheduled class time. Also, each user gets 10 hours quota for homework or assignments outside scheduled class time. The virtual machine size we chose is **Large (Nested Virtualization)**, which is 84 lab units.
|
136 | 139 |
|
137 | 140 | - 25 lab users × (20 scheduled hours + 10 quota hours) × 84 lab units
|
138 | 141 |
|
139 | 142 | > [!IMPORTANT]
|
140 |
| -> The cost estimate is for example purposes only. For current pricing information, see [Azure Lab Services pricing](https://azure.microsoft.com/pricing/details/lab-services/). |
| 143 | +> The cost estimate is for example purposes only. For current pricing information, see [Azure Lab Services pricing](https://azure.microsoft.com/pricing/details/lab-services/). |
141 | 144 |
|
142 |
| -## Next steps |
| 145 | +## Related content |
143 | 146 |
|
144 | 147 | [!INCLUDE [next steps for class types](./includes/lab-services-class-type-next-steps.md)]
|
0 commit comments