Tag-Archive for ◊ dynagen ◊

Cisco VoIP quick HOWTO
Thursday, March 19th, 2009 | Author:

Una din direcţiile majore de dezvoltare a Cisco este Voice over IP. Cisco oferă un număr mare de echipamente, software şi soluţii pentru VoIP.

Soluţiile VoIP se conectrează în jurul a Cisco Call Manager care este un Call Agent. Este un software ce face administrarea reţelei de VoIP. Acest software vine în două variante: Cisco Call Manager (sau după noua denumire dată de Cisco Unified Communications Manager… este acelaşi lucru) ce este un software ce rulează pe un server x386 peste MS Windows sau Call Manager Express (CME sau Cisco Unified Communications Manager Express) ce este un pachet ce rulează pe un router Cisco peste IOS. Ambele oferă aceleaşi facilităţi de bază. Imaginile de IOS ce vin cu CME au, de obicei, ‘voice’ în nume.

CME este compatibil cu o suită întreagă de protocoale VoIP printre care SIP, H323 şi SCCP. SSCP ( sau Skinny) este protocolul proprietar Cisco şi este suportat de majoritatea echipamentelor Cisco de Voce.

Clienţii pentru Call Manager sunt de obicei Telefoane IP ( ex 7960, 7906G )sau Cisco IP Communicator care este un program pentru Windows ce simulează un telefon (mai este cunoscut şi ca Softphone).

Call Manager Express oferă un wizard pentru configurarea telfoniei IP prin comanda “telephony-service setup”.

Iată o configurare simplă ( liniile notate cu * sunt explicaţii)

Router>enable

Router#configure terminal

Router(config)#interface f0/0

Router(config-if)#ip address 10.0.0.254 255.0.0.0

Router(config-if)#no shutdown

Router(config-if)#exit

Router(config)#telephony-service setup

Do you want to setup DHCP service for your IP Phones? [yes/no]: yes

*Activează un pool DHCP pentru telefoane

IP network for telephony-service DHCP Pool:10.0.0.0

Subnet mask for DHCP network :255.0.0.0

TFTP Server IP address (Option 150) : 150

* Prin Opţiunea 150 de la DHCP (netransmisă implicit), telefonul IP va ştii adresa serveului TFTP

TFTP Server IP address (Option 150) :10.0.0.254

Default Router for DHCP Pool :10.0.0.254

Do you want to start telephony-service setup? [yes/no]: yes

Enter the IP source address for Cisco IOS Telephony Services :10.0.0.254

Enter the Skinny Port for Cisco IOS Telephony Services : [2000]:

How many IP phones do you want to configure : [0]: 2

*Numărul de telefoane ce se vor conecta la CME

Do you want dual-line extensions assigned to phones? [yes/no]: yes

What Language do you want on IP phones : 0

Which Call Progress tone set do you want on IP phones : 0

What is the first extension number you want to configure : 100

*Numărul de telefon primit pe prima linie a primului telefon ce se înregistrează la CME

Do you have Direct-Inward-Dial service for all your phones? [yes/no]: no

Do you want to forward calls to a voice message service? [yes/no]: no

Do you wish to change any of the above information? [yes/no]: no

Acest setup va crea in running-config setările necesare pentru VoIP.

Se observă că adresa 10.0.0.254 a fost completată de 3 ori (ca Default Gateway, TFTP server şi IOS Telephony Services). Nu este obigatoriu ca aceste adrese să coincidă, pentru că nu este obligatoriu ca routerul respectiv să indeplinească toate rourile acestea. Default Gateway este routerul setat pe telefonul IP pentru a ieşi din reţeaua locală (serverul SCCP sau TFTP poate să fie în alt broadcast domain). Serverul TFTP oferă telefonului setările sale sub forma unui fişier XML (în acest fişier se va afla adresa/protul serverului SCCP). IOS Telephony Services este serverul cu CME ce are pornit serverul SCCP şi care va procesa semnalele de telefonie.

[1] http://alex.clubcisco.ro?p=104

