Laboratorul 01. Introducere

Motivație

Primul pas în lumea reţelelor începe cu achiziţionarea unor echipamente şi conectarea acestora la Internet.

Pregătire infrastructură de laborator

  • Instalare dynamips si dynagen in Linux:
    root@host:~# apt-get install dynamips
    root@host:~# apt-get install dynagen
  • Pornire server:
    student@host:~$ dynamips -H 7200
  • Inainte de a porni laboratorulul, verificati ca aveti structura de fisiere corecta. În general, ar trebui să fie:
    student@host:~$ ls
    laborator/ios/c3640-js.bin
    laborator/initial_configs/R1.cfg , R2.cfg etc.
    laborator/<fisier_topologie>.net
  • Pornire laborator
    student@host:~$ dynagen <fisier_topologie>.net
  • În dynagen aveți la dispozitie cateva comenzi:
    => list - afiseaza echipamentele si starea lor
    => start /all - porneste toate echipamentele
    => star R1 - porneste ruter-ul R1
    => telnet /all - porneste o consola pentru fiecare echipament
    => telnet R1 - porneste consola pentru R1
  • Pentru a salva configurațiile de pe echipamente in fisiere:
    • Pe fiecare echipament, din modul privileged exec, copiati configuratiile curente în startup config:
      R1# copy running-config startup-config
    • În dynagen
      => export /all final_configs
    • Pentru fiecare echipament, se va exporta un fișier de configurare în folderul final_configs

Recapitulare: Adresare IP și Subnetting

Protocolul IP este un protocol rutat, de nivel reţea. Adresarea în cadrul protocolului IP se face folosind adrese pe 32 de biţi. Pentru lizibilitate, adresele IP se scriu sub forma a 4 octeţi cu valori zecimale. Adresele IP utilizabile în adresarea unicast şi disponibile pentru subnetting se împart în clasele A, B şi C. Caracteristicile lor sunt sumarizate în tabelul de mai jos:

Clasa A Clasa B Clasa C
Valoarea primului octet 1 – 127 128 – 191 192 – 223
Masca implicită 255.0.0.0 - /8 255.255.0.0 - /16 255.255.255.0 - /24
Adresele valide de reţea 1.0.0.0 - 127.0.0.0 128.0.0.0 -191.255.0.0 192.0.0.0 -223.255.255.0
Nr. de reţele în clasă $2^7$ $2^{14}$ $2^{21}$
Nr. de adrese de host în fiecare reţea $2^{24}-2$ $2^{16}-2$ $2^8-2$
Nr. de octeţi pentru partea de reţea 1 2 3
Nr. de octeţi pentru partea de host 3 2 1

O mască este reprezentataă ca un şir binar de “1” urmat de un şir de “0”, având lungimea totală de 32 de biţi, aceeaşi lungime ca şi o adresă IP. Biţii de “1” dintr-o mască de reţea selectează partea de reţea a unei adrese, în timp ce biţii de “0” selectează partea de host. Dacă două adrese de host au partea de reţea egală, atunci se consideră că cele două adrese fac parte din aceeaşi reţea. Determinarea reţelei din care face parte o adresă pe baza unei măşti de reţea se face prin operaţia de ȘI (AND) logic. Spre exemplu:

Zecimal Binar
Adresă IP 192.168.15.1 11000000.10101000.00001111.00000001
Mască de reţea 255.255.255.0 11111111.11111111.11111111.00000000
Adresă de reţea 192.168.15.0 11000000.10101000.00001111.00000000

În concluzie, o reţea este unic determinată de adresa sa de reţea şi de mască.

