Úvod PacketTracer
Dynamips Dynagen
DYNAMIPS DYNAGEN/GNS3
GNS3 Případovka Závěr
Vladimír VESELÝ
[email protected]
AGENDA Úvod PacketTracer
Dynamips Dynagen GNS3 Případovka Závěr
2
Emulace/Simulace směrovačů a přepínačů Simulátor PacketTracer Emulátor Dynamips a jeho rozšíření
MOTIVACE Úvod PacketTracer
Když nemáme železo, nezbývá, než se uchýlit k SW řešením…
Dynamips Dynagen GNS3 Případovka Závěr
3
Co dělat, když si potřebujeme něco ozkoušet? Simulovat! Co dělat, když nám chybí patřičný HW? Emulovat!
EXISTUJÍCÍ NÁSTROJE SW implementace směrovačů Úvod PacketTracer
Dynamips Dynagen GNS3
XORP Quagga Zebra
Simulátor CISCO zařízení PacketTracer
Případovka Závěr
Emulátor CISCO zařízení Dynamips (rozšíření Dynagen a GNS3)
4
PACKETTRACER – ÚVOD Úvod
Oficiální CISCO simulátor pro podporu výuky kurzů CCNA … bohužel JEN těchto kurzů Verze 5.2
PacketTracer
Dynamips Dynagen GNS3 Případovka Závěr
Systémové požadavky: CPU: Intel Pentium 300 MHz or equivalent OS: Microsoft Windows 2000 ≥, Fedora 7 ≥ nebo Ubuntu 7.10 ≥ RAM: 96 MB Disk: 250 MB diskového prostoru Macromedia Flash Player 6.0 ≥
http://www.cisco.com/web/learning/netacad/course_catalog/Pa cketTracer.html 5
PACKETTRACER – VLASTNOSTI NEVÝHODA, že chybí spousta věcí: Úvod PacketTracer
Dynamips Dynagen GNS3 Případovka Závěr
6
ISL zapouzdřování není vůbec HSRP/VRRP i GLBP není vůbec OSPF, RIP, EIGRP jen očesané verze BGP není vůbec GRE a jiné tunely dost omezené
„VÝHODOU“ je, že je to taková malá výkladní skříň CISCO produktů
PACKETTRACER – UKÁZKA Úvod PacketTracer
Dynamips Dynagen GNS3 Případovka Závěr
7
PACKETTRACER – UKÁZKA Úvod PacketTracer
Dynamips Dynagen GNS3 Případovka Závěr
8
PACKETTRACER – UKÁZKA Úvod PacketTracer
Dynamips Dynagen GNS3 Případovka Závěr
9
DYNAMIPS – ÚVOD Úvod
V roce 2005 Christophe Fillot vytvořil na základě zpětného inženýrství projekt k emulování HW C7200 Verze 0.2.8
PacketTracer Dynamips
Dynagen GNS3 Případovka Závěr
Emulátor kompletního HW routeru: CPU (MIPS64 a PowerPC) NVRAM a RAM (DRAM a SRAM) Bootflash (Intel)
…i jeho periferií: PA (port adapter) NM (network module) WIC (WAN interface card) NPE (network processing engine)
10
GNS3
Dynagen
Dynamips
DYNAMIPS – VLASTNOSTI V současnosti podporuje tyto CISCO sériové řady: Úvod
platforma/model C7200 platforma C3700
PacketTracer
model C3725 model C3745
Dynamips
platforma C3600
Dynagen
Případovka
model C3620 model C3640 model C3660
Závěr
platforma C2600
GNS3
model C2610 model C2650XM model C2691
platforma/model C1700
Jednoduchý Ethernetovský/Frame-Relayový/ATM switch 11
DYNAMIPS – PREREKVIZITY Úvod PacketTracer Dynamips
Dynagen GNS3 Případovka Závěr
12
Terminálový klient (PuTTy) Knihovna (Win)Pcap pro odchytávání síťového provozu, ale i vyvedení laboratoře do reálného prostředí IOS pro konkrétní model: krást ho z laboratoří C304 a L307 je však zbytečné, ani jedno zde umístěné zařízení není Dynamipsem podporováno IOSovský image je v základu zabalen do ZIPu, pokud chceme emulátoru odlehčit, provedeme manuální rozbalení za něj
DYNAMIPS – IDLE-PC HODNOTA Motivace: Když spustíme emulaci routeru, CPU našeho počítače ukazuje vytížení na 100% Úvod PacketTracer Dynamips
Dynagen GNS3 Případovka Závěr
13
Důvod a řešení: Dynamips emuluje HW a na něj naroubovává instrukce IOSu V každém IOSu však existují vycpávkové instrukce (obdoba NOOP v assembleru) pro synchronozaci Klíčem k odstranění nešvaru je říci emulaci jaký kód takové instrukci patří a ona je pak „ignorována“
DYNAMIPS – UKÁZKA Úvod PacketTracer Dynamips
Dynagen GNS3 Případovka Závěr
$ unzip -p c7200-advipservicesk9-mz.124-9.T.bin > image.bin warning [c7200-advipservicesk9-mz.124-9.T.bin]: 27904 extra bytes at beginning or within zipfile (attempting to process anyway) $ file image.bin image.bin: ELF 32-bit MSB executable, cisco 7200, version 1 (SYSV), statically linked, stripped $ ./dynamips image.bin -t npe-400 -p 1:PA-A1 -p 2:PA-8T -p 3:PA-4E Cisco 7200 Simulation Platform (version 0.2.5-x86) Copyright (c) 2005,2006 Christophe Fillot. IOS image file: image.bin CPU0: carved JIT exec zone of 64 Mb into 2048 pages of 32 Kb. NVRAM is empty, setting config register to 0x2142 C7200 instance 'default' (id 0): VM Status : 0 RAM size : 256 Mb IOMEM size : 0 Mb NVRAM size : 128 Kb NPE model : npe-400 Midplane : vxr IOS image : image.bin
Loading ELF file 'image.bin'... ELF entry point: 0x80008000 C7200 'default': starting simulation (CPU0 PC=0xffffffffbfc00000), JIT enabled. ROMMON emulation microcode.
14
Launching IOS image at 0x80008000...
DYNAMIPS – HYPERVISOR Úvod PacketTracer Dynamips
Od verze 0.2.5 lze emulovat více routerů naráz, a to dokonce distribuovaně na více počítačích Hypervisor běží implicitně na TCP portu 7200 Přístup na konzole jednotlivých instancí routerů přes telnet na implicitní porty 2000, 2001, 2002, …
Dynagen GNS3
Perfektní nástroj pro simulování laboratoří!!!
Případovka Závěr
15
Vedlo ke vzniku rozšíření pro snadnou správu a manipulaci s těmito laboratořemi…
DYNAGEN – ÚVOD V roce 2006 Greg Anuzelli jakožto pythonovský přídavek umožňující pohodlnější správu: Úvod PacketTracer
Dynamips Dynagen GNS3
emulovaných routerů spojů mezi zařízeními globální konfigurace celé laboratoře lokálních konfigurací routerů
Verze 0.11.0
Případovka Závěr GNS3
Dynagen
Dynamips
16
DYNAGEN – NET SOUBOR Úvod PacketTracer
Dynamips Dynagen GNS3 Případovka Závěr
Soubor, ve kterém je uložen formální popis celé simulované laboratoře Syntaxe jako INI soubor {<parametr> =
}* {[<sekce>] {<parametr> = }* {[[<podsekce>]] {<parametr> = }+ }+ }+
Formální struktura:
Obecná sekce
17
Sekce klienta
Podsekce modelu
Podsekce zařízení
DYNAGEN – NET SOUBOR Úvod PacketTracer
Dynamips Dynagen GNS3 Případovka Závěr
18
# Ukázková laborator autostart = false [localhost] [[7200]] image = \Program Files\Dynamips\images\c7200-jk9o3s-mz.124-7a.image npe = npe-400 ram = 192 idlepc = 0x81237589 [[ROUTER R1]] s0/0 = R2 s1/0 [[router R2]] # Není potřeba definovat spojení z R2 na R1, protože už existuje
DYNAGEN – OBECNÁ SEKCE Parametr autostart model Úvod PacketTracer
Dynamips
ghostios
Dynagen GNS3 Případovka
sparsemem
Závěr idlemax idlesleep
19
Hodnoty true | false
Popis V případě hodnoty true se ihned po spuštění simulace nastartují všechny instance routerů. Implicitní model routeru použitých v této simulaci.
1700|2610|2611|2620|2621| 2610XM|2620XM|2621XM| 2650XM|2651XM|2691|3620| 3640|3660|3725|3745|7200 true | false Redukuje vytížení fyzické paměti způsobem, že tentýž IOS je mezi více routery v paměti nahrán a sdílen pomocí paměťových map true | false Redukuje vytížení virtuální paměti jednotlivých instancí routeru jen na hodnotu, kterou v dané chvíli opravdu spotřebovávají unsigned integer Maximální doba uspání routeru v případě detekce čekací smyčky. unsigned integer Implicitní doba uspání routeru v případě detekce čekací smyčky.
DYNAGEN – SEKCE KLIENTA Parametr console
Hodnoty unsigned integer
workingdir
string
udp
unsigned integer
Úvod PacketTracer
Dynamips Dynagen GNS3 Případovka Závěr
20
Popis Základní port pro jednotlivá telnetová konzolová sezení. Cesta k adresáři, ve kterém bude Dynamips uchovávat všechny soubory týkající se spuštěné simulace. Základní port pro UDP NIO
DYNAGEN – PODSEKCE MODELU Úvod PacketTracer
Dynamips Dynagen GNS3 Případovka
Parametr image
Hodnoty string
ram
unsigned integer
nvram rom disk
unsigned integer unsigned integer unsigned integer
confreg npe
0x string
midplane mmap
std | vxr true | false
idlepc exec_area configuration cnfg
0x unsigned integer base64 string string
ghostios sparsemem idlemax idlesleep
true | false true | false unsigned integer unsigned integer
Závěr
21
Popis Absolutní či relativní cesta k souboru se zvoleným IOSem pro danou modelovou řadu. Množství MB virutální paměti alokované pro každou instanci routeru stejné modelové řady. Velikost NVRAM v MB. Velikost ROM v MB. Velikost PCMCIA ATA disku, v současnosti je k dispozici emulace až dvou takovýchto disků, tzn. = [1,2]. Šestnáctková hodnota konfiguračního registru. NPE modul, hodnota řetězce může mít libovolnou hodnotu odpovídající podporovanému HW. Nainstalovaný druh středové desky. Pokud je nastaveno na false využívá se k emulaci virtuální paměti routerů dané modelové řady opravdové fyzické RAM namísto swapování na disk. Šestnáctková hodnota idlepc viz. kapitola o Vytížení HW prostředků. Velikost spouštěcí oblasti v MB. Startup konfigurace kódovaná do řetězce ve formátu base64. Absolutní nebo relativní cesta k souboru se startup konfigurací uložené ve formátu plain-text. Viz předchozí slidey. Viz předchozí slidey. Viz předchozí slidey. Viz předchozí slidey.
DYNAGEN – PODSEKCE ZAŘÍZENÍ Úvod PacketTracer
Parametr model
Hodnoty unsigned integer
Popis Hodnota udává model konkrétního routeru, a jaká pro něj vyplývají nastavení v sekci modelové řady.
console
unsigned integer
Specifikuje hodnotu konzolového portu přepisujíc tak implicitní nastavení v sekci obecných nastavení.
aux mac
unsigned integer MAC-48 (: konvence)
slot
string
Auxiliary port pro daný router. Základní MACovská adresa tohoto routeru, přičemž pokud není explicitně specifikována tímto nastavením je generována náhodně automaticky. Řetězec, který specifikuje použitý portový adaptér PA nebo síťový modul NM. Může nabývat hodnot uvedených v kapitole Podporovaný HW. Přičemž parametr může nabýt platných číselných hodnot jednotlivých slotů.
wic<j>/
string
Pro modely routerů, které podporují WIC karty umožňuje ručně definovat, jaké WIC jsou nainstalované. Může nabývat hodnot uvedených v kapitole Podporovaný HW. Přičemž parametry <j>, můžou nabývat číselných hodnot jednotlivých portů.
[f|s|a]<j>/
<device> [f|s|a]<j>/
Na levé straně stojí rozhraní, které chceme spojit s na pravé straně stojícím zařízením <device> a jeho rozhráním. Obě rozhraní jsou definována řetězcem skládajícím se z typu rozhraní (s = sériové, f = fastethernetovské, a = ATM) a jeho číselného označení portů <j>/.
Dynamips Dynagen GNS3 Případovka Závěr
22
DYNAGEN – OVLÁDACÍ KONZOLE Úvod PacketTracer
Dynamips Dynagen GNS3 Případovka Závěr
23
GNS3 – ÚVOD Úvod PacketTracer
Dynamips Dynagen GNS3 Případovka
V roce 2007 jakožto grafická nádstavba (jakési GUI) pro Dynamips řízený Dynagenem Krom Dynagenu však do sebe integrovalo ještě emulátory dalších síťových zařízení jako: CISCO PIX CISCO ASA JunOS od Juniperu nad Qemu SW router přes Quaggu
Závěr GNS3
Dynagen
Dynamips
24
GNS3 – GUI Úvod PacketTracer
Dynamips Dynagen GNS3 Případovka Závěr
25
GNS3 – NASTAVENÍ Úvod PacketTracer
Dynamips Dynagen GNS3 Případovka Závěr
26
GNS3 – NASTAVENÍ Úvod PacketTracer
Dynamips Dynagen GNS3 Případovka Závěr
27
GNS3 – NASTAVENÍ Úvod PacketTracer
Dynamips Dynagen GNS3 Případovka Závěr
28
GNS3 – SPRÁVCE IOSŮ Úvod PacketTracer
Dynamips Dynagen GNS3 Případovka Závěr
29
GNS3 – L3 SWITCH Úvod PacketTracer
Dynamips Dynagen GNS3 Případovka Závěr
30
Motivace: Nikde však není emulátor L3 switche, pročpak? Odpověď: Cat3500 mají příliš odlišnou architekturu HW od routerů a jejich emulace (např. TCAM tabulky) je netriviální Řešení: Tak co kdybychom využili nějakého routeru a zabudovali do něj NM-16ESW!
GNS3 – L3 SWITCH Úvod PacketTracer
Dynamips Dynagen GNS3 Případovka Závěr
31
CHALLENGE LAB CCNP2 Úvod PacketTracer
Dynamips Dynagen GNS3 Případovka Závěr
Pomocí správce symbolů (Edit->Symbol Manager) vytvořeny dva vlastní symboly zastupující C3640, a to: „Cisco L3 switch“ „Cisco L2 switch“ 32
CHALLENGE LAB CCNP2 Úvod PacketTracer
Dynamips Dynagen GNS3 Případovka Závěr
33
autostart = True [localhost:7200] workingdir = D:\GNS3\CCNP3_working udp = 10000 [[3640]] image = F:\Install\Cisco IOS\Dekomprimovane\c3640jk9o3s-mz.124-16.bin chassis = 3640 ghostios = True sparsemem = True [[ROUTER AS2]] model = 3640 console = 2012 cnfg = D:\GNS3\CCNP3_configs\AS2.cfg slot0 = NM-16ESW f0/1 = R1 f0/0 f0/7 = DS2 f0/7 f0/8 = DS2 f0/8 f0/9 = DS1 f0/9 f0/10 = DS1 f0/10 symbol = Cisco L2 switch x = 20.5 y = -24.0 [[ROUTER AS1]] model = 3640 console = 2011 cnfg = D:\GNS3\CCNP3_configs\AS1.cfg slot0 = NM-16ESW f0/7 = DS1 f0/7 f0/8 = DS1 f0/8 f0/9 = DS2 f0/9 f0/10 = DS2 f0/10 symbol = Cisco L2 switch x = -236.5 y = -20.0 [[ROUTER DS2]] model = 3640 console = 2008 cnfg = D:\GNS3\CCNP3_configs\DS2.cfg
slot0 = NM-16ESW f0/7 = AS2 f0/7 f0/8 = AS2 f0/8 f0/9 = AS1 f0/9 f0/10 = AS1 f0/10 f0/11 = DS1 f0/11 f0/12 = DS1 f0/12 symbol = Cisco L3 switch x = 30.5 y = -175.5 [[ROUTER R1]] model = 3640 console = 2013 cnfg = D:\GNS3\CCNP3_configs\R1.cfg slot0 = NM-1FE-TX f0/0 = AS2 f0/1 x = 24.0 y = 106.0 [[ROUTER DS1]] model = 3640 console = 2007 cnfg = D:\GNS3\CCNP3_configs\DS1.cfg slot0 = NM-16ESW f0/7 = AS1 f0/7 f0/8 = AS1 f0/8 f0/9 = AS2 f0/9 f0/10 = AS2 f0/10 f0/11 = DS2 f0/11 f0/12 = DS2 f0/12 symbol = Cisco L3 switch x = -226.5 y = -175.5 [GNS3-DATA] configs = CCNP3_configs workdir = CCNP3_working
KDE ZÍSKAT? V podobě kompletního instalačního balíčku se všemi závislostmi Úvod PacketTracer
Dynamips Dynagen GNS3 Případovka Závěr
34
Windows: http://downloads.sourceforge.net/gns-3/GNS3-0.7win32-all-in-one.exe?download Linux: sudo apt–get install gns3 FreeBSD: pkg_add –r gns3 MAC OS: http://downloads.sourceforge.net/gns-3/GNS3-0.7intel-x86_64.dmg?download
REFERENCE Úvod PacketTracer
Dynamips Dynagen GNS3 Případovka Závěr
35
Oficiální stránka Dynamipsu: http://www.ipflow.utc.fr/index.php/Cisco_7200_Simulator Novinky pro Dynamips: http://www.ipflow.utc.fr/blog/ Návod k Dynegenu: http://dynagen.org/tutorial.htm Stránky GNS3: http://www.gns3.net Fórum komunity: http://7200emu.hacki.at/index.php Videotutoriály: http://www.blindhog.net