Am mai vorbit de Dynamips/Dynagen [1] şi despre cum, nativ, nu are suport pentru a emula un Switch Catalyst. Ce putem face pentru a avea switchuri în toplogiile de testare? Răspunsul este folosirea unui modul de switch încărcat într-un slot din routerul virtual, cum ar fi NM-16ESW.

Scopul folosirii respectivului modul a fost captutarea de pachete DTP (Dynamic Trunking Protocol) pentru a observa negocierea între doua switch-uri.

Am pornit de la înstalarea Dynagen [1] şi configurarea unei interfeţe de loopback [2].

În fişierul de configurare am încărcat o imagine pentru un Router Cisco 3640 cu modulul de switching şi am setat ca o interfaţă din slot-ul de porturi de switch să fie legată cu interfaţa de loopback [3].

Configurarea unui Router arată astfel:

[[Router R1]]
model = 3640
slot0 = NM-16ESW
F0/0 = NIO_gen_eth:\Device\NPF_{7A7D2C17-D0C3-44AA-B17C-5417EF972BF9}

După ce am pornit routerele, comenzile de switchport au fost activate, inclusiv posibilitatea configurării interfeţei de management Vlan1 pe care am pus IP pentru a avea conectivitate între cele două switchuri şi calculatorul gazdă.

Următorul pas a fost instalarea Wireshark [4]. Wireshark, fostul Ethereal, este un program Open Source de captură a pachetelor. Suportă un număr foarte mare de protocoale, de la layer 2 până la 7 şi este un utilitar foarte puternic de analză a traficului.

Topologia a functionat ok, Wireshark a capturat traficul STP, CDP şi altele dintre “switch-uri”.

Problema a fost că am aflat tărziu de limitările modulului de switching. Nu suportă DTP, PAgP / LACP, BPDU-guard, ISL, şi VLAN-uri private (şi altele probabil).

Mulţumesc, BogdanS pentru ajutor. ;)

[1] http://alex.clubcisco.ro/?p=80

[2] http://alex.clubcisco.ro/?p=171

[3] http://alex.clubcisco.ro/?p=104

[4] http://www.wireshark.org/

Home Routers: Dynagen tips & tricks
Friday, September 05th, 2008 | Author:

Continuare la introul despre Dynagen si Dynamips, as vrea sa prezint niste feature-uri din acestea.
Accesul la routerele emulate se face prin telnet. By default, clinetul este telnet-ul din Windows sau Linux (care in cazul Windows sucks…parerea mea…si asta daca el este instalat, a se vedea Vista). Eu prefer sa folosesc Putty in loc de orice telnet. Programul cu care se face accesul se poate modifica, foarte usor. Din fisierul dynagen.ini din directorul radacina al Dynagen comentati linia cu telnet (cu un # in fata liniei) si decomentati-o pe cea cu Putty de exemplu (verificati ca path-ul sa fie corect spre executabil).

Un element important in Dynamips este IdlePC-ul. Acesta este o valoarea numerica, on cod care optimizeaza procesul de rulzare a IOS-ului, micsorand semnificativ consumul de procesor.

Rularea unei topologii in Dynagen se face prin deschiderea fisierelor .net (unde este descrisa topologia). Se deschide o interfata command line de unde se pot porni routerele ( start ROUTER_ NAME ), accesa routerele (telnet ROUTER_NAME) si se pot gasi si valorile IdlePC ce pot optimiza ruterele ce ruleaza pe sistem (idlepc get ROUTER_NAME). Vor returna pana la 10 valori, unele mai performante, alte nu. Aplicati una din ele. Exista totusi posibilitatea ca dynamips-ul sa dea eroare si sa pice.

Singurul lucru care m-a impresionat cu adevarat la dynagen este faptul ca pot face interactiunea intre routerul emulat si interfetele fizice de pe masina gazda.

Un fisier .net arata astfel:

[[ROUTER R1]]

f0/0 = R2 f0/0

[[ROUTER R2]]

f0/0 = R1 f0/0

Pe scrut, interfata_locala = echipament_vecin interfata_ecipament_vecin.

Putem face legatura cu o interfata fizica printr-o linie interfata_locala = cale_interfata. Acesta cale poate fi aflata scriptul Network device list (este un .bat in Windows sau un bash script in Linux). Dynagen-ul va presupune ca interfata routerului si interfata fizica a calculatorului gazda sunt conectate la un switch virtual. Tot ce trebuie sa faceti e sa puneti IP-uri din aceeasi retea si aveti legatura.

Iata o topologie simpla. Un router ‘conectat’ la un PC.

Routerul are adresa 192.168.238.2 si calculatorul 192.168.238.1. Ping succesfull :) .

Home Routers: GNS3/dynagen/dynamips Intro
Wednesday, August 20th, 2008 | Author:

Daca vreti sa va jucati cu un router Cisco si nu aveti acces la un echipament adevarat, aveti nevoie de un soft care sa va ofere aceleasi functii ca the real deal. Am mai mentionat Packet Tracer, un tool oferit de Cisco cu multe functii oferite (cel putin de la versiunea 4 in sus). Imi place foarte mult sa il folosesc si il recomand. Dar Packet Tracer este un simulator. Aceasta inseamna ca doar simuleaza ce ar trebui sa faca adevaratul router. In spate sunt doar niste if-uri si else-uri si in functie de ce comanda este introdusa si anumiti parametrii se returneaza un output.

O alta varianta ar fi un emulator. Diferenta este ca in loc sa simuleze ce ar face codul IOS-ului (sistemul de operare al routerelor Cisco), el chiar ruleaza codul doar ca nu pe platforma routerului (Power PC) ci pe o platforma de PC (i386).  Un astfel de soft este Dynamips, care ruleaza IOS-ul pe un PC sub forma unui daemon (serviciu), accesibil prin telnet pe un port pe localhost. Pentru a crea o retea de astfel de routere avem nevoie de un al doilea program care sa le lege. Aici intervine Dynagen. Acesta controleaza instante de dynamips in functie de setarile fisierului .net unde se mentioneaza routerele si felul in care sunt conectate (prin interfete Ethernet/ Seriale, switch virtual sau nor de Frame Relay).

Dar interfata dynagen este foarte user unfriendly (command line care mai ales in Windows e..well..Windows). Aici intervine GNS3. Este o interfata grafica care ruleaza deasupra lui dynagen si dynamips si este la fel de usor de folosit ca Packet Tracer. Puteti downloada installerul de Windows complet cu toate pachetele necesare (inclusiv dynamips si WinPCAP- pachetul ce captureaza pachetele pe pe interfete) de aici.

Dupa instalare, la prima rulare a GNS3 trebuie specificata calea catre executabilul dynamips (ar trebui sa fie detectat automat) si, mai important, calea catre un IOS. Atentie! Dynamips este doar emulatorul, programul de baza PESTE care ar rula un IOS. Asta inseamna ca de sistemul de operare al routerului trebuie sa faceti rost voi (Cisco IOS este un sistem de operare proprietar si closed-source… trebuie sa aveti drep de folosire al lui). IOS-ul vine sub forma unui fisier .bin, cu o dimensiunea de 10-50MB in functie de capabilitatile versiunii respective. Trebuie sa asociati modele de routere din GNS3 cu anumite sisteme de operare.

Designul unei topologii este foarte usor. All drag’n'drop. Adaugati echipamente din meniul din stanga si le conectati cu cablurile respective.

(Don’t mind the quality of the images…all done in MSPaint :P )

Pasul urmator este sa porniti routerele…

Dupa pornire, puteti sa accesati routerele prin Telnel. Din acelasi meniu ca si Start aveti Console. Rezultatul:

Si asta ar fi GNS3 in 10 minute. Recunosc ca sistemul nu e chiar usor pentru un incepator, dar de multe ori merita.

Pros and Cons: Proul este ca e un emulator si nu un simulator, deci permite cea mai realistica simulare a unui router. Cons-urile sunt mai multe: in primul rand mananca o cantitate imensa de resurse (RAM si CPU). In al doilea rand, trebuie sa procurati IOS-ul (ceea ce nu e usor). Si de simulat, nu putem emula decat routere si PIX-uri (cu ceva munca am inteles ca se poate emula si un Switch Layer3).

Am zis ca o introducere in acest sistem este necesara deoarece as dori sa revin cu alte exemple de lucruri ce pot fi facute cu aceste tooluri.