Adresa de reţea conţine toţi biţii din partea de host la valorea “0”, deci este prima adresă a reţelei respective şi nu poate fi asignată unei interfeţe. De asemenea, ultima adresă a unei reţele, cea în care toţi biţii de host sunt setaţi la valoarea “1”, reprezintă adresa de broadcast a reţelei respective, o adresă folosită pentru a adresa toate staţiile din reţeaua respectivă şi care, de asemenea, nu poate fi asignată unei interfeţe. În concluzie, pentru fiecare adresă de reţea cu n biţi în partea de host, avem 2n-2 adrese utilizabile. În absenţa posibilităţii împărţirii în subreţele, toate reţelele ar trebui să posede o adresă de reţea a uneia dintre cele 3 clase majore, ceea ce ar duce rapid la consumarea tuturor adreselor de reţea posibile. Împărţirea în subreţele permite divizarea reţelelor din cele 3 clase în subreţele mai mici, nesuprapuse, cu mai puţine adrese de host, putânduse astfel maximiza utilizarea adreselor IP din fiecare clasă. Împărţirea în subreţele presupune “împrumutarea” unui număr de biţi din partea de host a adresei, biţi ce vor forma partea de subreţea şi a căror valoare va fi diferită pentru fiecare subreţea obţinută. Ca exemplu, vom considera reţeaua 192.168.2.0/24. Masca implicită este 255.255.255.0, deci primii 24 de biţi formează partea de reţea şi ultimii 8 biţi formează partea de host. Binar, adresa se reprezintă astfel:

Zecimal Binar (reţea + host)
Adresă IP 192.168.2.0 11000000.10101000.00000010.00000000

Împrumutăm 3 biţi din partea de host şi creăm segmentul de subreţea:

Zecimal Binar (reţea + subrețea + host)
Adresă IP 192.168.2.0 11000000.10101000.00000010.00000000

Toate adresele de subreţea vor avea masca /24 + 3 = /27. Partea originală de reţea va rămâne constantă, iar fiecare subreţea se va distinge printr-o valoarea distinctă în partea de subreţea. Prin împrumutarea a 3 biţi vom putea genera 23 = 8 subreţele:

Zecimal Binar (reţea + subreţea + host) Mască
Adresă iniţială 192.168.2.0 11000000.10101000.00000010.00000000 /24
Subnet 1 192.168.2.0 11000000.10101000.00000010.00000000 /27
Subnet 2 192.168.2.32 11000000.10101000.00000010.00100000 /27
Subnet 3 192.168.2.64 11000000.10101000.00000010.01000000 /27
Subnet 4 192.168.2.96 11000000.10101000.00000010.01100000 /27
Subnet 5 192.168.2.128 11000000.10101000.00000010.10000000 /27
Subnet 6 192.168.2.160 11000000.10101000.00000010.10100000 /27
Subnet 7 192.168.2.192 11000000.10101000.00000010.11000000 /27
Subnet 8 192.168.2.224 11000000.10101000.00000010.11100000 /27

Scurt tutorial pentru Dynamips/Dynagen

Dynamips reprezintă un emulator pentru ruterele Cisco ce emulează platformele din seriile: 1700, 2600, 3600, 3700 şi 7200. Dynagen este o interfaţă pentru Dynamips, comunicând cu acesta printrun hipervizor. Dynagen oferă o interfaţă în linie de comandă pentru a administra instanţele emulate de Dynamips şi permite crearea de fişiere de configurare cu o sintaxă simplă, ce stochează informaţiile necesare pentru a lansa o topologie de rutere în execuţie (modele, imagini IOS, moduri de interconectare, etc).

De ce folosim Dynamips? În primul rând, folosim Dynamips pentru că este un emulator și nu un simulator. Avantajul constă în faptul că Dynamips rulează codul IOS real, cel care este executat și de către echipamentele fizice. Un simulator, pe de altă parte, aproximează comportamentul unui echipament real, de cele mai multe ori cu o mulțime de facilități rămase neimplementate sau care nu funcționează conform celor reale. De asemenea, soluția bazată pe Dynamips oferă o flexibilitate considerabilă în crearea și managementul topologiilor, nefiind restricționat de numărul echipamentelor hardware și beneficiind totodată de toate facilitățile acestora. Dynamips este soluția ideală din punctul de vedere al costului și facilităților atât pentru laboratoare, testare, cât și pentru învățare. Pentru a putea lansa în execuţie instanţe de rutere, Dynamips necesită o imagine reală de IOS, pentru unul dintre modelele suportate. Fiecare imagine este rulată întro maşină virtuală ce emulează capabilităţile hardware ale platformei respective.

