GNS3 / gns3-server

GNS3 server
GNU General Public License v3.0
796 stars 262 forks source link

IOU not support on fedora linux #1979

Closed Abady-01 closed 2 years ago

Abady-01 commented 2 years ago

Hi.

I install gns3 from Fedora repository and the last version of GNS3 exist there is 2.2.21

I face many issues when i try to install Cisco Appliances ether i user qcow2 or bin

but when i want to running bin file by IOU I have two issue :

ONE is i get this error when i running the switch

error while starting IOU1: IOU image '/home/armeen/GNS3/images/IOU/i86bi-linux-l2-adventerprisek9-15.1a.bin' is not executable IOU image '/home/armeen/GNS3/images/IOU/i86bi-linux-l2-adventerprisek9-15.1a.bin' is not executable

as mention here : https://github.com/GNS3/gns3-gui/issues/2125

and i try to build from source by following this link https://computingforgeeks.com/how-to-install-gns3-on-fedora-29-fedora-28/

_but it it does not work because i get this error where i try to build : [armeen@fedora GNS3]$ cd iouyap/ [armeen@fedora iouyap]$ make bison -y -d netmap_parse.y netmap_parse.y:68.1-11: warning: POSIX Yacc does not support %destructor [-Wyacc] 68 | %destructor { free($$); } | ^~~ mv -f y.tab.c netmap_parse.c cc -Wall -c -o netmap_parse.o netmap_parse.c flex -t netmap_scan.l > netmap_scan.c cc -Wall -c -o netmap_scan.o netmap_scan.c cc -Wall -c -o netmap.o netmap.c cc -Wall -c -o config.o config.c cc -Wall -c -o iouyap.o iouyap.c cc -Wall -c -o iniparser/iniparser.o iniparser/iniparser.c cc -Wall -c -o iniparser/dictionary.o iniparser/dictionary.c cc -Wall -o iouyap netmap_parse.o netmap_scan.o netmap.o config.o iouyap.o iniparser/iniparser.o iniparser/dictionary.o -lpthread /usr/bin/ld: netmap_scan.o:(.bss+0x40): multiple definition of sizecheck'; netmap_parse.o:(.bss+0x0): first defined here /usr/bin/ld: netmap.o:(.bss+0x0): multiple definition ofsizecheck'; netmap_parse.o:(.bss+0x0): first defined here /usr/bin/ld: iouyap.o:(.bss+0x0): multiple definition of `sizecheck'; netmap_parse.o:(.bss+0x0): first defined here collect2: error: ld returned 1 exit status make: *** [Makefile:51: iouyap] Error 1 rm netmap_scan.c netmapparse.c [armeen@fedora iouyap]$

Second Issue is how i can install the license of IOU because I use localhost as gns3Server not by using vm because already there is KVM and Qemu on Linux kernel So how i could install license in my case
i used this python script https://srv-file14.gofile.io/download/0yjCRc/CiscoIOUKeygen3f.py to generate .IOURC file but i don't know how i get access to gns3 shell because I turn on gns3Server on localhost

Thanks

ghost commented 2 years ago

I face many issues when i try to install Cisco Appliances ether i user qcow2 or bin

Without any further information, nobody can help you with that.

but when i want to running bin file by IOU I have two issue :

ONE is i get this error when i running the switch error while starting IOU1: IOU image '/home/armeen/GNS3/images/IOU/i86bi-linux-l2-adventerprisek9-15.1a.bin' is not executable IOU image '/home/armeen/GNS3/images/IOU/i86bi-linux-l2-adventerprisek9-15.1a.bin' is not executable

How did you install the IOU image? If you manually copy it to GNS3/images/IOU it's your own responsibility, that the image is correctly installed. For IOU that means, you have to set the execute permission yourself. If you install it by using the import wizard (File / New template / Install an appliance from the GNS3 server) the wizard will take care about all the details and will ensure (among other things), that the image has the right permissions.

and i try to build from source by following this link https://computingforgeeks.com/how-to-install-gns3-on-fedora-29-fedora-28/

iouyap is not used since GNS3 v2.0 (2017), ubridge is used instead. As ubridge is automatically installed, when installing gns3-server, there is no need to compile anything. As iouyap is no longer maintained, nobody will fix it.

But there is another issue with IOU images, not mentioned by the article, you linked.

IOU images are 32-bit Linux binaries, that need several 32-bit shared libraries. So before using IOU images, you need to install these libraries.

Normally this would be relatively easy, install the openssl-libs.i686 package. But the IOU images are that old, that there are some incompatibilities between the IOU images and the openssl-libs package. So that won't work.

You have to install some older libraries. I created a tar archive with the needed libraries from the old Debian 9 (Stretch): libc-i386.tar.gz If you have already installed the openssl-libs.i686 package, you need to uninstall it and it's dependencies first. Then you can install the 32-bit libraries with sudo tar xvfz libc-i386.tar.gz -C /. But please keep in mind, that I normally use Debian and I made only some few tests on Fedora. So you are basically on your own.

Second Issue is how i can install the license of IOU because I use localhost as gns3Server not by using vm because already there is KVM and Qemu on Linux kernel So how i could install license in my case ...

Official answer: You need to get your license from Cisco. The GNS3 folks won't support anyone, who tries use images in a way, that is not approved by the copyright owner (Cisco).

Cisco will not give anyone a license for IOU images, as they are a Cisco internal tool. So you have to either use VIRL/CML images or make your own research, how to use them without a proper Cisco license.

Abady-01 commented 2 years ago

If you manually copy it to GNS3/images/IOU it's your own responsibility, that the image is correctly installed. For IOU that means, you have to set the execute permission yourself. If you install it by using the import wizard (File / New template / Install an appliance from the GNS3 server) the wizard will take care about all the details and will ensure (among other things), that the image has the right permissions.

first i appreciate for replying yah I installed IOU image manually i used chmod to change all image to 777 and also tried from import wizard but i was getting same error " IOU image ... is not executable" Until i check this box .. also i did this sudo tar xvfz libc-i386.tar.gz -C solution

at the end now i face problem with the license even if use python script i got this: md5input=iouPad1 + iouPad2 + struct.pack('!i', ioukey) + iouPad1 struct.error: 'i' format requires -2147483648 <= number <= 2147483647

ksnip20

ghost commented 2 years ago

The appliance wizard doesn't copy the image and doesn't set the permissions, when the image already exists in the GNS3 image directory. So you are right, you can't fix permission errors of existing appliances by re-running the wizard.

Using chmod on the command line or using the GUI method with the file manager has the same effect. So when it works with the file manager and it doesn't work with chmod, then you have made a mistake using chmod. But anyway, you managed to correct it via the file manager, so this part is done.

As already mentioned in my first comment, I won't give any support using a non-cisco license key. You have to fix it yourself.

Abady-01 commented 2 years ago

thanks for replaying i really appreciate that yah for license problem maybe i have to depend on other community like gns3 or even reddit