gns3-server 3.0.0b2__py3-none-any.whl → 3.0.0rc1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of gns3-server might be problematic. Click here for more details.
- {gns3_server-3.0.0b2.dist-info → gns3_server-3.0.0rc1.dist-info}/METADATA +32 -32
- {gns3_server-3.0.0b2.dist-info → gns3_server-3.0.0rc1.dist-info}/RECORD +79 -62
- {gns3_server-3.0.0b2.dist-info → gns3_server-3.0.0rc1.dist-info}/WHEEL +1 -1
- gns3server/api/routes/compute/dynamips_nodes.py +2 -2
- gns3server/api/routes/controller/images.py +4 -2
- gns3server/api/routes/controller/projects.py +2 -0
- gns3server/appliances/arista-veos.gns3a +178 -2
- gns3server/appliances/aruba-arubaoscx.gns3a +39 -0
- gns3server/appliances/asterfusion-vAsterNOS.gns3a +2 -2
- gns3server/appliances/cisco-c8000v.gns3a +14 -1
- gns3server/appliances/cisco-iou-l2.gns3a +2 -2
- gns3server/appliances/cisco-iou-l3.gns3a +2 -2
- gns3server/appliances/debian.gns3a +28 -0
- gns3server/appliances/fortiadc.gns3a +46 -4
- gns3server/appliances/fortianalyzer.gns3a +42 -0
- gns3server/appliances/fortiauthenticator.gns3a +58 -2
- gns3server/appliances/fortigate.gns3a +42 -0
- gns3server/appliances/fortimanager.gns3a +42 -0
- gns3server/appliances/fortiweb.gns3a +56 -0
- gns3server/appliances/juniper-junos-space.gns3a +3 -2
- gns3server/appliances/juniper-vmx-legacy.gns3a +1 -1
- gns3server/appliances/juniper-vmx-vcp.gns3a +1 -1
- gns3server/appliances/juniper-vmx-vfp.gns3a +2 -1
- gns3server/appliances/juniper-vqfx-pfe.gns3a +1 -1
- gns3server/appliances/juniper-vqfx-re.gns3a +2 -1
- gns3server/appliances/juniper-vrr.gns3a +1 -1
- gns3server/appliances/juniper-vsrx.gns3a +2 -1
- gns3server/appliances/openvswitch-management.gns3a +1 -1
- gns3server/appliances/opnsense.gns3a +2 -2
- gns3server/appliances/pan-vm-fw.gns3a +26 -0
- gns3server/appliances/security-onion.gns3a +27 -3
- gns3server/appliances/ubuntu-docker.gns3a +1 -1
- gns3server/compute/docker/__init__.py +9 -3
- gns3server/compute/dynamips/__init__.py +4 -0
- gns3server/compute/iou/iou_vm.py +2 -1
- gns3server/compute/qemu/qemu_vm.py +26 -10
- gns3server/config_samples/gns3_server.conf +13 -3
- gns3server/configs/iou_l2_base_startup-config.txt +1 -1
- gns3server/configs/iou_l3_base_startup-config.txt +1 -1
- gns3server/controller/__init__.py +12 -7
- gns3server/controller/appliance_manager.py +7 -2
- gns3server/controller/export_project.py +9 -9
- gns3server/controller/import_project.py +3 -3
- gns3server/controller/project.py +8 -4
- gns3server/controller/snapshot.py +5 -10
- gns3server/controller/symbol_themes.py +7 -0
- gns3server/controller/topology.py +30 -1
- gns3server/controller/udp_link.py +1 -1
- gns3server/crash_report.py +1 -1
- gns3server/schemas/config.py +3 -0
- gns3server/schemas/controller/templates/__init__.py +0 -1
- gns3server/services/authentication.py +2 -2
- gns3server/services/templates.py +1 -1
- gns3server/static/web-ui/index.html +3 -3
- gns3server/static/web-ui/main.4185a8e61824af0d.js +1 -0
- gns3server/symbols/affinity/circle/blue/nat.svg +60 -0
- gns3server/symbols/affinity/circle/blue/nat2.svg +55 -0
- gns3server/symbols/affinity/circle/gray/nat.svg +60 -0
- gns3server/symbols/affinity/circle/gray/nat2.svg +55 -0
- gns3server/symbols/affinity/circle/green/nat.svg +60 -0
- gns3server/symbols/affinity/circle/green/nat2.svg +55 -0
- gns3server/symbols/affinity/circle/red/nat.svg +60 -0
- gns3server/symbols/affinity/circle/red/nat2.svg +55 -0
- gns3server/symbols/affinity/square/blue/nat.svg +58 -0
- gns3server/symbols/affinity/square/blue/nat2.svg +74 -0
- gns3server/symbols/affinity/square/gray/nat.svg +58 -0
- gns3server/symbols/affinity/square/gray/nat2.svg +74 -0
- gns3server/symbols/affinity/square/green/nat.svg +58 -0
- gns3server/symbols/affinity/square/green/nat2.svg +74 -0
- gns3server/symbols/affinity/square/red/nat.svg +58 -0
- gns3server/symbols/affinity/square/red/nat2.svg +74 -0
- gns3server/symbols/classic/nat.svg +207 -0
- gns3server/utils/__init__.py +20 -0
- gns3server/utils/hostname.py +53 -0
- gns3server/utils/images.py +3 -5
- gns3server/version.py +1 -1
- gns3server/static/web-ui/main.8e8e3d55e78d84fc.js +0 -1
- {gns3_server-3.0.0b2.dist-info → gns3_server-3.0.0rc1.dist-info}/LICENSE +0 -0
- {gns3_server-3.0.0b2.dist-info → gns3_server-3.0.0rc1.dist-info}/entry_points.txt +0 -0
- {gns3_server-3.0.0b2.dist-info → gns3_server-3.0.0rc1.dist-info}/top_level.txt +0 -0
|
@@ -28,6 +28,13 @@
|
|
|
28
28
|
"kvm": "allow"
|
|
29
29
|
},
|
|
30
30
|
"images": [
|
|
31
|
+
{
|
|
32
|
+
"filename": "FGT_VM64_KVM-v7.4.4.F-build2573-FORTINET.out.kvm.qcow2",
|
|
33
|
+
"version": "7.4.4",
|
|
34
|
+
"md5sum": "dfe0e78827ec728631539669001bb23f",
|
|
35
|
+
"filesize": 100728832,
|
|
36
|
+
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
|
37
|
+
},
|
|
31
38
|
{
|
|
32
39
|
"filename": "FGT_VM64_KVM-v7.4.3.F-build2573-FORTINET.out.kvm.qcow2",
|
|
33
40
|
"version": "7.4.3",
|
|
@@ -42,6 +49,13 @@
|
|
|
42
49
|
"filesize": 116064256,
|
|
43
50
|
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
|
44
51
|
},
|
|
52
|
+
{
|
|
53
|
+
"filename": "FGT_VM64_KVM-v7.2.8.M-build1639-FORTINET.out.kvm_fortios.qcow2",
|
|
54
|
+
"version": "7.2.8",
|
|
55
|
+
"md5sum": "5c8fd4baf80aeb2999d4be5a9c49eb3d",
|
|
56
|
+
"filesize": 89980928,
|
|
57
|
+
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
|
58
|
+
},
|
|
45
59
|
{
|
|
46
60
|
"filename": "FGT_VM64_KVM-v7.2.7.M-build1577-FORTINET.out.kvm.qcow2",
|
|
47
61
|
"version": "7.2.7",
|
|
@@ -77,6 +91,13 @@
|
|
|
77
91
|
"filesize": 86704128,
|
|
78
92
|
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
|
79
93
|
},
|
|
94
|
+
{
|
|
95
|
+
"filename": "FGT_VM64_KVM-v7.0.15.M-build0601-FORTINET.out.kvm.qcow2",
|
|
96
|
+
"version": "7.0.15",
|
|
97
|
+
"md5sum": "423f50378b7e93098ab765c3dd3a788f",
|
|
98
|
+
"filesize": 77398016,
|
|
99
|
+
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
|
100
|
+
},
|
|
80
101
|
{
|
|
81
102
|
"filename": "FGT_VM64_KVM-v7.0.14.M-build0601-FORTINET.out.kvm.qcow2",
|
|
82
103
|
"version": "7.0.14",
|
|
@@ -367,6 +388,13 @@
|
|
|
367
388
|
}
|
|
368
389
|
],
|
|
369
390
|
"versions": [
|
|
391
|
+
{
|
|
392
|
+
"name": "7.4.4",
|
|
393
|
+
"images": {
|
|
394
|
+
"hda_disk_image": "FGT_VM64_KVM-v7.4.4.F-build2573-FORTINET.out.kvm.qcow2",
|
|
395
|
+
"hdb_disk_image": "empty30G.qcow2"
|
|
396
|
+
}
|
|
397
|
+
},
|
|
370
398
|
{
|
|
371
399
|
"name": "7.4.3",
|
|
372
400
|
"images": {
|
|
@@ -381,6 +409,13 @@
|
|
|
381
409
|
"hdb_disk_image": "empty30G.qcow2"
|
|
382
410
|
}
|
|
383
411
|
},
|
|
412
|
+
{
|
|
413
|
+
"name": "7.2.8",
|
|
414
|
+
"images": {
|
|
415
|
+
"hda_disk_image": "FGT_VM64_KVM-v7.2.8.M-build1639-FORTINET.out.kvm_fortios.qcow2",
|
|
416
|
+
"hdb_disk_image": "empty30G.qcow2"
|
|
417
|
+
}
|
|
418
|
+
},
|
|
384
419
|
{
|
|
385
420
|
"name": "7.2.7",
|
|
386
421
|
"images": {
|
|
@@ -416,6 +451,13 @@
|
|
|
416
451
|
"hdb_disk_image": "empty30G.qcow2"
|
|
417
452
|
}
|
|
418
453
|
},
|
|
454
|
+
{
|
|
455
|
+
"name": "7.0.15",
|
|
456
|
+
"images": {
|
|
457
|
+
"hda_disk_image": "FGT_VM64_KVM-v7.0.15.M-build0601-FORTINET.out.kvm.qcow2",
|
|
458
|
+
"hdb_disk_image": "empty30G.qcow2"
|
|
459
|
+
}
|
|
460
|
+
},
|
|
419
461
|
{
|
|
420
462
|
"name": "7.0.14",
|
|
421
463
|
"images": {
|
|
@@ -29,6 +29,13 @@
|
|
|
29
29
|
"kvm": "allow"
|
|
30
30
|
},
|
|
31
31
|
"images": [
|
|
32
|
+
{
|
|
33
|
+
"filename": "FMG_VM64_KVM-v7.4.3-build2487-FORTINET.out.kvm.qcow2",
|
|
34
|
+
"version": "7.4.23",
|
|
35
|
+
"md5sum": "b01d9f86aa27c538407d518df1326863",
|
|
36
|
+
"filesize": 346107904,
|
|
37
|
+
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
|
38
|
+
},
|
|
32
39
|
{
|
|
33
40
|
"filename": "FMG_VM64_KVM-v7.4.2-build2397-FORTINET.out.kvm.qcow2",
|
|
34
41
|
"version": "7.4.2",
|
|
@@ -43,6 +50,13 @@
|
|
|
43
50
|
"filesize": 309387264,
|
|
44
51
|
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
|
45
52
|
},
|
|
53
|
+
{
|
|
54
|
+
"filename": "FMG_VM64_KVM-v7.2.5-build1574-FORTINET.out.kvm.qcow2",
|
|
55
|
+
"version": "7.2.5",
|
|
56
|
+
"md5sum": "754326845096afd909ec45d98f8d5a83",
|
|
57
|
+
"filesize": 278401024,
|
|
58
|
+
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
|
59
|
+
},
|
|
46
60
|
{
|
|
47
61
|
"filename": "FMG_VM64_KVM-v7.2.4-build1460-FORTINET.out.kvm.qcow2",
|
|
48
62
|
"version": "7.2.4",
|
|
@@ -64,6 +78,13 @@
|
|
|
64
78
|
"filesize": 242814976,
|
|
65
79
|
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
|
66
80
|
},
|
|
81
|
+
{
|
|
82
|
+
"filename": "FMG_VM64_KVM-v7.0.12-build0623-FORTINET.out.kvm.qcow2",
|
|
83
|
+
"version": "7.0.12",
|
|
84
|
+
"md5sum": "5b6f6a2b8bc00e56337aa7023a9025cf",
|
|
85
|
+
"filesize": 249520128,
|
|
86
|
+
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
|
87
|
+
},
|
|
67
88
|
{
|
|
68
89
|
"filename": "FMG_VM64_KVM-v7.0.11-build0595-FORTINET.out.kvm.qcow2",
|
|
69
90
|
"version": "7.0.11",
|
|
@@ -256,6 +277,13 @@
|
|
|
256
277
|
}
|
|
257
278
|
],
|
|
258
279
|
"versions": [
|
|
280
|
+
{
|
|
281
|
+
"name": "7.4.3",
|
|
282
|
+
"images": {
|
|
283
|
+
"hda_disk_image": "FMG_VM64_KVM-v7.4.3-build2487-FORTINET.out.kvm.qcow2",
|
|
284
|
+
"hdb_disk_image": "empty30G.qcow2"
|
|
285
|
+
}
|
|
286
|
+
},
|
|
259
287
|
{
|
|
260
288
|
"name": "7.4.2",
|
|
261
289
|
"images": {
|
|
@@ -270,6 +298,13 @@
|
|
|
270
298
|
"hdb_disk_image": "empty30G.qcow2"
|
|
271
299
|
}
|
|
272
300
|
},
|
|
301
|
+
{
|
|
302
|
+
"name": "7.2.5",
|
|
303
|
+
"images": {
|
|
304
|
+
"hda_disk_image": "FMG_VM64_KVM-v7.2.5-build1574-FORTINET.out.kvm.qcow2",
|
|
305
|
+
"hdb_disk_image": "empty30G.qcow2"
|
|
306
|
+
}
|
|
307
|
+
},
|
|
273
308
|
{
|
|
274
309
|
"name": "7.2.4",
|
|
275
310
|
"images": {
|
|
@@ -291,6 +326,13 @@
|
|
|
291
326
|
"hdb_disk_image": "empty30G.qcow2"
|
|
292
327
|
}
|
|
293
328
|
},
|
|
329
|
+
{
|
|
330
|
+
"name": "7.0.12",
|
|
331
|
+
"images": {
|
|
332
|
+
"hda_disk_image": "FMG_VM64_KVM-v7.0.12-build0623-FORTINET.out.kvm.qcow2",
|
|
333
|
+
"hdb_disk_image": "empty30G.qcow2"
|
|
334
|
+
}
|
|
335
|
+
},
|
|
294
336
|
{
|
|
295
337
|
"name": "7.0.11",
|
|
296
338
|
"images": {
|
|
@@ -28,6 +28,27 @@
|
|
|
28
28
|
"kvm": "allow"
|
|
29
29
|
},
|
|
30
30
|
"images": [
|
|
31
|
+
{
|
|
32
|
+
"filename": "FWB_KVM-v7.6.0.F-build0962-FORTINET.out.kvm_boot.qcow2",
|
|
33
|
+
"version": "7.6.0",
|
|
34
|
+
"md5sum": "e94aa4af7ed0a12bd6084f0d74a2a96e",
|
|
35
|
+
"filesize": 329187840,
|
|
36
|
+
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"filename": "FWB_KVM-v7.4.3-build0638-FORTINET.out.kvm_boot.qcow2",
|
|
40
|
+
"version": "7.4.3",
|
|
41
|
+
"md5sum": "3c0ac11a6d80a319a4fe460aff5bc66c",
|
|
42
|
+
"filesize": 303497728,
|
|
43
|
+
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"filename": "FWB_KVM-v7.2.8-build0400-FORTINET.out.kvm_boot.qcow2",
|
|
47
|
+
"version": "7.2.8",
|
|
48
|
+
"md5sum": "367307242e6855dc190df089d196e712",
|
|
49
|
+
"filesize": 257950208,
|
|
50
|
+
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
|
51
|
+
},
|
|
31
52
|
{
|
|
32
53
|
"filename": "FWB_KVM-v7.2.1-build0330-FORTINET.out.kvm.boot.qcow2",
|
|
33
54
|
"version": "7.2.1",
|
|
@@ -35,6 +56,13 @@
|
|
|
35
56
|
"filesize": 260506112,
|
|
36
57
|
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
|
37
58
|
},
|
|
59
|
+
{
|
|
60
|
+
"filename": "FWB_KVM-v7.0.10-build0166-FORTINET.out.kvm_boot.qcow2",
|
|
61
|
+
"version": "7.0.10",
|
|
62
|
+
"md5sum": "ff9d4b827c4e41c1b38e59359ba05487",
|
|
63
|
+
"filesize": 257556992,
|
|
64
|
+
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
|
65
|
+
},
|
|
38
66
|
{
|
|
39
67
|
"filename": "FWB_KVM-v7.0.6-build0140-FORTINET.out.kvm.boot.qcow2",
|
|
40
68
|
"version": "7.0.6",
|
|
@@ -150,6 +178,27 @@
|
|
|
150
178
|
}
|
|
151
179
|
],
|
|
152
180
|
"versions": [
|
|
181
|
+
{
|
|
182
|
+
"name": "7.6.0",
|
|
183
|
+
"images": {
|
|
184
|
+
"hda_disk_image": "FWB_KVM-v7.6.0.F-build0962-FORTINET.out.kvm_boot.qcow2",
|
|
185
|
+
"hdb_disk_image": "empty30G.qcow2"
|
|
186
|
+
}
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"name": "7.4.3",
|
|
190
|
+
"images": {
|
|
191
|
+
"hda_disk_image": "FWB_KVM-v7.4.3-build0638-FORTINET.out.kvm_boot.qcow2",
|
|
192
|
+
"hdb_disk_image": "empty30G.qcow2"
|
|
193
|
+
}
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"name": "7.2.8",
|
|
197
|
+
"images": {
|
|
198
|
+
"hda_disk_image": "FWB_KVM-v7.2.8-build0400-FORTINET.out.kvm_boot.qcow2",
|
|
199
|
+
"hdb_disk_image": "empty30G.qcow2"
|
|
200
|
+
}
|
|
201
|
+
},
|
|
153
202
|
{
|
|
154
203
|
"name": "7.2.1",
|
|
155
204
|
"images": {
|
|
@@ -157,6 +206,13 @@
|
|
|
157
206
|
"hdb_disk_image": "empty30G.qcow2"
|
|
158
207
|
}
|
|
159
208
|
},
|
|
209
|
+
{
|
|
210
|
+
"name": "7.0.10",
|
|
211
|
+
"images": {
|
|
212
|
+
"hda_disk_image": "FWB_KVM-v7.0.10-build0166-FORTINET.out.kvm_boot.qcow2",
|
|
213
|
+
"hdb_disk_image": "empty30G.qcow2"
|
|
214
|
+
}
|
|
215
|
+
},
|
|
160
216
|
{
|
|
161
217
|
"name": "7.0.6",
|
|
162
218
|
"images": {
|
|
@@ -12,18 +12,19 @@
|
|
|
12
12
|
"status": "stable",
|
|
13
13
|
"maintainer": "GNS3 Team",
|
|
14
14
|
"maintainer_email": "developers@gns3.net",
|
|
15
|
-
"usage": "16 GB RAM is the bare minimum; you should use 32/64 GB in production
|
|
15
|
+
"usage": "16 GB RAM is the bare minimum; you should use 32/64 GB in production deployments.\nDefault credentials:\n- CLI: admin / abc123\n- WebUI: super / juniper123",
|
|
16
16
|
"symbol": "juniper-vqfx.svg",
|
|
17
17
|
"port_name_format": "em{0}",
|
|
18
18
|
"qemu": {
|
|
19
19
|
"adapter_type": "e1000",
|
|
20
20
|
"adapters": 4,
|
|
21
21
|
"ram": 16384,
|
|
22
|
+
"cpus": 4,
|
|
22
23
|
"hda_disk_interface": "ide",
|
|
23
24
|
"arch": "x86_64",
|
|
24
25
|
"console_type": "telnet",
|
|
25
26
|
"kvm": "require",
|
|
26
|
-
"options": "-
|
|
27
|
+
"options": "-nographic -machine q35,smbios-entry-point-type=32"
|
|
27
28
|
},
|
|
28
29
|
"images": [
|
|
29
30
|
{
|
|
@@ -20,11 +20,12 @@
|
|
|
20
20
|
"adapter_type": "virtio-net-pci",
|
|
21
21
|
"adapters": 13,
|
|
22
22
|
"ram": 4096,
|
|
23
|
+
"cpus": 4,
|
|
23
24
|
"hda_disk_interface": "ide",
|
|
24
25
|
"arch": "x86_64",
|
|
25
26
|
"console_type": "telnet",
|
|
26
27
|
"kvm": "require",
|
|
27
|
-
"options": "-nographic -enable-kvm -
|
|
28
|
+
"options": "-nographic -enable-kvm -machine q35,smbios-entry-point-type=32"
|
|
28
29
|
},
|
|
29
30
|
"images": [
|
|
30
31
|
{
|
|
@@ -19,11 +19,12 @@
|
|
|
19
19
|
"adapter_type": "virtio-net-pci",
|
|
20
20
|
"adapters": 12,
|
|
21
21
|
"ram": 1024,
|
|
22
|
+
"cpus": 2,
|
|
22
23
|
"hda_disk_interface": "ide",
|
|
23
24
|
"arch": "x86_64",
|
|
24
25
|
"console_type": "telnet",
|
|
25
26
|
"kvm": "require",
|
|
26
|
-
"options": "-nographic -
|
|
27
|
+
"options": "-nographic -machine q35,smbios-entry-point-type=32"
|
|
27
28
|
},
|
|
28
29
|
"images": [
|
|
29
30
|
{
|
|
@@ -19,11 +19,12 @@
|
|
|
19
19
|
"adapter_type": "vmxnet3",
|
|
20
20
|
"adapters": 6,
|
|
21
21
|
"ram": 4096,
|
|
22
|
+
"cpus": 2,
|
|
22
23
|
"hda_disk_interface": "ide",
|
|
23
24
|
"arch": "x86_64",
|
|
24
25
|
"console_type": "telnet",
|
|
25
26
|
"kvm": "require",
|
|
26
|
-
"options": "-
|
|
27
|
+
"options": "-machine q35,smbios-entry-point-type=32"
|
|
27
28
|
},
|
|
28
29
|
"images": [
|
|
29
30
|
{
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
},
|
|
27
27
|
"images": [
|
|
28
28
|
{
|
|
29
|
-
"filename": "OPNsense-24.1-
|
|
29
|
+
"filename": "OPNsense-24.1-nano-amd64.img",
|
|
30
30
|
"version": "24.1",
|
|
31
31
|
"md5sum": "ea8472df2c272419b7834cddaf68048d",
|
|
32
32
|
"filesize": 3221225472,
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
{
|
|
73
73
|
"name": "24.1",
|
|
74
74
|
"images": {
|
|
75
|
-
"hda_disk_image": "OPNsense-24.1-
|
|
75
|
+
"hda_disk_image": "OPNsense-24.1-nano-amd64.img"
|
|
76
76
|
}
|
|
77
77
|
},
|
|
78
78
|
{
|
|
@@ -28,6 +28,20 @@
|
|
|
28
28
|
},
|
|
29
29
|
"images": [
|
|
30
30
|
{
|
|
31
|
+
"filename": "PA-VM-KVM-11.0.0.qcow2",
|
|
32
|
+
"version": "11.0.0",
|
|
33
|
+
"md5sum": "fc54b0e680ca2bcecb5522430e420f06",
|
|
34
|
+
"filesize": 4130865152,
|
|
35
|
+
"download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"filename": "PA-VM-KVM-10.2.3.qcow2",
|
|
39
|
+
"version": "10.2.3",
|
|
40
|
+
"md5sum": "0e7b2a52d1447186d335ef9a1a197c6c",
|
|
41
|
+
"filesize": 5298585600,
|
|
42
|
+
"download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
31
45
|
"filename": "PA-VM-KVM-10.1.0.qcow2",
|
|
32
46
|
"version": "10.1.0",
|
|
33
47
|
"md5sum": "8266fd412a22694749f2cd4afcd5fa33",
|
|
@@ -128,6 +142,18 @@
|
|
|
128
142
|
],
|
|
129
143
|
"versions": [
|
|
130
144
|
{
|
|
145
|
+
"name": "11.0.0",
|
|
146
|
+
"images": {
|
|
147
|
+
"hda_disk_image": "PA-VM-KVM-11.0.0.qcow2"
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"name": "10.2.3",
|
|
152
|
+
"images": {
|
|
153
|
+
"hda_disk_image": "PA-VM-KVM-10.2.3.qcow2"
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
{
|
|
131
157
|
"name": "10.1.0",
|
|
132
158
|
"images": {
|
|
133
159
|
"hda_disk_image": "PA-VM-KVM-10.1.0.qcow2"
|
|
@@ -13,18 +13,27 @@
|
|
|
13
13
|
"status": "stable",
|
|
14
14
|
"maintainer": "Brent Stewart",
|
|
15
15
|
"maintainer_email": "brent@stewart.tc",
|
|
16
|
-
"usage": "Your default account will have sudo
|
|
16
|
+
"usage": "Your default account will have sudo privileges. Squil and Squert username and password are configured in the Setup wizard. MySQL root is set to null. For more info see https://github.com/Security-Onion-Solutions/security-onion/wiki/Passwords.",
|
|
17
17
|
"symbol": "securityonion-logo.png",
|
|
18
18
|
"qemu": {
|
|
19
19
|
"adapter_type": "e1000",
|
|
20
20
|
"adapters": 2,
|
|
21
|
-
"ram":
|
|
21
|
+
"ram": 4096,
|
|
22
22
|
"hda_disk_interface": "ide",
|
|
23
23
|
"arch": "x86_64",
|
|
24
24
|
"console_type": "vnc",
|
|
25
|
-
"kvm": "allow"
|
|
25
|
+
"kvm": "allow",
|
|
26
|
+
"options": "-cpu host"
|
|
26
27
|
},
|
|
27
28
|
"images": [
|
|
29
|
+
{
|
|
30
|
+
"filename": "securityonion-2.4.80-20240624.iso",
|
|
31
|
+
"version": "2.4.80-20240624",
|
|
32
|
+
"md5sum": "139f9762e926f9cb3c4a9528a3752c31",
|
|
33
|
+
"filesize": 12391022592,
|
|
34
|
+
"download_url": "https://github.com/Security-Onion-Solutions/securityonion/blob/2.4/main/DOWNLOAD_AND_VERIFY_ISO.md",
|
|
35
|
+
"direct_download_url": "https://download.securityonion.net/file/securityonion/securityonion-2.4.80-20240624.iso"
|
|
36
|
+
},
|
|
28
37
|
{
|
|
29
38
|
"filename": "securityonion-16.04.7.1.iso",
|
|
30
39
|
"version": "16.04.7.1",
|
|
@@ -49,6 +58,14 @@
|
|
|
49
58
|
"download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/",
|
|
50
59
|
"direct_download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/download/v14.04.5.4_20171031/securityonion-14.04.5.4.iso"
|
|
51
60
|
},
|
|
61
|
+
{
|
|
62
|
+
"filename": "empty100G.qcow2",
|
|
63
|
+
"version": "1.0",
|
|
64
|
+
"md5sum": "5d9fec18a980f13002028491259f158d",
|
|
65
|
+
"filesize": 198656,
|
|
66
|
+
"download_url": "https://github.com/riverbed/Riverbed-Community-Toolkit/raw/master/SteelHead/GNS3",
|
|
67
|
+
"direct_download_url": "https://github.com/riverbed/Riverbed-Community-Toolkit/raw/master/SteelHead/GNS3/empty100G.qcow2"
|
|
68
|
+
},
|
|
52
69
|
{
|
|
53
70
|
"filename": "empty30G.qcow2",
|
|
54
71
|
"version": "1.0",
|
|
@@ -59,6 +76,13 @@
|
|
|
59
76
|
}
|
|
60
77
|
],
|
|
61
78
|
"versions": [
|
|
79
|
+
{
|
|
80
|
+
"name": "2.4.80-20240624",
|
|
81
|
+
"images": {
|
|
82
|
+
"hda_disk_image": "empty100G.qcow2",
|
|
83
|
+
"cdrom_image": "securityonion-2.4.80-20240624.iso"
|
|
84
|
+
}
|
|
85
|
+
},
|
|
62
86
|
{
|
|
63
87
|
"name": "16.04.7.1",
|
|
64
88
|
"images": {
|
|
@@ -28,6 +28,7 @@ import shutil
|
|
|
28
28
|
import platformdirs
|
|
29
29
|
|
|
30
30
|
from gns3server.utils import parse_version
|
|
31
|
+
from gns3server.config import Config
|
|
31
32
|
from gns3server.utils.asyncio import locking
|
|
32
33
|
from gns3server.compute.base_manager import BaseManager
|
|
33
34
|
from gns3server.compute.docker.docker_vm import DockerVM
|
|
@@ -87,7 +88,7 @@ class Docker(BaseManager):
|
|
|
87
88
|
f"{stdout.decode('utf-8', errors='ignore').strip()}")
|
|
88
89
|
except OSError as e:
|
|
89
90
|
raise DockerError(f"Could not install busybox: {e}")
|
|
90
|
-
raise DockerError("No busybox executable could be found")
|
|
91
|
+
raise DockerError("No busybox executable could be found, please install busybox (apt install busybox-static on Debian/Ubuntu) and make sure it is in your PATH")
|
|
91
92
|
|
|
92
93
|
@staticmethod
|
|
93
94
|
def resources_path():
|
|
@@ -95,8 +96,13 @@ class Docker(BaseManager):
|
|
|
95
96
|
Get the Docker resources storage directory
|
|
96
97
|
"""
|
|
97
98
|
|
|
98
|
-
|
|
99
|
-
|
|
99
|
+
resources_path = Config.instance().settings.Server.resources_path
|
|
100
|
+
if not resources_path:
|
|
101
|
+
appname = vendor = "GNS3"
|
|
102
|
+
resources_path = platformdirs.user_data_dir(appname, vendor, roaming=True)
|
|
103
|
+
else:
|
|
104
|
+
resources_path = os.path.expanduser(resources_path)
|
|
105
|
+
docker_resources_dir = os.path.join(resources_path, "docker")
|
|
100
106
|
os.makedirs(docker_resources_dir, exist_ok=True)
|
|
101
107
|
return docker_resources_dir
|
|
102
108
|
|
|
@@ -521,6 +521,10 @@ class Dynamips(BaseManager):
|
|
|
521
521
|
if usage is not None and usage != vm.usage:
|
|
522
522
|
vm.usage = usage
|
|
523
523
|
|
|
524
|
+
aux_type = settings.get("aux_type")
|
|
525
|
+
if aux_type is not None and aux_type != vm.aux_type:
|
|
526
|
+
vm.aux_type = aux_type
|
|
527
|
+
|
|
524
528
|
# update the configs if needed
|
|
525
529
|
await self.set_vm_configs(vm, settings)
|
|
526
530
|
|
gns3server/compute/iou/iou_vm.py
CHANGED
|
@@ -661,7 +661,8 @@ class IOUVM(BaseNode):
|
|
|
661
661
|
self._telnet_server.close()
|
|
662
662
|
await self._telnet_server.wait_closed()
|
|
663
663
|
self._telnet_server = None
|
|
664
|
-
|
|
664
|
+
if self.is_running():
|
|
665
|
+
await self.start_console()
|
|
665
666
|
|
|
666
667
|
@locking
|
|
667
668
|
async def _networking(self):
|
|
@@ -45,7 +45,7 @@ from ..nios.nio_tap import NIOTAP
|
|
|
45
45
|
from ..base_node import BaseNode
|
|
46
46
|
from ...utils.asyncio import monitor_process
|
|
47
47
|
from ...utils.images import md5sum
|
|
48
|
-
from ...utils import macaddress_to_int, int_to_macaddress
|
|
48
|
+
from ...utils import macaddress_to_int, int_to_macaddress, is_ipv6_enabled
|
|
49
49
|
from ...utils.hostname import is_rfc1123_hostname_valid
|
|
50
50
|
|
|
51
51
|
from gns3server.schemas.compute.qemu_nodes import Qemu, QemuPlatform
|
|
@@ -54,6 +54,12 @@ import logging
|
|
|
54
54
|
|
|
55
55
|
log = logging.getLogger(__name__)
|
|
56
56
|
|
|
57
|
+
# forbidden additional options
|
|
58
|
+
FORBIDDEN_OPTIONS = {"-blockdev", "-drive", "-hda", "-hdb", "-hdc", "-hdd",
|
|
59
|
+
"-fsdev", "-virtfs", "-nic", "-netdev"}
|
|
60
|
+
FORBIDDEN_OPTIONS |= {"-" + opt for opt in FORBIDDEN_OPTIONS
|
|
61
|
+
if opt.startswith("-") and not opt.startswith("--")}
|
|
62
|
+
|
|
57
63
|
|
|
58
64
|
class QemuVM(BaseNode):
|
|
59
65
|
module_name = "qemu"
|
|
@@ -1855,14 +1861,17 @@ class QemuVM(BaseNode):
|
|
|
1855
1861
|
if port:
|
|
1856
1862
|
console_host = self._manager.port_manager.console_host
|
|
1857
1863
|
if console_host == "0.0.0.0":
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1864
|
+
try:
|
|
1865
|
+
if is_ipv6_enabled():
|
|
1866
|
+
# to fix an issue with Qemu when IPv4 is not enabled
|
|
1867
|
+
# see https://github.com/GNS3/gns3-gui/issues/2352
|
|
1868
|
+
# FIXME: consider making this more global (not just for Qemu + SPICE)
|
|
1869
|
+
console_host = "::"
|
|
1870
|
+
except OSError as e:
|
|
1871
|
+
raise QemuError("Could not check if IPv6 is enabled: {}".format(e))
|
|
1872
|
+
return ["-spice",
|
|
1873
|
+
f"addr={console_host},port={port},disable-ticketing",
|
|
1874
|
+
"-vga", "qxl"]
|
|
1866
1875
|
else:
|
|
1867
1876
|
return []
|
|
1868
1877
|
|
|
@@ -2640,9 +2649,16 @@ class QemuVM(BaseNode):
|
|
|
2640
2649
|
command.extend(self._tpm_options())
|
|
2641
2650
|
if additional_options:
|
|
2642
2651
|
try:
|
|
2643
|
-
|
|
2652
|
+
additional_opt_list = shlex.split(additional_options)
|
|
2644
2653
|
except ValueError as e:
|
|
2645
2654
|
raise QemuError(f"Invalid additional options: {additional_options} error {e}")
|
|
2655
|
+
allow_unsafe_options = self.manager.config.settings.Qemu.allow_unsafe_options
|
|
2656
|
+
if allow_unsafe_options is False:
|
|
2657
|
+
for opt in additional_opt_list:
|
|
2658
|
+
if opt in FORBIDDEN_OPTIONS:
|
|
2659
|
+
raise QemuError("Forbidden additional option: {}".format(opt))
|
|
2660
|
+
command.extend(additional_opt_list)
|
|
2661
|
+
|
|
2646
2662
|
# avoiding mouse offset (see https://github.com/GNS3/gns3-server/issues/2335)
|
|
2647
2663
|
if self._console_type == "vnc":
|
|
2648
2664
|
command.extend(['-machine', 'usb=on', '-device', 'usb-tablet'])
|