Sintaxa fişierelor de configurare .net

Fişierele ce stochează topologiile au implicit extensia .net şi sunt deschise de către Dynagen. Ele sunt simple fişiere text, editabile cu orice editor de texte.

Liniile ce încep cu # se consideră comentarii şi sunt ignorate dar sunt utile pentru configuraţii temporare sau pentru explicaţii legate de modul în care a fost realizată topologia. #acesta este un comentariu

Prima secţiune specifică adresa staţiei pe care rulează serverul Dynamips, deci de regulă este localhost. Numele serverului este încadrat între paranteze pătrate, iar toate celelalte linii încadrate cu două perechi de paranteze pătrate se vor considera că aparţin de hostul specificat anterior. Secţiunea delimitată de un model de ruter (ex: 3640 ) indică faptul că următorii parametri se vor aplica implicit tuturor instanţelor de 3640 ce vor fi create, nefiind necesară reluarea lor pentru fiecare instanţă:

[localhost]
[[3640]]

Spre exemplu, se pot defini ca parametri impliciţi adresa de unde va fi încărcată imaginea de IOS, sau cantitatea de memorie RAM:

image = /Users/octavian/ISO/IOS/c3640-js-mz.124-12.bin
ram = 160

În continuare, se pot defini instanţele de rutere ce vor apărea în topologie. Cuvântul cheie folosit este “router”, urmat de un şir de caractere ce va reprezenta numele său (dpdv al Dynagen, numele definit aici nu are legătură cu hostnameul).

[[router R1]]

Următoarele linii pot conţine parametri specifici acestei instanţe, cum ar fi o altă imagine IOS sau o altă valoare pentru memoria RAM alocată instanţei respective. Valorile declarate întro instanţă le vor suprascrie pe cele globale. Modelul este necesar dacă se folosesc instanţe diferite de 7200 (pe care Dynagen le consideră implicite). Tot aici se definesc şi legăturile dintre rutere, pe baza interfeţelor conectate între ele:

model = 3640
S1/0 = R2 S1/0

Linia de mai sus “spune” Dynagenului să instaleze un modul de interfeţe seriale (PA8T) şi să “conecteze” cu un cablu serial interfaţa Serial 1/0 de pe R1 cu interfaţa Serial 1/0 de pe R2. Intuitiv, în acest caz trebuie definită şi o instanţă numită R2, dar pentru aceasta nu este necesară specificarea legăturii seriale cu R1 deoarece se deduce din prima instanţă. Aşadar, definirea instanţei R2 va cuprinde doar:

[[router R2]]
model = 3640

Pentru a adăuga interfețe suplimentare ruterelor este necesară introducerea de module noi. Modulele conțin câte un număr fix de interfețe iar tipul modulelor ce pot fi folosite depinde de modelul ruterului folosit. Modulele suportate de imaginea IOS folosită în laborator sunt: NM1E: Ethernet, 1 port NM4E: Ethernet, 4 porturi NM1FETX: FastEthernet, 1 port NM16ESW: Modul de switching Ethernet, 16 porturi NM4T: Serial, 4 porturi Leopard2FE: FastEthernet în slot 0, introdus automat la definirea unei legături Ethernet în fișierul de configurare Dynagen. Pentru mai multe detalii cu referire la modulele și interfețele suportate pentru fiecare platformă, puteți consulta secțiunea din tutorialul online Dynagen . Modulele trebuie adăugate în sloturi libere. Definirea unei legături Ethernet între două rutere ocupă automat slotul 0 iar definirea unei legături seriale ocupă automat slotul 1. Modulele dorite se pot adăuga la nivelul fiecărui ruter din configurație. Exemplu:

[[router R1]]
slot2 = NM-4E

În acest moment fişierul .net creat este pregătit pentru a fi rulat. Conţinutul său ar trebui să arate astfel:

[localhost]
[[3640]]
image = /Users/octavian/ISO/IOS/c3640-js-mz.124-12.bin
ram = 160
[[router R1]]
S1/0 = R2 S1/0
model = 3640
[[router R2]]
model = 3640

