GNS3 FAQ
Indice
-
GNS3 FAQ
-
Lista dei problemi noti e delle soluzioni GNS3
- Non riesco ad importare la macchina virtuale su Virtualbox perchè non sono presenti i kernel driver
- Non riesco a trovare la macchina virtuale importata in Virtualbox nel menù a tendina di GNS3
- Non riesco a connettermi al server locale di GNS3
- Non riesco a creare link tra i vari nodi/host
- Ho creato il progetto ma un errore di VirtualBox non mi consente di riaprirlo
- Non riesco a creare e usare l'interfaccia tap sul mio PC Windows
- Non riesco a creare e usare l'interfaccia tap0 sul mio pc MacOS
- Problemi VPCS
- Domande Generali sulla traccia del progetto
-
Lista dei problemi noti e delle soluzioni GNS3
Lista dei problemi noti e delle soluzioni GNS3
Non riesco ad importare la macchina virtuale su Virtualbox perchè non sono presenti i kernel driver
Errore mostrato in Virtualbox:
'The Virtualbox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing '/etc/init.d/vboxdrv setup' as root. If it is available in your distribution, you should install the DKMS package first. This package keeps track of Linux kernel changes and recompiles the vboxdrv kernel module if necessary.'
SOLUZIONE 1
Installa il dkms driver tramite il comando sudo apt-get install virtualbox-dkms
- Riavvia il computer
SOLUZIONE 2 --- Si ringrazia Francesco Pisani --- (NON TESTATO PERSONALMENTE)
- Reinstalla il linux-headers e i linux-image relativi alla tua distribuzione
sudo apt install linux-headers-tuaVersione
sudo apt install linux-image-tuaVersione
- sudo reboot
- sudo apt install linux-headers-$(uname -r)
- sudo apt-get install virtualbox-dkms
SOLUZIONE 3
Disabilita il la voce secure boot dal bios del tuo pc
Modifica la sequenza di avvio (boot sequence) impostando ubuntu (o il nome della tua distribuzione) come primo disco di avvio
SOLUZIONE 4
- Effettua tutti gli step delle soluzioni 1,2 e 3
- sudo /sbin/vboxconfig
- sudo apt-get remove --purge virtualbox-dkms
- sudo apt-get install virtualbox-dkms
- sudo apt-get install dkms
- sudo reboot
SOLUZIONE 5 - Non voglio o non posso disabilitare il secure boot
Seguire la guida a questo link dallo step 1 allo step 6
- Provare a lanciare virtualbox e una instanza di macchina virtuale
L'errore si è ripresentato ? Esegui questi comandi
- sudo apt purge --auto-remove virtualbox*
- sudo apt install virtualbox
Non riesco a trovare la macchina virtuale importata in Virtualbox nel menù a tendina di GNS3
Probabilemnte i virtualbox drivers non sono stati correttamente caricati in GNS3. Il problema può essere dovuto alla versione di virtualbox che si sta utilizzando. Si consiglia l'uso di virtualbox 5.0 o superiore.
Nel caso in cui la versione di virtualbox fosse già tra quelle compatibili con GNS3, si consiglia di reinstallare solo virtualbox e ripetere la procedura di import della macchina virtuale
Non riesco a connettermi al server locale di GNS3
Installare (o reinstallare) il pacchetto gns3-server:
sudo pip3 install gns3-server
Opzionalmente è possibile specificare anche una versione di gns3-server specifica (la versione del server DEVE essere uguale a quella di gns3-gui)
sudo pip3 install gns3-server==X.X
Non riesco a creare link tra i vari nodi/host
Se state provando a replicare una topologia in gns3, ma quando provate a collegare i vari host tra di loro vi compare il seguente errore:
uBridge error : uBridge is not available or path doesn't exist
non vi preoccupate, infatti vi basterà effettuare poche semplici operazioni per risolvere il problema:
- sudo su
chmod 755 /usr/bin/ubridge
- Riavvia GNS3
Ho creato il progetto ma un errore di VirtualBox non mi consente di riaprirlo
Controllare se l'errore riscontrato è simile (o uguale) al seguente:
'Virtualbox has returned an error: VBoxManage.exe: error: Trying to open a VM config 'path_project_folder\virtual_machine_id\machine_name\machine_name.vbox' which has the same UUID as an existing virtual machine VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component Machine Wrap, interface IMachine, callee IUnknown VBoxManage.exe: error: Context: "Openmachine(Bstr(a->argv[0]).raw(), machine.asOutParam())" at line 87 of file VBoxManageMisc.cpp'
Nuovo workaround (Testato su Windows 10 e Virtualbox 6.1):
Aprite virtualbox, dovreste notare alcune macchine in stato (reset)
- Chiudete Virtualbox e GNS3
Individuate ed editate il file c:\Users\<TUONOMEUTENTE>\.Virtualbox\Virtualbox.xml
- Individuate le voci corrispondenti a tali macchine nel file e cancellatele. Tali voci sono del tipo
MachineEntry uuid="{07b0a897-e6b0-4e7a-8e23-4d190a2cb0ea}" src=...
- il path di queste VM dovrebbe puntare al vostro progetto che non si apre, ad esempio
C:\Users\LocalUserName\GNS3\projects\FW-PROJ
- RIMUOVETE SOLO E SOLTANTO LE VM DEL PROGETTO CHE NON PARTE
Salvate VirtualBox.xml e aprite il progetto in GNS3.
Vecchio workaround: Se l'errore dovesse essere simile provate ad effettuare i seguenti step:
Annotate l'UUID della virtual machine che non riesce ad avviarsi (nell'esempio di sopra è virtual_machine_id)
Spostatevi nella directory segnalata all'interno dell'errore mostratovi in GNS3 (nel nostro esempio sarà path_project_folder\virtual_machine_id\machine_name)
Aprite il file machine_name.vbox con un editor di testo e trovate al suo interno la stringa dell'UUID annotata al punto 1
Aprite la cartella path_project_folder\virtual_machine_id\machine_name\snapshots e copiate il nome del disco con estensione vdi di dimensione maggiore
Sostituite nel file machine_name.vbox la UUID trovata precedentemente con il nome del disco copiato al punto 4
- Provare a riaprire il progetto (se sono presenti più macchine con lo stesso problema, sarà mostrato lo stesso errore ma con un UUID diverso)
- Ripetere la procedura per tutte le macchine con lo stesso problema
Non riesco a creare e usare l'interfaccia tap sul mio PC Windows
Istruzioni qui. --- Si ringrazia Michele Bencardino
Non riesco a creare e usare l'interfaccia tap0 sul mio pc MacOS
È possibile risolvere il problema seguendo una guida scritta appositamente da un vostro collega. --- Si ringrazia Alessio Portaro
Problemi VPCS
Errori mostrati in GNS3:
No path to a VPCS executable has been set
VPCS executable version must be >= 0.6.1 but not a 0.8
SOLUZIONE
Scaricare l'ultima release disponibile per per le VPCS a questo link
unzip vpcs-0.X.Y.zip
cd vpcs-0.X.Y
cd src
./mk.sh
sudo cp vpcs /usr/local/bin/
- Riavvia GNS3 e il tuo laboratorio
Domande Generali sulla traccia del progetto
Se non specificato, qual è la politica di default di un firewall da mettere nel progetto?
DROP.
Se nel progetto le specifiche dei firewall sono ambigue, come debbo regolarmi?
In caso di ambiguità, le regole successive hanno priorità e sovrascrivono in tutto o in parte le regole precedenti. Ad esempio, se si dice
1. Le reti A4 e A2 deve poter accedere alle reti A1 e A3 2. La rete A2 deve poter accedere esclusivamente alla rete A3
Allora A4 deve poter accedere ad A1 e A3, mentre A2 deve accedere solo ad A3.
Come faccio a testare le porte aperte su una macchina virtuale ?
iperf
Qual è la sintassi di uso esatta di iperf?
Sulla macchina server: iperf -s -p numeroporta &
Sulla macchina client: iperf -c numeroIpDaContattare -p numeroporta &
Esiste qualche tool alternativo a iperf?
Potete usare netcat, che di solito è già presente nelle distribuzioni debian. Uso:
Lato server: nc -l -p NUMEROPORTA. Mette in ascolto netcat sulla porta NUMEROPORTA.
Lato client: nc NOMEHOST NUMEROPORTA.
Una volta stabilita la connessione è possibile digitare del testo da console (sia sul client che sul server). Alla pressione del tasto invio la stringa digitata dovrebbe apparire sulla console dell'altro interlocutore. ATTENZIONE: La terminazione di netcat dal lato client provoca la chiusura anche dal lato server (netcat non gestisce connessioni multiple).
Non sono sicuro che il forwarding dei pacchetti sia abilitato su una certa macchina
Assicuratevi che nel file /proc/sys/net/ipv4/ip_forward, nel file system della macchina malfunzionante, compaia il valore 1.
Come si configurano le route di pc in maniera tale che siano attive allo startup di ciascuna macchina? Come faccio ad eseguire automaticamente qualsiasi comando mi serva impartire nel momento in cui si avviano le interfacce di rete?
Nel file system virtuale di pc modificare /etc/network/interfaces aggiungendo un certo numero di linee post-up
Esempio:
auto eth1 iface eth1 inet static address 1.0.0.1 network 1.0.0.0 netmask 255.255.255.0 broadcast 1.0.0.255 gateway 1.0.0.254 dns-nameservers 8.8.8.8 post-up route add -net 2.0.0.0/24 dev eth1 gw 1.0.0.2
l'ultimo comando route viene eseguito non appena l'interfaccia eth1 viene messa in stato up (subito dopo il comando ifconfig eth1 up). La riga gateway 1.0.0.254 è equivalente a post-up route add default gw 1.0.0.254 dev eth1.
La direttiva post-up può essere usata per lanciare qualsiasi comando si voglia effettuare dopo l'attivazione di una certa scheda di rete, ad esempio uno script di inizializzazione del proprio firewall. Esempio: metto i comandi di avvio per iptables in uno script che chiamerò firewall.sh, e aggiungo post-up /percorso.../firewall.sh opportunamente.