Ini adalah registri GNS3 tempat pengguna dapat berbagi peralatan dan simbol.
Kami menerima permintaan tarik untuk peralatan baru.
Mengenai gambar/disk yang direferensikan dalam file peralatan baru, kami menerima tautan yang mengarah ke situs web vendor terkenal atau situs web sumber tepercaya lainnya.
Untuk kontribusi baru, kami menerima tautan bergantung pada beberapa kriteria: jenis peralatan, siapa yang mengirimkannya, dan terutama jika skrip untuk membuat gambar disediakan (skrip pengemas direkomendasikan untuk peralatan Qemu). Kemudian kami akan membangun di pihak kami, memverifikasi dan mengunggah gambar di akun GNS3 Sourceforge.
Untuk peralatan Docker, berikan Dockerfile. Kami kemudian akan membangun dan mendorong image di hub Docker.
Ada dua cara untuk membuat peralatan baru:
Salin dan tempel JSON dari direktori appliances
Jalankan new_appliance.py
Setelah itu Anda dapat mengirimkan permintaan tarik kepada kami di Github
Di skema/appliance.json Anda memiliki JSON dengan skema untuk mengontrol file dan dapat digunakan sebagai dokumentasi untuk setiap bidang.
GNS3 memeriksa versi skema, jika skema suatu alat tidak didukung maka akan muncul kesalahan "Harap perbarui GNS3 untuk menginstal alat ini".
Skema | menit. versi GNS3 | Tambahan |
---|---|---|
2 | 1.4.0 | |
3 | 1.5.0 | buruh pelabuhan |
4 | 2.0.0 | tersedianya qemu/cpus qemu/hd?_disk_interface: sata versi/gambar/bios_image |
5 | 2.1.0 | qemu/console_type: rempah-rempah |
6 | 2.2.0 | qemu/custom_adapters qemu/console_type: rempah+agen semua/console_type: tidak ada |
7 | 2.2.36 | qemu/tpm |
8 | 2.2.43 | Lihat di bawah |
Skema versi 8 telah memperkenalkan banyak perubahan pada skema peralatan. Yang paling penting adalah:
Dukungan untuk properti uefi_boot_mode
di properti template Qemu.
Kemungkinan untuk memiliki beberapa set pengaturan untuk digunakan dengan versi gambar yang berbeda. Pengaturan default ditentukan jika
bidang default
yang disetel ke true
ada
hanya ada satu set yang hadir.
Catatan
Bidang template_type
harus ditambahkan untuk memberi tahu GNS3 template apa yang akan dibuat (qemu, iou, dynamips, atau docker), pencampuran berbagai jenis template tidak didukung saat ini. Semua properti spesifik templat ditentukan dalam bidang template_properties
.
Contoh
"pengaturan": [ {"default": true,"template_type": "qemu","template_properties": {"platform": "x86_64","adapter_type": "e1000","adapters": 1,"ram": 1024,"console_type ":"vnc"} }, {"name": "pengaturan i386","template_type": "qemu","template_properties": {"platform": "i386","adapters": 8} }, {"name": "Pengaturan ARM","template_type": "qemu","template_properties": {"platform": "arm","ram": 512} } ],"versi": [ {"nama": "1.0","gambar": {"hda_disk_image": "disk1.qcow2"} }, {"name": "2.0","settings": "Pengaturan i386","images": {"hda_disk_image": "disk2.qcow2"} }, {"name": "3.0","settings": "Pengaturan ARM","images": {"hda_disk_image": "disk3.qcow2"} }, ]
Pengaturan default diwarisi oleh set pengaturan lain, ini dapat diblokir dengan mengatur inherit_default_properties
ke false
Default templat pengontrol digunakan jika properti templat tidak ditentukan atau diwarisi dari pengaturan default.
Bidang md5sum
diganti namanya menjadi checksum
. Bidang md5sum
masih diterima untuk memudahkan migrasi dari versi format sebelumnya.
Bidang checksum_type
opsional baru untuk pengembangan di masa mendatang. Tipe checksum default dan satu-satunya tetap MD5 untuk saat ini.
Bidang opsional baru default_username
dan default_password
di tingkat peralatan dan versi.
Bidang installation_instructions
opsional baru di tingkat peralatan dan versi untuk memberikan instruksi pengunduhan/pembongkaran ke beberapa peralatan.
Bidang compression_target
opsional baru yang akan digunakan bersama dengan bidang kompresi dalam pengembangan mendatang.
Bidang idlepc
di bagian versi dipindahkan ke template_properties
untuk jenis templat dynamips
Bidang first_port_name
, port_name_format
, port_segment_size
dan linked_clone
dipindahkan ke template_properties
untuk jenis templat qemu (bidang ini hanya valid untuk templat Qemu).
Bidang arch
untuk qemu telah diubah namanya menjadi platform
agar sesuai dengan properti templat di sisi pengontrol.
Bidang kvm
telah dihapus dan tidak diperlukan lagi. Memasang peralatan tidak boleh memperhitungkan server yang tersedia dan kemampuannya (misalnya mampu menjalankan kvm, dll.)
Bidang category
, usage
, dan symbol
dapat ditentukan di template_properties
mana pun. Defaultnya ada pada tingkat peralatan atau tingkat versi (mereka akan dimasukkan ke dalam template_properties
jika belum ditentukan di sana).
Versi alat yang diinstal akan dimasukkan ke dalam bidang version
templat (hanya versi pengontrol >= v3.0)
Tambahkan bidang name
dan default_name_format
ke semua properti templat.
Tambahkan console_resolution
, extra_hosts
dan extra_volumes
ke properti template Docker.
Izinkan spice+agent
di console_type
untuk properti template Qemu.
Contoh lengkap
{"appliance_id": "709c2a9b-5dc3-4362-b147-fb848a0df963","name": "Alat saya","category": "router","description": "Ini adalah alat baru saya","vendor_name": "Cisco","vendor_url": "http://www.cisco.com/","documentation_url": "https://www.cisco.com/c/en/us/support/routing/xxx","product_name": "Produk peralatan xxx","product_url": "https://www.cisco.com/c /en/us/products/xxx/index.html","registry_version":8,"status": "experimental","maintainer": "Tim GNS3","maintainer_email": "[email protected]","installation_instructions": "Ini adalah cara memasang peralatan ini","usage": "Ini adalah cara menggunakan peralatan saya","symbol": "router.svg","default_username": "cisco","default_password": "admin","pengaturan": [ {"name": "Pengaturan templat bawaan","default": true,"template_type": "qemu","template_properties": {"symbol": "multilayer_router.svg","first_port_name": "ethernet0","port_name_format": "ethernet{port1}","adapter_type": "e1000","adapters": 2,"ram": 4096, "cpus": 1,"hda_disk_interface": "scsi","platform": "x86_64","console_type": "vnc","boot_priority": "cd","pilihan": ""} }, {"name": "Pengaturan khusus untuk versi 7.10.2","template_type": "qemu","inherit_default_properties": false,"template_properties": {"adaptor": 4,"ram": 8192,"cpus": 1} } ],"gambar": [ {"namafile": "file.iso","version": "7.10.2","checksum": "ef8712e655fcbc92dc1a1551ee2e4a80","checksum_type": "md5","filesize": 1287245824,"download_url": "https://software.cisco.com/download/home/286307342/type/286307754/release/7.10.2"}, {"namafile": "file2.iso","versi": "6.10.4","checksum": "68232f77da8f78cdc9aa6f3266a4d4c0","ukuran file": 3949459594,"download_url": "https://software.cisco.com/download/home/286307342/type/286307754/release/6.10.4"}, {"filename": "empty100G.qcow2","version": "1.0","md5sum": "1e6409a4523ada212dea2ebc50e50a65","filesize": 198656,"download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/","direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu% 20disk/empty100G.qcow2/download"} ],"versi": [ {"name": "7.10.2","settings": "Pengaturan khusus untuk versi 7.10.2","images": {"hda_disk_image": "empty100G.qcow2","cdrom_image": "file.iso"} }, {"name": "6.10.4","default_username": "admin123","default_password": "admin123","installation_instructions": "Ini adalah cara menginstal versi ini","usage": "Ini adalah cara gunakan versi ini","symbol": "ethernet_switch.svg","images": {"hda_disk_image": "empty100G.qcow2","cdrom_image": "file2.iso"} } ] }
Cari contoh di direktori symbols
.
Repositori ini juga berisi sumber container Docker yang diterbitkan oleh tim GNS3 dan dapat digunakan sebagai alat di GNS3.
Semua alat memerlukan python3 dan dependensi dapat diinstal menggunakan pip:
python3 -m pip install -r requirements.txt
python3 check.py
python3 check_urls.py
python3 new_appliance.py
Ini akan membuat indentasi JSON dari semua peralatan dan mengurutkan kunci dalam urutan yang sama dengan skema JSON.
python3 prettify_appliances.py