Exercițiu: Porniți topologia de mai sus folosind Dynamips.

Pornire topologie

Pentru a putea porni topologia creată trebuie pornit serverul Dynamips. Pe Windows, se poate folosi scurtătura către Dynamips Server, de pe desktop, iar pentru Mac OS/Linux, comanda este de tipul

student@host:~$ dynamips –H 7200 &

ceea ce va porni serverul Dynamips pe portul 7200, în background. Încărcarea fişierului de configurare se face prin lansarea acestuia din Windows Explorer, ceea ce va porni automat Dynagen. Pentru Mac/Linux, se poate lansa explicit cu dynagen tutorial.net. La încărcarea fişierului se lansează consola de administrare a Dynagen, ce afişează următoarele:

Reading configuration file...
*** Warning: Starting R1 with no idle-pc value
*** Warning: Starting R2 with no idle-pc value
Network successfully loaded

Dynagen management console for Dynamips and Pemuwrapper 0.11.0
Copyright (c) 2005-2007 Greg Anuzelli, contributions Pavel Skovajsa

După afişarea promptului Dynagen, se poate folosi comanda list:

=> list
Name 		Type 		State 	Server 		Console
R1 		3640 		running 	localhost:7200 	2000
R2 		3640 		running 	localhost:7200 	2001
=>

Se observă că cele două rutere definite în fişierul topologie.net apar ca fiind pornite. Consolele lor sunt disponibile pe porturile 2000, respectiv 2001. Dacă în fişierul dynagen.ini a fost definit un client de telnet, se poate folosi comanda telnet <nume> pentru conectarea la consola unui ruter. Comanda telnet va deschide câte o fereastră pentru fiecare instanţă:

telnet R1

Pentru simplitate, se poate folosi şi comanda telnet /all pentru a deschide automat sesiuni de telnet către consolele tuturor echipamentelor din fisierul de configurare:

telnet /all

Outputul următor arată conţinutul unei console în urma comenzii telnet:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connected to Dynamips VM "R1" (ID 0, type c3600) - Console port

This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.

A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html

If you require further assistance please contact us by sending email to
export@cisco.com.

% Error! No serial number found for this platform.
cisco 3640 (R4700) processor (revision 0xFF) with 94208K/4096K bytes of memory.
Processor board ID 00000000
R4700 CPU at 100MHz, Implementation 33, Rev 1.2
Bridging software.
X.25 software, Version 3.0.0.
SuperLAT software (copyright 1990 by Meridian Technology Corp).
TN3270 Emulation software.
4 Serial network interface(s)
DRAM configuration is 64 bits wide with parity enabled.
125K bytes of non-volatile configuration memory.
8192K bytes of processor board System flash (Read/Write)


--- System Configuration Dialog ---
Would you like to enter the initial configuration dialog? [yes/no]:

Pentru pornirea şi oprirea ruterelor individuale se pot folosi comenzile start şi stop cu sintaxa următoare:

start {/all | router1 [router2] ...}
stop {/all | router1 [router2] ...}

Ieşirea din Dynagen se poate face prin comanda exit. Din moment ce comanda reload din IOS nu este suportată în Dynamips, repornirea unui ruter poate fi simulată din Dynagen printrun stop/start sau prin comanda reload cu aceiaşi parametri ca mai sus. Cu fişierul de configurare creat anterior, până în acest moment utilizarea procesorului calculatorului ar trebui să fie constantă, la 100%. Acest lucru se datorează faptului că Dynamips interpretează software toate instrucţiunile hardware ale fiecărei maşini virtuale, inclusiv operaţiile de „idle”, când ruterul nu execută efectiv instrucţiuni. Warningul de la pornirea topologiei avertiza în legătură cu acest lucru:

*** Warning: Starting R1 with no idle-pc value
*** Warning: Starting R2 with no idle-pc value

