Skip to content

Instantly share code, notes, and snippets.

@MikeCoder96
Last active February 13, 2022 10:55
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MikeCoder96/4baf214667290a7da1346be21557404b to your computer and use it in GitHub Desktop.
Save MikeCoder96/4baf214667290a7da1346be21557404b to your computer and use it in GitHub Desktop.
Creare una connessione TAP per GNS3 da Windows come Local System "da windows 10"
ATTENZIONE:
Prima di eseguire queste operazioni accertatevi di avere GNS3 con relative VM spente!!
1) Premere Win+R, digitare "hdwwiz.exe" ed avviare.
2) Nella nuova finestra selezionare "Installare il driver manualmente dalla lista".
3) Selezionare nella listbox la dicitura "Scheda di rete".
4) Nella listbox di sinistra selezionare "Microsoft".
5) Nella listbox di destra selezionare "Microsoft KM-TEST Loopback Adapter".
6) Ad installazione ultimata riavviare il pc.
7) Recarsi in "Pannello di controllo\Rete e Internet\Centro connessioni di Rete e Condivisione".
8) Sulla sinistra premere sulla dicitura "Modifica impostazioni scheda".
9) Sulla scheda di rete che utilizzate per collegarvi ad internet andate su Proprietà\Condivisione.
10) Abilitare "Consenti ad altri utenti in rete di..." e nel menù a tendina selezionare la rete loopback "Fate attenzione al nome tra le reti visualizzate".
11) Fare proprietà sulla rete Microsoft Loopback, selezionare "Protocollo internet versione 4(TCP/IPv4)".
12) In Indirizzo IP inserire l'indirizzo IP che deve avere la TAP "Non network ma address se si vuole fare riferimento a /etc/network/interfaces".
13) Inserire i valori per la subnet mask e lasciare il resto dei campi vuoti, salvare.
**ATTENZIONE**
Questa parte serve per consentire l'accesso ad internet, se non si desidera avere accesso ad internet si può saltare al punto 16
14) Recarsi in "Pannello di controllo\Sistema e Sicurezza\Windows Defender Firewall".
15) Da qui avete 2 scelte
a) Per vostra semplicità, disattivare il Firewall dove è presente il nome della rete Loopback ma ricordarsi di attivarlo a fine utilizzo GNS3.
b) Selezionare "Impostazioni Avanzate" e settare le rules per la specifica connessione.
16) Riavviate.
NOTA:
Per poter pingare tutte le macchine nella rete GNS3 e per poter ricevere risposta da un ping verso 8.8.8.8 è necessario impostare i "route" con il comando route di windows:
https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/route_ws2008
È possibile comunque usare lo script "RoutePanel.ps1" realizzato da me che permette di inserire o toglie i route facilmente.
Se al riavvio di Windows la rete non riesce più a pingare 8.8.8.8, avviare lo script e fare delete delle route, avviare nuovamente lo script e fare add
$OutputRouteInterface = (cmd.exe /c route PRINT interfaces) | Out-String
# .Fix per usare lo script su windows in italiano
$res = $OutputRouteInterface -match "(\d{1,2}).*(Microsoft KM-TEST)"
$currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())
if ($currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) -eq $false){
Write-Host "Please execute this script from Administrator session"
return
}
if ($res){
$routeList = New-Object System.Collections.ArrayList
$defaultGateway = "10.0.9.14"
$loopbackID = $matches[1]
#add your route here!
$routeList.AddRange((
[Tuple]::Create("10.0.0.0", "255.255.252.0"),
[Tuple]::Create("10.0.4.0", "255.255.252.0"),
[Tuple]::Create("10.0.8.0", "255.255.255.0"),
[Tuple]::Create("10.0.9.0", "255.255.255.252"),
[Tuple]::Create("10.0.9.4", "255.255.255.252"),
[Tuple]::Create("10.0.9.8", "255.255.255.252"),
[Tuple]::Create("10.0.9.12","255.255.255.252")
));
Write-Host "add) Add the routes"
Write-Host "delete) Delete the routes"
Write-Host ""
$input = Read-Host -Prompt "Your choice"
if ($input -eq "add"){
foreach ($element in $routeList) {
$ip = $element.Item1
$mask = $element.Item2
Write-Host "Adding" $ip $mask
$command = "route ADD $ip MASK $mask $defaultGateway IF $loopbackID"
iex $command
}
}
elseif ($input -eq "delete"){
foreach ($element in $routeList) {
$ip = $element.Item1
Write-Host "Deleting" $ip
$command = "route DELETE $ip"
iex $command
}
}
else{
Write-Host "Wrong input"
}
}
else{
Write-Host "Please install Microsoft KM-TEST Loopback Adapter interface"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment