#acl GiovambattistaIanni:read,write,admin,delete,revert FrancescoPacenza:read,write,admin,delete,revert All:read = 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 === 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''' 1. Installa il dkms driver tramite il comando '''sudo apt-get install virtualbox-dkms''' 2. Riavvia il computer '''SOLUZIONE 2 --- Si ringrazia Francesco Pisani --- (NON TESTATO PERSONALMENTE)''' 1. Reinstalla il linux-headers e i linux-image relativi alla tua distribuzione 1. sudo apt install linux-headers-''tuaVersione'' 2. sudo apt install linux-image-''tuaVersione'' 2. sudo reboot 3. sudo apt install linux-headers-$(uname -r) 4. sudo apt-get install virtualbox-dkms '''SOLUZIONE 3''' 1. Disabilita il la voce '''secure boot''' dal bios del tuo pc 2. Modifica la sequenza di avvio ('''boot sequence''') impostando '''ubuntu''' (o il nome della tua distribuzione) come primo disco di avvio '''SOLUZIONE 4''' 1. Effettua tutti gli step delle soluzioni 1,2 e 3 2. sudo /sbin/vboxconfig 3. sudo apt-get remove --purge virtualbox-dkms 4. sudo apt-get install virtualbox-dkms 5. sudo apt-get install dkms 6. sudo reboot '''SOLUZIONE 5 - Non voglio o non posso disabilitare il secure boot''' 1. Seguire la guida a questo [[https://superuser.com/questions/1438279/how-to-sign-a-kernel-module-ubuntu-18-04|link]] dallo step 1 allo step 6 2. 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: 1. '''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) 1. '''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: 1. sudo su 2. '''chmod 755 /usr/bin/ubridge''' 3. 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)'': 1. Aprite virtualbox, dovreste notare alcune macchine in stato ''(reset)'' 1. Chiudete Virtualbox e GNS3 1. Individuate ed editate il file '''c:\Users\\.Virtualbox\Virtualbox.xml''' 1. 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}}} 5. RIMUOVETE SOLO E SOLTANTO LE VM DEL PROGETTO CHE NON PARTE 6. Salvate VirtualBox.xml e aprite il progetto in GNS3. ''Vecchio workaround'': Se l'errore dovesse essere simile provate ad effettuare i seguenti step: 1. Annotate l''''UUID''' della virtual machine che non riesce ad avviarsi (nell'esempio di sopra è '''virtual_machine_id''') 2. Spostatevi nella directory segnalata all'interno dell'errore mostratovi in GNS3 (nel nostro esempio sarà '''path_project_folder\virtual_machine_id\machine_name''') 3. Aprite il file '''machine_name.vbox''' con un editor di testo e trovate al suo interno la stringa dell'UUID annotata al punto 1 4. Aprite la cartella '''path_project_folder\virtual_machine_id\machine_name\snapshots''' e copiate il nome del disco con estensione '''vdi''' di dimensione maggiore 5. Sostituite nel file '''machine_name.vbox''' la UUID trovata precedentemente con il nome del disco copiato al punto 4 6. Provare a riaprire il progetto (se sono presenti più macchine con lo stesso problema, sarà mostrato lo stesso errore ma con un UUID diverso) 7. 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 [[https://gist.github.com/MikeCoder96/4baf214667290a7da1346be21557404b|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 *[[attachment:tutorial_tap_osx.zip|Download Tutorial]] ---- === 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 ''' 1. Scaricare l'ultima release disponibile per per le VPCS a [[https://github.com/GNS3/vpcs/releases|questo link]] 2. {{{unzip vpcs-0.X.Y.zip}}} 3. {{{cd vpcs-0.X.Y}}} 4. {{{cd src}}} 5. {{{./mk.sh}}} 6. {{{sudo cp vpcs /usr/local/bin/}}} 7. 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.