Idlepcul este o valoare numerică ce oferă lui Dynamips posibilitatea să identifice acele instrucţiuni din docul IOS care reprezintă instrucţiuni idle. Valoarea idlepc este dependentă doar de imaginea IOS, nu de maşina sau sistemul de operare pe care rulează Dynamips. Pentru a putea determina această valoare, este nevoie ca un ruter să se afle în starea idle. Implicit, ruterele pornire fără un fişier de configurare rămân aşteptând răspunsul administratorului pentru a intra în modul setup. Se alege un ruter care se scoate din această stare şi e lăsat să termine procesul de iniţializare, până când afişează promptul Router>.

% Please answer 'yes' or 'no'.
Would you like to enter the initial configuration dialog? [yes/no]: n


Press RETURN to get started!


*Mar 1 00:00:01.959: %LINK-4-NOMAC: A random default MAC address of 0000.0c81.f633 has
been chosen. Ensure that this address is unique, or specify MAC
addresses for commands (such as 'novell routing') that allow the
use of this address as a default.
*Mar 1 00:00:03.911: %LINEPROTO-5-UPDOWN: Line protocol on Interface VoIP-Null0, changed state to up
*Mar 1 00:00:03.919: %LINK-3-UPDOWN: Interface Serial1/0, changed state to up
*Mar 1 00:00:03.971: %LINK-3-UPDOWN: Interface Serial1/1, changed state to up
[ ...linii trunchiate ]
*Mar 1 00:29:46.559: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial1/0, changed state to down
Router>

În continuare, din consola de administrare Dynagen, se obţine o listă de idlepcuri posibile pe baza ruterului anterior:

=> idlepc get R1
Please wait while gathering statistics...
1: 0x6039243c [74]
2: 0x6046b680 [62]
3: 0x6046c744 [69]
4: 0x6046d02c [24]
* 	5: 0x6046d034 [53]
6: 0x6038dca4 [78]
7: 0x6038dd04 [63]
8: 0x6038dd38 [39]
9: 0x6038dd48 [41]
* 	10: 0x6046e58c [56]
Potentially better idlepc values marked with "*"
Enter the number of the idlepc value to apply [1-10] or ENTER for no change:

Valorile marcate cu asterisc sunt cele care vor fi cel mai probabil corecte. Se alege o valoare şi, dacă aceasta e corectă, efectul se va vedea imediat în scăderea dramatică a utilizării procesorului. După ce valoarea a fost determinată, acesta se poate introduce direct în fişierul .net, sub modelul de ruter definit (3640, în exemplul de mai sus):

idlepc = 0x6046e5b0

Salvarea configurațiilor Fișierul de configurație al unui ruter poate fi salvat prin comanda export, urmată de numele ruterului și de numele directorului în care aceasta va fi stocată.

=> export Razor myrazor
Exporting Razor to myrazor/Razor.cfg

E recomandată salvarea configurațiilor ruterelor la sfârșitul laboratoarelor.

Mai multe despre fișierele de configurare ale ruterelor veți afla în laboratorul următor.

Switchuri Dynagen suportă şi emularea unui switch simplu, dar care suportă VLANuri şi încapsulare dot1q. Un exemplu de definire a unui switch este următorul:

[[ETHSW S1]]
1 = access 1
2 = access 20
3 = dot1q 1

Conectarea virtuală a interfeţelor ruterelor la porturile unui astfel de switch se face în modul următor:

[[ROUTER R1]]
F1/0 = S1 1
[[ROUTER R2]]
F1/0 = S1 2
[[ROUTER R3]]
F1/0 = S1 3

Topologie

Resurse laborator

  • Descărcați fișierul de configurare de aici
  • Arhivă imagine OS aici

Exerciții

01. [5p] Detalii echipament

După achiziţionarea echipamentelor trebuie să verificaţi dacă produsele cumpărate sunt conform dorinţelor dumneavoastră. Notați informaţiile de mai jos pentru fiecare echipament: Versiunea de IOS Viteza la care rulează procesorul Dimensiunea NVRAM-ului Numărul și tipul interfețelor existente

Afișează rezolvarea
Ascunde rezolvarea
Afișează rezolvarea
R#show version

02. [5p] Mesaje de avertizare

Mesajele de avertizare din partea unui ruter pot deveni foarte deranjante în timpul configurărilor. Configuraţi echipamentele astfel încât aceste mesaje sa fie afişate pe următoarea linie în timpul editării unei comenzi.

Afișează rezolvarea
Ascunde rezolvarea
Afișează rezolvarea
R#conf t
R(config)#line console 0
R(config)#logging synchronous

03. [5p] Interval timeout

Setaţi intervalul de timeout pentru consolă la 0.

Afișează rezolvarea
Ascunde rezolvarea
Afișează rezolvarea
R#conf t
R(config)#line console 0
R(config)#exec-timeout 0 0

04. [10p] Configurare de bază

Munca dumneavoastră este abia la început. Este necesară o configurare de bază a echipamentelor cu nume şi adrese IP ca în figură. Conectivitatea între echipamente se testează folosind comanda ping.

Afișează rezolvarea
Ascunde rezolvarea
Afișează rezolvarea
R1#conf t
R1(config)#interface Fa1/0
R1(config)#ip address 191.105.157.1 255.255.255.0
R1(config)#no shutdown

R2#conf t
R2(config)#interface Fa1/0
R2(config)#ip address 191.105.157.2 255.255.255.0
R2(config)#no shutdown

R1#ping 191.105.157.2
!!!!

05. [5p] Configurație permanentă

Salvarea configuraţiei curente este foarte importantă în cazul în care un echipament trebuie repornit. Exportati configuratiile salvate in fisiere. Hint: Pentru repornirea echipamentelor nu folosiţi comanda reload, folosiţi oprirea si pornirea lor manual din dynagen.

Afișează rezolvarea
Ascunde rezolvarea
Afișează rezolvarea
R1#conf t
R1#copy running-config startup-config

sau

R1#write

06. [15p] Subnetare

O companie dorește ca rețeaua proprie (219.75.160.0/24) să fie împărțită în subrețele astfel:

  • subrețea cu 19 calculatoare din departamentul de marketing;
  • subrețea pentru cercetare-dezvoltare, având 40 de calculatoare;
  • subrețea cu 4 calculatoare pentru secretariat; subrețea de 6 calculatoare pentru contabilitate;
  • subrețea de 12 calculatoare pentru management.

07. [15p] Configurare adrese IP

Simularea reţelelor se face folosind interfeţe de loopback. Configuraţi pe echipamente, pe interfetele de loopback, urmatoarele IP-uri:

  • pe interfata Lo0 corespunzătoare ruterului R3, IP-ul 192.168.254.1/24;
  • pe interfata Lo0 corespunzătoare ruterului R1, un IP din subreteaua cercetare-dezvoltare, configurata la exercitiul anterior;
  • pe interfata Lo0 corespunzătoare ruterului R2, un IP din subreteaua management, configurata la exercițiul anterior.

08. [15p] Rute Statice

Adăugați rute statice pe cele 3 echipamente astfel încat să funcționeze ping-ul de la R1 către interfața de loopback a lui R3.

09. [10p] Telnet

Configuraţi echipamentul R3 pentru a putea fi accesat prin telnet. Folosiţi utilizatorul local natalie şi parola portman. Parola de enable trebuie să fie starwars şi să fie salvată în memorie folosind md5.

10. [5p] Banner

Pe echipamentul R3, configuraţi un banner cu mesajul “Warning”, care să apară în momentul în care un utilizator se conectează de pe alt echipament prin telnet.

10. [10p] Istoric echipament

Afisati ultimele comenzi introduse şi utilizatorii conectaţi la un anumit moment de timp pe echipamentul R3.

12. [BONUS - 5p] Alias-uri

Configuraţi alias-uri pentru comenzile de mai jos.

show ip int brief
show running-config
show startup-config

13. [BONUS - 5p] Buffer comenzi

Modificaţi dimensiunea buffer-ului în care se stochează istoricul comenzile introduse.

pr/labs/01.txt · Last modified: 2019/10/29 12:54 by octavian.grigorescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0