• No results found

Automatisera konfigurationen av routrar och switchar på ett IT-tjänsteföretag

N/A
N/A
Protected

Academic year: 2021

Share "Automatisera konfigurationen av routrar och switchar på ett IT-tjänsteföretag"

Copied!
79
0
0

Loading.... (view fulltext now)

Full text

(1)

Automatisera konfigurationen av routrar och switchar på ett IT-tjänsteföretag

Mohamed Boularbah

Examensarbete – Sja lvsta ndigt arbete fo r na tverksdrift Huvudområde: Datateknik

HP: 15 hp

Termin, år: VT, 2020

Handledare: Magnus Eriksson Examinator: Lennart Franked,

Utbildningsprogram: Na tverksdrift, 120 hp

(2)
(3)

Sammanfattning

Det anonyma fo retaget a r ett IT-tja nstefo retag som utfo r IT-tja nster efter kunds behov. De fick fo r na gra ma nader sedan en internetleveranto r som kund. De sko ter konfigurationen av internetleveranto rens routrar och swit- char som sen skickas till internetleveranto rens fo retagskunder. Arbetet ga r ut pa att uppgradera operativsystem pa routrar och switchar samt la gga till filer och sedan skicka produkt till internetleveranto rens slutkund. Filer och operativsystem skiljer sig a t beroende pa vilken typ av router och switch som ska uppgraderas. Arbetssa ttet idag a r ineffektivt och det blir en del fel da man idag arbetar med USB minnen. Ma let med detta arbete a r att effekti- visera deras arbetssa tt genom att lagra alla filer pa en TFTP server ista llet fo r pa USB minnen. Ett skript ska skapas med spra ket VB script som auto- matiserar konfigurationen av routrar och switchar. Terminal fo r att kunna kommunicera med router/switch a r SecureCrt. Personal pa Fo retaget har sagt att det i snitt tar ca 15 minuter att konfigurera en router manuellt. Man ko r endast en a t ga ngen pga. kvalitetssa kring och man ma ste sitta framfo r ska rmen under hela fo rloppet da man konfigurerar manuellt. Resultatet av mitt arbete ledde till en effektivisering. Tiden det tar att konfigurera en rou- ter hamnar pa samma tid, ca 15 minuter, dock kan man ko ra flera samtidigt men pga. platsbrist sa kan de ko ra max tva a t ga ngen samtidigt som man inte beho ver sitta framfo r ska rmen da skriptet sko ter all konfiguration. Det blev ocksa sa krare att ko ra da man slipper leta efter ra tt USB minne till motsva- rande enhet.

Nyckelord: VB script, SecureCrt, TFTP, CertifikationKits, Cisco, Router, Switch, HP ARUBA, IOS, Automatisering

(4)

Abstract

The anonymous company is an IT company that performs IT services ac- cording to customer needs. They got an internet provider as a customer about a couple of months ago. They manage the configuration of the ISP's routers and switches, which are then sent to the ISP's corporate customers.

The work involves upgrading operating systems on routers and switches as well as adding files and then sending the product to the ISP’s end customer.

Files and operating systems differ depending on the type of router and switch to be upgraded. The working method today is inefficient and there can be some errors when working with USB memory sticks today. The goal of this work is to improve and make their operation more effective by stor- ing all files on a TFTP server instead of on USB storage. A script will be cre- ated with the language VB script that automates the configuration of rout- ers and switches. The terminal for communicating with the router/switch is SecureCrt. Staff at the company have said that it takes on average about 15 minutes to manually configure a router. You only configure one at a time due to quality assurance and you have to sit in front of the screen through- out the process when configuring manually. The result of my work led to an efficiency improvement. The time it takes to configure a router ends at the same time, about 15 minutes, however, you can run several units simulta- neously but because of lack of space, they can run a maximum of two at a time, while not having to sit in front of the screen as the script handles all configuration. It also led to lesser errors as you do not have to look for the correct USB memory for the corresponding device.

Keywords: VBscript, SecureCrt, TFTP, CertifikationKits, Cisco, Router, Switch, HP ARUBA, IOS, Automation, ProCurve, Configuration

(5)

Förord

Fo rst och fra mst vill jag tacka Mittuniversitetet fo r tiden jag studerat hos dem. Jag skulle a ven vilja tacka Fo retaget AB fo r att jag fick mo jligheten att utfo ra mitt sja lvsta ndiga arbete hos er. Ni fick mig att ka nna mig som en i teamet och va lkomnade mig pa ba sta sa tt.

Ett stort tack a ven till min handledare Magnus Eriksson och examinator Lennart Franked.

Stort tack a ven till min familj och i synnerhet min fru Yasmine som sto ttat, underla ttat och motiverat mig genom hela utbildningens ga ng.

(6)

Innehållsförteckning

Sammanfattning iii

Abstract iv

Förord v

Terminologi vii

1Introduktion ... 1

1.1Bakgrund och problemmotivering ...1

1.2 Syfte ...2

1.3Avgra nsningar… ...2

1.4Ma l… ...2

1.5O versikt ...3

2Teori ... 4

2.1Cisco IOS ...4

2.2IOS upstart ...4

2.3IOS CLI - Command Line Interface ...5

2.4TFTP - Trivial File Transfer Protocol ...6

2.5VB Script - Microsoft Visual Basic Scripting Edition ...6

2.6Secure Crt ...7

2.7CertificationsKit TFTP Server………...7

2.8Tidigare forskning………...7

3Metod ... 8

3.1Utrustning och verktyg………...…….8

3.2Intervju av personal………...8

3.3Utvecklingsmiljo ………..9

3.3.1TFTP Server……….9

3.3.2SecureCrt………...10

4Konstruktion ... 12

4.1Manuell konfiguration………..12

4.2Automatisering av konfiguration………...15

4.3Beskrivning av skript………..16

4.4Skapande av skript………...18

4.5Resultat fra n skript………..25

4.6Automatisering i Rommon la ge………32

5Resultat ... 36

5.1 Effektivisering av process………...36

6Diskussion och slutsats... 38

6.1Etiska och samha lleliga aspekter……….38

6.2Framtida arbeten………..39

Källförteckning 40

Bilaga A: Skriptet 42

(7)

Terminologi

Akronymer/Förkortningar

ISP Internetleveranto r, Internet Service Provider IP

TFTP FTP VBScript SecureCrt CLI LAN IOS RFC

Internet Protocol.

Trivial File Transfer Protocol File Transfer Protocol

Microsoft Visual Basic Scripting Edition Terminal Emulator

Command Line Interface Local Area Network Internet Operating System Request for Comments

(8)

1 Introduktion

Det moderna samha llet har ro rt sig mer och mer mot automatisering, vilket har o ppnat stora mo jligheter i ba de den offentliga och privata sektorn. Auto- matisering ga r ut pa att ista llet fo r att manuellt beho va upprepa samma ar- betsmoment sa kan man automatisera det. Ett exempel pa automatisering a r tex en kaffemaskin da r man va ljer det kaffe man vill ha och sa trycker man pa en knapp, resten sko ter kaffemaskinen, dvs alla moment som beho vs fo r att du ska fa o nskad kaffe. Denna trend mot automatisering har inte undga tt IT-sektorn generellt, samt na tverk specifikt. Na r det ga ller na tverk sa finns det klara lo sningar pa hur man kan automatisera na tverket. Detta kallas fo r SDN - Software Defined Network. Ista llet fo r att manuellt arbeta med na tver- ket sa kan man anva nda en plattform da r all konfiguration hanteras automa- tiskt med fo rdefinierade policys och rutiner. Detta go r att man slipper konfi- gurera varje router/switch manuellt.[1] Fo rdelar med automatisering a r att kvalite n blir ba ttre, da den ma nskliga faktorn kan fo rbises. Det blir mer ef- fektivt, man beho ver inte ha lika ma nga medarbetare som go r detta, vilket leder till att man drar ner pa kostnaden. Det blir a ven la ttare att ha mta in ny outbildad personal, da arbetsmomenten sker automatisk och det oftast ra cker med grundkunskaper fo r att tex starta ett skript.

1.1 Bakgrund och problemmotivering

Det anonyma fo retaget a r ett IT-tja nstefo retag som utfo r tja nster pa produk- ter som sen skickas till kunder. Det arbetar idag ca 100 personer pa Fo reta- get och de har flera avdelningar da r de utfo r olika typer av IT-tja nster bero- ende pa produkter. Fo retaget finns i ma nga la nder runtom i va rlden. De har avdelning fo r mobil, server, laptop/stationa r dator, Ipad och nu a ven rout- rar/switchar. Tja nsterna kan tex vara att uppgradera ha rdvara eller mjuk- vara, sto ldma rkning, installation av applikationer, om-emballera produkter mm. De fick fo r na gra ma nader sedan en ISP som kund. De sko ter konfigu- rationen av ISPs routrar och switchar som sen skickas till ISPs fo retagskun- der. Men mestadels ro r det sig om Cisco routrar. Det som go rs a r att radera IOS samt all annan information som finns pa routern/switchen och da refter ladda in nytt IOS samt ISPs specifika information. Detta arbete sker idag ma- nuellt. IOSen och filerna fo rvarar de pa olika USB minnen. Det a r va ldigt ma nga olika routrar/switchar inneha llande ba de a ldre och nyare Cisco mo- deller, samt tre stycken HP Aruba switchar. Sammanlagt ro r det sig om 26 stycken routrar/switchar. Detta leder till at det finns ma nga USB-stickor att ha lla koll pa . Sa ha r ser deras arbetsflo de ut idag: Man tar en router/switch och kopplar den till sin dator via terminalen SecureCrt. Da r skriver man ma- nuellt in alla kommandon och med hja lp av USB ladda in o nskad information pa routern/switchen. Na r den a r klar, packas den ner och a r redo att skickas till ISPs slutkund. Problemet som fo retaget har a r att detta arbetssa tt a r in- effektivt. Dels tar det tid att bara kunna ko ra en router/switch a t ga ngen,

(9)

samt att beho va skriva alla kommandon manuellt och a ven beho va sitta framfo r datorn och kontinuerligt underso ka terminalen och va nta pa att in- formation ska laddas ned fra n USB. Vissa modeller tar la ngre tid, ibland uppemot en timme. Routrarna/switcharna kra ver a ven flera filer fra n USB minnet, vilket betyder att man beho ver upprepa kommandon fo r varje fil som laddas ned. Da refter ska routern/switchen startas om och verifieras att alla filer finns med. Denna omstart sker a ven den manuellt vilket a ven det tar tid. De har a ven problem med kvalitetsstyrningen och kvalitetskontroll da det ger upphov till ma nga olika felka llor. Till exempel sa finns det ma nga olika USB stickor som fo rvaras pa samma plats vilket go r det enkelt att man tar fel USB och tankar in fel IOS eller fel filer. Ma nga av routrarna har a ven va ldigt lika namn, som till exempel; 887VA, 887VAM, 892, 892FSP. Skulle man tanka in fel IOS i fel router sa kan det fa konsekvenser, och i va rsta fall en router som inte kan starta och som ista llet hamnar i ROMMON-la ge. En annan felka lla a r att na r det sla pps nya IOS/filer sa ma ste alla USB-stickor med den modellen uppdateras till det nya vilket kan glo mmas bort eller mis- sas av personalen. Detta a r a ven det ett moment som tar tid. Fo r att kvali- tetssa kra sa fa r man endast ko ra en router/switch a t ga ngen. Fo retaget vill att det ska bli mer flexibelt bland deras personal som sko ter detta sa att de kan utfo ra andra tja nster och hja lpa till pa andra avdelningar pa fo retaget under tiden som routrarna ko rs. Fo r att det ska vara lo nsamt att ha kvar den ha r tja nsten vill fo retaget effektivera arbetssa ttet och har satt som ma l att spara tid.

1.2 Syfte

Syftet med detta arbete a r att effektivisera fo retagets nuvarande arbetssa tt genom att ta fram en lo sning fo r Fo retaget sa att de blir mer effektiva i form av sparad tid.

1.3 Avgränsning

Detta arbete kommer att handla om hur man med hja lp av ett VB Script och en TFTP server kan automatisera konfigurationen av Cisco/HP Aruba rout- rar och switchar. Det kommer inte att handla om hur man kan automatisera ett redan befintligt na tverk (tex. NETCONF/YANG), utan endast hur man kan konfigurera enskilda enheter. Automatiseringen kommer endast utfo ras fo r bero rda routrar och switchar och inga andra modeller.

1.4 Mål

Lo sningen ska besta av att utveckla, testa och utva rdera ett script som kon- figurerar Cisco routrar/switchar och HP ARUBA switchar. Scriptet ska ha mta o nskad information fra n en TFTP server och ladda in informationen i aktuell router, starta om routern och da refter verifiera att det blev ra tt.

Ma len med arbetet a r att:

- Automatisera konfigureringen av Fo retagets routrar och switchar.

- Alla filer och OS ska lagras pa en TFTP server ista llet fo r pa USB minnen.

(10)

- Fo retaget ska spara tid pa automatiseringen av konfigurationen.

1.5 Översikt

Kapitel 1 Inledning, ha r beskrivs bakgrund, syfte och ma l

Kapitel 2 Teori, ha r beskrivs teorin som ligger till grund fo r automatise- ringen.

Kapitel 3 Metod, ha r beskrivs det hur lo sningen ska ga till samt vilken ut- rustning som anva nds.

Kapitel 4 Konstruktion, ha r beskrivs tilla mpning av lo sningen steg fo r steg Kapitel 5 Resultat, ha r beskrivs resultatet av lo sningen

Kapitel 6 Diskussion, ha r tas diskussion upp ga llande detta arbete

(11)

2 Teori

Man kan konfigurera routrar och switchar pa olika sa tt. Vissa routrar/swit- char har ett grafiskt gra nssnitt da r man kan konfigurera enheten medan andra har ett command line interface(CLI) da r man konfigurerar enheten.

Det finns ma nga olika tillverkare av routrar/switchar bland annat Cisco, HP, Juniper och Huawei. De olika tillverkarna har olika unika kommandon vil- ket inneba r att det a r skillnad pa att konfigurera till exempel en Cisco rou- ter ja mfo rt med en Juniper router. Det har a ven blivit en trend att ista llet fo r att konfigurera varje enhet pa ett na tverk sa anva nder man en kontrol- ler som sko ter det genom automatisering, SDN – software defined network.

Man kan a ven med hja lp av en TFTP server och ett terminalemuleringspro- gram som tex Putty, TerTerm, SecureCrt automatisera konfigurationen av en router/switch.

2.1 Cisco IOS

Cisco IOS a r en mjukvara som a gs av Cisco och som anva nds pa deras ha rd- varuprodukter som routrar och switchar. Pa Ciscos hemsida skriver de att IOS a r den va rldsledande mjukvaran fo r na tverksinfrastruktur.[2]

Cisco IOS utvecklades pa 1980 talet med C som programmeringspra k. IOS var va ldigt begra nsat och saknade bland annat sto d fo r symmetric multipro- cessing som inneba r att flera processer delar pa samma minne. Detta var en stor begra sning da det ledde till att ett jobb ma ste genomfo ras och bli klart innan man kan starta na sta jobb. Det finns en annan version av IOS som heter IOS-XE och a r va ldigt lik Cisco IOS men skillnaden a r att Linux anva nds pa XE. Exempel pa routrar som anva nder sig av IOS-XE a r ASR1001-X och ISR1111-8p. [3]

Ka rnfunktionen i Cisco IOS a r att go ra det mo jligt fo r noder i na tverk att kunna kommunicera. Det finns ma nga andra funktioner uto ver routing och switching som Cisco IOS erbjuder som go r det la ttare fo r en na tadministra- to r att o vervaka och go ra na tverket sa kert.

Cisco routrar och switchar utrustas med flera olika minnen sa som:

Flash: inneha ller bland annat IOS NVRAM: inneha ller startup-config ROM: inneha ller POST och Bootstrap [4]

2.2 IOS uppstart

Na r IOS startar sa sker fo ljande:

1. Fo rst utfo r na got som kallas fo r Power on self test (POST) en kontroll fo r att kolla att ha rdvaran pa enheten fungerar som den ska, som tex fla ktsystem.

(12)

2. Fra n ROM (read only memory) kopieras ett bootstrap program till RAM (Random access memory) som ko rs.

3. Bootstrap-programmet ga r igenom flash minnet och om den hittar IOS sa laddas det in i RAM minnet och startar IOS, om den inte hittar IOS eller om IOS a r skadat sa hamnar den i ett la ge som kallas fo r ROMMON. I ROMMON la ge kan man a ndra pa configuration-register, vilket inneba r att man a ndrar pa hur routern/switchen ska startas upp, tex ifall man vill att startup-config ska laddas in eller inte. Vilket kan vara bra ifall man glo mt lo senordet. Fo r att starta upp en router fra n ROMMON-la ge sa beho vs det en extern enhet, tex ett USB-minne eller en TFTP-server med aktuell IOS som go r att man kan starta upp routern.

4. Na r IOS a r laddat sa kollas det ifall det finns na gon startup-config till- ga nglig i NVRAM, om det finns sa laddas den in.[5]

2.3 IOS CLI – Command Line Interface

Command Line interface a r ett gra nssnitt som a r textbaserat. Ha r konfigu- rerar man router/switchen genom att knappa in kommandon. Fo rdelen med att konfigurera via CLI ja mfo rt med grafiskt gra nssnitt a r att det a r en- klare och effektivare samt att det blir la ttare att kopiera in klara konfigurat- ioner fa n en router till en annan. Det finna olika sa tt att fa a tkomst till IOS som tex via console porten som finns pa enheten eller via SSH/Telnet. Men fo r att fa a tkomst via SSH/Telnet sa beho ver routern/switchen ha en IP adress. Fo r att fa a tkomst via konsolporten sa beho vs ocksa ett termi- nalemuleringsprogram fo r att kunna kommunicera med enheten. Det finns ma nga sa dana program som tex SecureCrt, Putty och TeraTerm. Na r du fa tt a tkomst till en router sa kallas det fo r EXEC session. Cisco har delat upp EXEC session i tva delar, user EXEC level och privileged EXEC level. Skillna- den a r att pa user EXEC level sa har man bara tillga ng till o vervaknings- kommandon medan priviliege EXEC level go r att man fa r tillga ng till alla kommandon.

Kommando prompten visar dig i vilket la ge du befinner dig i vilket go r det enklare na r man navigerar.

Router> - User EXEC mode Router# - Privileged EXEC mode

Router(config)# - Configuration mode Router(config-if)# - Interface level mode Router(config-router)# - Routing level mode Router(config-line)# - Line level mode[6]

(13)

2.4 TFTP – Trivial File Transfer Protocol

I RFC 1350 kan man la sa om TFTP som a r ett simpelt standard-protokoll som a r la tt att implementera och som anva nds fo r att o verfo ra filer och anva nder sig av User Data Protocol(UDP) port 69. TFTP a r ett enklare protokoll a n FTP.

Till skillnad fra n FTP sa saknas en del funktioner som tex autentisering. Syf- tet med TFTP var att vara enkelt och litet da rfo r saknas vissa funktioner.[7]

Da TFTP saknar sa kerhetskontroller sa anva nds den oftast bara pa lokala na tverk - LAN. En annan skillnad a r ocksa att FTP anva nder TCP ista llet fo r UDP. Sa ha r ga r en o verfo ring fra n klient till server till:

Klienten bo rjar med att bega ra att la sa eller skriva en fil pa servern.

Da TFTP anva nder sig av UDP och saknar sa kerhetsfunktioner sa anva nds ista llet checksummor. Data block skickas med en besta md storlek, standard a r 512 bytes. Dessa block anva nds sen fo r att bekra fta att data blivit motta- gen och om den inte blivit det sa skickas det om igen. Innan na sta block skickas sa ma ste blocket innan ha blivit mottaget.

Exempel pa TFTP anva ndning:

-O verfo ra filer

-Uppgradera enheter

-Backup pa router/switch konfigurationer -Backup pa operativsystem, tex IOS

-Lagra filer

-Boota en enhet som saknar operativsystem[8]

2.5 VB Script - Microsoft Visual Basic Scripting Edition

VB Script a r ett skript spra k som utvecklats av Microsoft. Det a r en la ttare version av Microsofts programmeringsspra k Visual Basic. VB Script kom- mer oftast installerad som standard pa de flesta Windows datorerna. Vb Script utvecklades redan a r 1996 och inom loppet av tva a r sa hade man ga tt fra n version 1.0 till version 2.0 da systemadministrato rer ville ha ett ba ttre

Fig 1. Överföring av fil mellan klient och TFTP server

(14)

verktyg fo r automatisering. Vb Script kan anva ndas som client-side webbut- veckling och a r lik JavaScript i sin funktion men det a r endast webbla saren Internet Explorer som sto djer VB Script. VB Script anva nder sig av Compo- nent Object Model(COM) fo r att fa a tkomst till elementen i den miljo n den ko rs pa .

Man kan skapa applikationer med VB Script som kan ko ras direkt pa datorer som har Windows. Det a r va ldigt simpelt att skapa ett VB Script, det beho vs bara en textredigerare som tex Notepad da r man skriver in koden och da ref- ter sparar filen med a ndelsen .vbs, da refter a r det bara att dubbelklicka pa filen sa startas skriptet.

VB Script har en simpel syntax som a r la tt att la ra sig, a r inte ka nsligt fo r skiftla gesa ndring och anva nds fra mst av systemadministrato rer som jobbar med Windows. Micro Focus Unified Functional Testing (UFT) som a r ett automatiserat testprogram fo r utvecklare som testar olika applikationer an- va nder VB Script som skript spra k. Kortfattat sa a r VB Script ett bra skript

spra k fo r automatisering i windowsmiljo er.[9]

Det finns a ven en va ldigt bra guide som beskriver steg fo r steg hur man an- va nder VBScript. [10]

2.6 SecureCrt

SecureCrt a r ett terminalemuleringsprogram med ma nga funktioner som a r grafiskt gra nssnittbaserad. Till skillnad fra n andra emuleringsprogram som tex Putty sa kostar denna pengar och a gs av fo retaget VanDyke Software.

SecureCrt finns tillga ngligt fo r Windows, Mac, Linux och iOS. Den sto der ma nga protokoll bland annat, SSH1,SSH2, Telnet, Telnet/SSL mm. Med Secu- reCrt kan man a ven automatisera med hja lp av script genom att mappa tan- gentbordsknappar till att starta ett skript. Tex att om man trycker pa ctrl + A sa ska ett skript ko ras och om du trycker pa alt + C sa ska ett annat skript ko ras. Spra k som sto ds a r J-Script, Python, VB Script och Perlscript.[11] Van- dyke Software har en gratis e-bok som beskriver hur man kan anva nda VBscript fo r att skapa skript i SecureCrt. [12]

2.7 CertifikationsKit TFTP Server

Detta a r en TFTP server som a r gratis och enkel att installera. Man kan ladda upp och ner filer fra n flera olika na tverksenheter da den har na got som kal- las fo r ”Multi-threaded application”. Man kan o verfo ra filer som a r upp till 4GB stora. [13]

2.8 Tidigare forskning

I so kandet efter tidigare forskning som liknar lo sningen jag tagit fram fo r fo retaget sa fanns det ingen forskning som var snarlig. Den forskningen som fanns var inom automatisering av befintliga na tverk och inte konfiguration av separata enheter so i Fo retagets fall. Den forskningen jag hittat i automa-

(15)

3 Metod

Fo r att kunna automatisera den beskrivna processen har jag fa tt all utrust- ning som beho vs av fo retaget. De har fo rsett mig med en stationa r dator, en laptop, alla kablar samt switchar och routrar. De har labbexemplar pa alla routrar/switchar som de konfigurerar som jag fa r anva nda och labba med fo r att kunna testa att skriptet funkar i realtid. Testet go rs a ven pa fo retagets lokal da r jag fa tt ett tillfa lligt arbetsbord da r jag kan utfo ra mitt arbete.

Fo r att kunna ma ta tiden har jag fra gat personalen hur la ng tid det tar fo r dem att konfigurera routrar och switchar manuellt. Det finns sa ma nga olika modeller av routrar/switchar att det blir sva rt att ge en exakt tid pa detta.

Da rfo r kommer ma tning av tid endast att avse de routrar som oftast konfi- gureras och skickas till kund. Av 95 procent av alla enheter som konfigureras och skickas ut till ISPs slutkund kund sa a r det Cisco routrarna C887VAM, C819, C888, 888EA, 887VA-M, C1111, C1111-4PLTEEA, C897VAM-G, 892F, 892FSP, 881G, C898, C819G.

Det tar ungefa r 15 minuter per router att konfigureras manuellt och man fa r endast ko ra en a t ga ngen fo r att sa kersta lla och uppfylla fo retagets kva- litetssystem och rutiner fo r kvalitetssa kring. Under tiden som enheten kon- figureras sa ma ste man sitta framfo r ska rmen eftersom det a r flera filer som ska ha mtas och varje ga ng en fil ha mtas go rs det manuellt. Na r alla fi- ler a r ha mtade sa ma ste enheten startas om och efter uppstart verifieras att allt ga tt bra vilket ocksa tar tid och a r ineffektivt. Jag kommer att ma ta ti- den na r jag ko r ovanna mnda routrar med hja lp av skriptet som jag skapat och kan da ja mfo ra tiden. Dock kommer det slutgiltiga skriptet att omfatta alla routrar och switchar som fo retaget idag konfigurerar. Slutgiltigt skript kommer att finnas som bilaga.

3.1 Utrustning och verktyg

• Laptop med Windows som operativsystem: Pa denna laptop kommer jag att installera TFTP servern CertifikationsKit och tilldela en statisk IP adress, 192.168.1.3 255.255.255.0. Denna server ska lagra alla filer som idag finns pa USB minnen sa att man ska slippa arbeta med USB.

• Stationa r dator med Windows. Pa denna dator finns SecureCrt fo r- installerad.

• Skript spra k som ska anva ndas a r VB script.

• Fo r testskript sa ska jag automatisera konfigurationen pa modellerna:

Cisco router C1111, Cisco router C819 och HP Aruba switch j9729A.

3.2 Intervju av personal

Fo r att ta reda pa tidsa tga ngen fo r manuell konfigurering av routrar och switcher sa fra gade jag alla pa avdelningen som hade det som arbetsuppgift.

Fyra personer intervjuades om hur la ng tid konfigurationen tar och hur la ng tid de sitter framfo r ska rmen samt hur la ng tid det tar att starta upp en

(16)

router innan man kan bo rja konfigurera. Detta ska sedan ja mfo ras med hur la ng tid det tar att starta upp och ko ra skriptet fo r automatiserad konfigu- ration. Tiden spenderad framfo r ska rm ska a ven tas ha nsyn till.

3.3 Utvecklingsmiljö 3.3.1 TFTP server

Till en bo rjan installerades TFTP-servern CertifikationKits pa laptopen.

Denna server a r gratis att ladda ned och anva nda. Alla filer som beho vs fo r att uppgradera fo retagets routrar och switchar lagrar jag pa TFTP-servern i en mapp do pt till RouterKonfig\TFTP-Storage. TFTP-servern konfigureras med en statisk IP adress, 192.168.1.3 255.255.255.0.

Fo r att automatisera processen fo r fo retaget sa beho ver ett skripts skapas och till det anva nds textredigeraren NotePad. Innan detta ska go ras sa testas konfigurationen av routrar och switchar manuellt, da r filerna nu ligger pa TFTP servern. Detta testas pa tre olika enheter som ko r olika operativsystem.

Jag kommer a ven att testa att starta upp en Cisco router fra n ROMMON la ge med hja lp av TFTP servern. Att starta upp en Cisco enhet fra n ROMMON la ge ska ocksa automatiseras.

(17)

pa bo rjar skriptet a r Cisco C1111(IOS XE), Cisco 819G-4G-GA(IOS) och HP ARUBA J9729A(ProCurve). Funkar det att konfigurera dessa tre sa inneba r det att det kommer att fungera med resterande modeller av routrar och swit- char da det bara finns dessa tre typer av operativsystem pa fo retaget.

3.3.2 SecureCrt

Router C1111 ansluts till datorn med en consolekabel fo r att kunna skriva kommandon till routern via terminalemulatorn SecureCrt. Mellan TFTP- server och router/switch har jag en fabriksa tersta lld switch som ska o ver- fo ra filerna. Fo r att dator och router/switch ska kunna kommunicera sa ma ste SecureCrt sta llas in med korrekta parametrar. Man ma ste fo rst veta vilken COM port som consolekabeln a r ansluten till pa datorn. Det kan man enkelt hitta via enhetshanteraren. I detta fall a r det COM port 6 som an- va nds.

(18)

SecureCrt sta lls in med fo ljande insta llningar:

Port: COM6 Baud rate: 9600 Data bits: 8 Parity: None Stop bits: 1

(19)

4 Konstruktion

I framtagandet av lo sningen sa fanns det na gra satta krav fra n fo retaget.

Dessa var:

- Skript spra k ska vara VB Script. Detta fo r att det finns personal som a r be- kanta med det spra ket.

- Terminal emulator ska vara SecureCrt da Fo retaget betalat licenser fo r att kunna anva nda denna terminal.

- Automatiseringen ska go ra att Fo retaget sparar tid.

4.1 Manuell konfiguration

Routern C1111 har startats upp och kommandon kan nu bo rja skrivas.

Routern tilldelas en adress i samma LAN, 192.168.1.16 255.255.255.0 och jag testar att pinga servern.

När servern har pingats framgångsrikt så är det dags att testa att ladda ned alla aktuella filer till routern från TFTP-servern.

Filerna som ska laddas ner är följande:

1. c1100-universalk9_ias.16.09.04.SPA.bin 2. autoinstall.tcl

3. kundmall-isr1111-grundkonfig.txt

De första två filerna ska laddas ner i routerns flashminne och den sista filen ska laddas ner i routerns NVRAM minne.

Kommandona som jag skriver för att genomföra detta är följande:

Enable

Configure terminal Config register 0x2102 Ip tftp blocksize 8192 Int g 0/0/0

Ip address 192.168.1.10 255.255.255.0

(20)

No shut End

Format bootflash:

Write erase:

Copy tftp: bootflash:

192.168.1.3

c1100-universalk9_ias.16.09.04.SPA.bin copy tftp: flash:

192.168.1.3 autoinstall.tcl

Copy tftp: startup-config 192.168.1.3

kundmall-isr1111-grundkonfig.txt reload

Alla filer laddades ned framgångsrikt till routern. Detta verifieras efter att routern startar om. Nu dyker en login banner upp med information om att endast personal på ISP får access till enheten, samt namnet på ISP och jag måste även ange ett lösenord för att komma in på enable-läget.

Med kommandon dir flash och dir nvram kan jag verifiera att alla filerna laddats ned.

Förklaring på kommandon:

Config-register 0x2102: Här talar man om för enheten att starta routern med startup-config(kundmall-isr1111-grundkonfig.txt). Om man istället skulle använda config-register 0x2142 så startar routern endast upp med IOS och utan startup-config. Det kan vara bra att göra om man glömt lösen- ord till routern.

Ip tftp blocksize 8192: här ökar man blockstorleken på data som laddas ned från TFTP-servern för att öka hastigheten. Standardinställning brukar vara 512.

Format bootflash: raderar allt som finns lagrat i flashminnet.

Write erase: raderar allt som finns lagrat i NVRAM minnet.

Nu ska samma process köras på routern Cisco 819G-4G-GA.

Filer som ska laddas ner är:

1. c800-universalk9-mz.SPA.158-3.M3.bin 2. autoinstall_no_dhcp.tcl

3. kundmall-819-grundkonfig.txt

4. MC7304_1102029_9903299_05.05.58.00_00_TELSTRA_005.010_00 0.spk

5. MC7304_9999999_9902674_05.05.58.00_00_GENEU- 4G_005.026_000.spk

(21)

Alla filer ska laddas ned till flash minnet förutom filen kundmall-819- grundkonfig.txt som ska laddas ned till NVRAM. Kommandon för att utföra detta är följande:

Enable

Configure terminal Config register 0x2102 Ip tftp blocksize 8192 Int g 0

Ip address 192.168.1.10 255.255.255.0 No shut

End

Format flash:

Write erase:

Copy tftp: flash:

192.168.1.3

c800-universalk9-mz.SPA.158-3.M3.bin copy tftp: flash:

autoinstall_no_dhcp.tcl copy tftp: startup-config:

kundmall-819-grundkonfig.txt copy tftp: flash:

192.168.1.3

MC7304_1102029_9903299_05.05.58.00_00_TELSTRA_005.010_000spk copy tftp: flash:

192.168.1.3

MC7304_9999999_9902674_05.05.58.00_00_GENEU-4G_005.026_000.spk reload

Nedladdning av filerna lyckades och verifierades efter omstart.

Tredje enheten som ska konfigureras är en HP Aruba switch J9729A. Det är endast OS som ska laddas ned, WB_15_14_0007.swi.

Nedan kommandon används för att konfigurera HP Aruba switchen:

Configure terminal Vlan 1

Ip adress 192.168.1.10 255.255.255.0 Exit

End

Copy tftp flash 192.168.1.3 WB_15_14_0007.swi Reload

Uppgraderingen av operativsystemet lyckades även på denna switch. Det verifieras genom att skriva kommandot show version efter att switchen startats om.

Nu ska cisco router C1111 startas från ROMMON-läge. ROMMON-läge inne- bär att routern antingen inte har något IOS eller att den är skadad. För att

(22)

starta upp en sån router kan man starta upp den med hjälp av en TFTP-ser- ver.

Kommandon som används för att starta upp routern är:

IP_ADDRESS=192.168.1.10 IP_SUBNET_MASK=255.255.255.0 DEFAULT_GATEWAY=192.168.1.3 TFTP_SERVER=192.168.1.3

TFTP_FILE= c1100-universalk9_ias.16.09.04.SPA.bin Boot tftp:

Dessa kommandon gör att routern startar upp med IOS c1100-univer- salk9_ias.16.09.04.SPA.bin via TFTP-servern, men dock laddar den inte in något IOS i flashminnet. Det får man göra efter att routern startat upp.

Nu när det är bekräftat att det funkar att ladda ner filer från servern till de tre olika operativsystem så är det dags att automatisera denna process.

4.2 Automatisering av konfiguration

Företaget konfigurerar idag 26 stycken routrar och switchar. Ett skript ska skapas som automatiserar konfigurationen av de tre enheterna som

konfigurerades manuellt(819, C1111, HP ARUBA). Om det funkar bra att konfigurera enheterna så kommer skriptet att utökas så att alla 26 enheter ska gå att konfigurera med skriptet.

Terminalen SecureCrt stödjer både Python och VB script som skript språk.

Detta skript kommer att skrivas i VB script. Till min hjälp har jag använt mig av boken ” Scripting Essentials: A Guide to Using VBScript in Secu- reCRT” [14] där många olika funktioner tas upp som tex ” crt.screen.Send”

som gör att det går att skriva kommandon till SecureCrt terminalen, samt funktionen ” crt.Screen.WaitForStrings” som väntar på en textsträng du an- givit innan nästa kommando ska köras. Skriptet kommer att skrivas på textredigeraren NotePad. När scriptet är klart så sparar man filen med än- delsen .vbs för att det ska bli ett vbscript.

Skriptet ska se till att användaren endast ska behöva koppla in rou-

ter/switch till datorn med en consolekabel och en kabel från router/switch till switchen som är kopplad till TFTP-servern. När router/switch startats upp så ska användaren trycka på tangentbordskombinationen ”crtl + a” för att starta skriptet. En fördel med SecureCrt är att man kan använda sig av vilka kombinationer man vill för att starta ett skript.

(23)

4.3 Beskrivning av skript

När skriptet är startat så frågas användaren efter sista oktetten av IP adressen som ska vara mellan 11-254. När IP adressen är klar så ska an- vändaren mata in ID numret på router/switch så att rätt information häm- tas till rätt enhet. Nu påbörjas konfigurationen och användaren kan göra annat jobb under tiden som skriptet sköter konfigureringen. ID numret på varje enhet bestäms av mig och jag kommer skapa en Excel-lista på alla en- heter, vilket ID samt vilka filer som tillhör. Om enheten befinner sig i ROM- MON läge så ska användaren skriva rommon först, och därefter skriva in ID numret och då hämtas rätt IOS för att kunna starta upp enheten.

På grund av platsbrist så kan användaren endast köra två enheter åt gången och det är viktigt att alla som kör bestämt vilka IP adresser de ska använda så att det inte uppstår någon IP-konflikt när de laddar ner filer från den gemensamma TFTP-servern. Bilden nedan visar hur att arbets- bord ser ut, man får endast plats med två stycken routrar per gång.

(24)

Fig 3. På grund av platsbrist finns det endast utrymme att köra två enheter åt gången.

Fig 2. Flödesschema för skriptet.

(25)

4.4 Skapande av skript

Till en början skapas två variabler; IP och ID.

IP variabeln = Här matar användaren in sista oktetten av IP adressen.

ID variabeln = Här matar användaren in ID numret på enheten som ska konfigureras.

Därefter skapas tre stycken konstanta värden. De konstanta värdena är TFTP-serverns IP adress (192.168.1.3), nätmasken (255.255.255.0) samt de tre första oktetterna av det lokala nätverket som personalen ska använda (192.168.1.).

dim IP, ID

const SERVER_IP = "192.168.1.3"

const IP_BASE = "192.168.1."

const NETMASK = "255.255.255.0"

En ”sub main” procedur skapas. I den proceduren dyker en ruta upp som ber användaren att mata in antingen enhetens ID nummer eller rommon.

Skriver användaren ”rommon” så ska den skapade funktionen som heter rommon anropas. Det spelar ingen roll om användaren skriver med små el- ler stora

bokstäver då skriptet använder sig av Ucase som gör att det alltid blir stora bokstäver.

Om användaren matar in ett ID nummer som inte finns så ska en ruta dyka upp på skärmen och nämna det.

Sub main

ID = Inputbox("Ange ID nummer eller rommon:") if Ucase(ID) = "ROMMON" then

call Rommon exit sub end if

if IsNumeric(ID) = false then

msgbox("ID numret du angav finns ej. -> " & ID) exit sub

end if

Användaren ska nu skriva in sista oktetten av IP adressen som ska vara mellan 11-254. Om användaren skriver in ett annat värde så visas ett fel- meddelande på skärmen och main proceduren börjar då om från början.

IP = InputBox("Skriv in sista siffran på ip-adressen" & vbCR & IP_BASE & "xx:") if IsNumeric(IP) = true then

if IP > 254 then

msgbox("IP ska vara mellan 11-254")

(26)

call main exit sub

ElseIf IP < 10 then

msgbox("IP ska vara mellan 11-254") call main

exit sub end if

else

msgbox("Ska vara ett heltal mellan 11-254") call main

exit sub end if

När IP adressen är inmatad så anropas en funktion som skapats som heter

”check”. Då skrivs följande information på SecureCrt terminalen; vilket

datum det är, vilket operativsystem som ska laddas ned, ID nummer, samt vem som skapat skriptet. (vbCR = radbrytning.)

Sub Check

crt.screen.Send(vbCR)

crt.screen.Send("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" & vbCR) crt.screen.Send("!!!!! ID: " & ID & vbCR)

crt.screen.Send("!!!!! Filnamn: " & GetFileName(ID) & vbCR) crt.screen.Send("!!!!! " & Now & vbCR)

crt.screen.Send("!!!!! Script created by Mohamed Boularbah" & vbCR) crt.screen.Send("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" & vbCR) End Sub

Om användaren har matat in korrekt ID så kommer skriptet att anropa till- hörande kod och enheten kommer att konfigureras. Om användaren till ex- empel matade in 1010 så anropas s1010 (koden där enheten konfigure- ras). Vid fel ID nummer så meddelas användaren att det är fel.

Select Case (ID)

case "1010": call s1010 case "2020": call s2020 case "3030": call s3030 case else:

msgbox("Fel ID nummer angivet.") exit sub

end select End Sub

En public function skapas (GetFileName). I den funktionen skapas olika Case som ska hämta operativsystemet beroende på vilket ID man matat in.

Om man tex skrivit in ID nummer 1010 så ska operativsystem c800-uni-

(27)

tillfälliga för detta testskript och kommer att ändras när det slutgiltiga skriptet skrivs.

Public Function GetFileName(file) select case (file)

case "1010": GetFileName = "c800-universalk9-mz.SPA.158-3.M3.bin"

case "2020": GetFileName = " c1100-universalk9_ias.16.09.04.SPA.bin "

case "3030": GetFileName = " WB_15_14_0007.swi "

case else: GetFileName = "Fel ID nummer, finns ej"

end select end Function

I rommon proceduren skapas en variabel som heter sFile som får sitt värde av användaren som matar in ID nummer. Därefter anropas public function GetFileName för att hämta rätt IOS. Nu påbörjas konfiguration och använ- daren slipper konfigurera manuellt. IP adress vid rommon är satt till en konstant IP-adress 192.168.1.5.

Sub Rommon dim sFile

sFile = InputBox("Nu kör vi rommon-läge" & vbCR & "Ange ID nummer:") crt.screen.Send("IP_ADDRESS=192.168.1.5" & vbCR)

crt.Screen.WaitForStrings (">")

crt.screen.send("IP_SUBNET_MASK=" & NETMASK & vbCR) crt.Screen.WaitForStrings (">")

crt.screen.send("DEFAULT_GATEWAY=" & SERVER_IP & vbCR) crt.Screen.WaitForStrings ">"

crt.screen.send("TFTP_SERVER=" & SERVER_IP & vbCR) crt.Screen.WaitForStrings ">"

crt.screen.send("TFTP_FILE=" & GetFileName(sFile) & vbCR) crt.Screen.WaitForStrings ">"

crt.screen.send("boot tftp:" & vbCR) crt.Screen.WaitForString("continue?") crt.screen.send("y" & vbCR)

crt.screen.send(vbCR)

End Sub

Funktionen s1010 som innehåller koden som konfigurerar enheten som anropas om användaren matat in ID 1010 ser ut som följande:

Sub s1010

crt.screen.Send( vbCR) crt.screen.Send( "enable" &vbCR)

crt.screen.Send( "config terminal" &vbCR) crt.screen.Send( "ip tftp blocksize 8192" &vbCR) crt.screen.Send( "int g 0" & vbCR)

crt.screen.Send( "ip address " & IP_BASE & IP & " " & NETMASK &vbCR) crt.screen.Send( "no shut" &vbCR)

crt.screen.Send( "config-register 0x2102" &vbCR) crt.screen.Send( "end" &vbCR)

(28)

crt.screen.Send( "write erase" &vbCR) crt.screen.Send(vbCR)

crt.screen.Send( "format flash:" &vbCR) crt.screen.Send( vbCR)

crt.screen.Send( "copy tftp flash" &vbCR) crt.screen.Send( SERVER_IP &vbCR) crt.screen.Send( GetFileName(ID) & vbCR) crt.screen.Send( vbCR)

crt.Screen.WaitForString("97182536 bytes copied") crt.screen.Send( vbCR)

crt.screen.Send( "copy tftp flash" &vbCR) crt.screen.Send( SERVER_IP &vbCR) crt.screen.Send( "autoinstall_no_dhcp.tcl") crt.screen.Send( vbCR)

crt.Screen.WaitForString("56552 bytes copied") crt.screen.Send( vbCR)

crt.screen.Send( "copy tftp startup-config" &vbCR) crt.screen.Send( vbCR)

crt.screen.Send( "kundmall-819-grundkonfig.txt" & vbCR) crt.screen.Send( vbCR)

crt.Screen.WaitForString("2860 bytes copied") crt.screen.Send( vbCR)

crt.screen.Send( "copy tftp flash" &vbCR) crt.screen.Send( SERVER_IP &vbCR)

crt.screen.Send( "MC7304_1102029_9903299_05.05.58.00_00_TELSTRA_0 05.010_000.spk")

crt.screen.Send( vbCR)

crt.Screen.WaitForString("34841143 bytes copied") crt.screen.Send( vbCR)

crt.screen.Send( "copy tftp flash" &vbCR) crt.screen.Send( SERVER_IP &vbCR)

crt.screen.Send( "MC7304_9999999_9902674_05.05.58.00_00_GENEU- 4G_005.026_000.spk")

crt.screen.Send( vbCR)

crt.Screen.WaitForString("34834883 bytes copied") crt.screen.Send( vbCR)

crt.screen.Send( "reload" &vbCR) crt.screen.Send( vbCR)

crt.Screen.WaitForString("Time taken to reboot after reload") crt.screen.Send( vbCR)

crt.screen.Send( "enable" &vbCR) crt.Screen.WaitForString "assword:"

crt.screen.Send( "xxxxxxxxx" &vbCR) crt.screen.Send( vbCR)

crt.screen.Send( "dir flash:" &vbCR) crt.screen.Send( "dir nvram:" &vbCR) End Sub

Detta är konfigurationen för Cisco 819G-4G-GA routern. Skriptet laddar ned IOS samt resten av filerna. Med hjälp av crt.Screen.WaitForString kan man pausa skriptet innan den önskade textsträngen syns på terminalen och då fortsätter skriptet att köra. Efter att den laddat ned alla filer så star- tas routern om, skriver in lösenord för att logga in på routern och med

(29)

Nu testas skriptet på Cisco router C1111 som kör IOS XE. ID nummer är 2020 och funktion s2020 ser ut som följande:

Sub s2020

crt.screen.Send( vbCR) crt.screen.Send( "enable" &vbCR)

crt.screen.Send( "config terminal" &vbCR) crt.screen.Send( "config-register 0x2102" &vbCR) crt.screen.Send( "ip tftp blocksize 8192" &vbCR)

crt.screen.Send( "int g 0/0/0" &vbCR)

crt.screen.Send( "ip address " & IP_BASE & IP & " " & NETMASK &vbCR) crt.screen.Send( "no shut" &vbCR)

crt.screen.Send( "end" &vbCR)

crt.screen.Send( "format flash:" &vbCR) crt.screen.Send( vbCR)

crt.screen.Send( "write erase" &vbCR) crt.screen.Send( vbCR)

crt.screen.Send( "copy tftp: bootflash:" &vbCR) crt.screen.Send( SERVER_IP &vbCR)

crt.screen.Send( GetFileName(ID) & vbCR) crt.screen.Send( vbCR)

crt.Screen.WaitForString("462378256 bytes copied") crt.screen.Send( vbCR)

crt.screen.Send( "copy tftp: bootflash:" &vbCR) crt.screen.Send( SERVER_IP &vbCR)

crt.screen.Send( "autoinstall.tcl") crt.screen.Send( vbCR)

crt.screen.waitforstring("OK - 65258 bytes") crt.screen.Send( vbCR)

crt.screen.Send( "copy tftp: startup-config" &vbCR) crt.screen.Send( vbCR)

crt.screen.Send( "kundmall-isr1111-grundkonfig.txt" & vbCR) crt.screen.Send( vbCR)

crt.Screen.WaitForString("1687 bytes copied") crt.screen.Send( vbCR)

crt.screen.Send( "reload" &vbCR) crt.screen.Send( vbCR)

crt.Screen.WaitForString("Time taken to reboot after reload") crt.screen.Send( vbCR)

crt.screen.Send( "enable" &vbCR) crt.Screen.WaitForString "assword:"

crt.screen.Send( "xxxxxxxxx" &vbCR) crt.screen.Send( vbCR)

crt.screen.Send( "dir flash:" &vbCR) End Sub

Även denna router konfigurerades framgångsrikt med skriptet.

Sista testet för skriptet innan det slutgiltiga skriptet skapas är att testa automatisering av HP ARUBA J9729A switchen. ID för denna switch är 3030 och funktion som anropas är s3030 och ser ut som följande:

(30)

sub s3030

crt.screen.Send( vbCR)

crt.screen.Send( "configure terminal" &vbCR) crt.screen.Send( "vlan 1" &vbCR)

crt.screen.Send( "ip ad " & IP_BASE & IP & " " & NETMASK &vbCR) crt.screen.Send( "exit" &vbCR)

crt.screen.Send( "end" &vbCR)

crt.screen.Send( "copy tftp flash " & SERVER_IP & " " & GetFileName(ID)

&vbCR)

crt.screen.Send( vbCR) crt.screen.Send( "y" &vbCR) crt.screen.Send( vbCR) crt.screen.waitforstring("#") crt.screen.Send( vbCR)

crt.screen.Send( "reload" &vbCR) crt.screen.Send( "y" &vbCR) crt.screen.Send( "n" &vbCR) crt.screen.Send( vbCR)

crt.screen.waitforstring("Waiting for Speed Sense. Press <Enter> twice to continue")

crt.screen.Send( vbCR)

crt.screen.Send( "show version" &vbCR) End sub

Även denna switch konfigurerades framgångsrikt av skriptet. Ett fullstän- digt skript ska nu skrivas för alla Företagets 26 routrar och switchar. Det blir samma procedur där alla kommandon som behövs för att konfigurera dem testas manuellt för varenda router och därefter läggs de in i skriptet.

Men hela skriptet blir för långt att ha med i rapporten och proceduren är lik för väldigt många routrar/switchar förutom små skillnader då många routrar/switchar har samma IOS och det bara skiljer sig i kundmallsfiler.

Hela skriptet presenteras i Bilaga 1. En lista med alla routrar och switchar, deras ID nummer, samt vilka filer som tankas ner när man kör respektive ID nummer presenteras i Bilaga 2.

(31)

Fig 4. Några av alla labbroutrar och switchar som skript skapats för.

(32)

4.5 Resultat från skript

Detta a r resultatet av att ko ra ett skript. I detta exempel har routern C1111 anva nts, da r ID fo r denna router a r 2020. Na r anva ndaren kopplat in routern och kan kommunicera med routern via terminalen SecureCrt sa anropas skriptet genom att trycka pa ”ctrl+a”.

Da dyker en ruta upp som talar om fo r anva ndaren att mata in ett ID nummer eller rommon.

(33)

Om anva ndaren angett ett ID nummer sa dyker na sta ruta upp da r sista ok- tetten av IP adressen ska anges.

Om anva ndaren skriver in en fo r la g eller ho g siffra sa kommer ett med- delande upp som pa pekar det.

(34)

Om na got annat a n heltal anges sa kommer ett annan meddelande upp och pa pekar det.

(35)

Na r korrekt ID nummer och IP har angetts sa startas konfigurationen av routern. Det fo rsta som dyker upp a r lite information (call funktionen), vil- ket ID nummer som ko rts, vilket operativsystem som laddas ner, datum och tid, samt vem som skapat skriptet. Da refter skrivs alla kommandon som be- ho vs fo r att ladda ner o nskade filer fra n TFTP servern.

(36)

Pa bilden nedan kan man se att det ga r bra att ladda ner filerna fra n TFTP- servern.

(37)

Na r konfiguration a r klar och routern startas upp sa kan man se att host- name a ndras och att en login banner dyker upp samt att det nu kra vs ett lo - senord fo r att komma in pa enable la get. Skriptet skriver in lo senord samt kommandona dir flash: och dir nvram: fo r verifiering och den a r nu klar. Man kan se att det blev en korrekt konfiguration da filerna finns med.

(38)

De tre filerna laddades ner vilket man ser på nedan bild.

Operativsystem c1100-universalk9_ias.16.09.04.SPA.bin och filen autoin- stall.tcl laddades till flashminnet och kundmallen finns nu i NVRAM där den heter startup-config.

(39)

4.6 Automatisering i Rommon läge

Fo r att starta routern i Rommon la ge sa har flash och NVRAM rensats. An- va ndaren bo rjar med att trycka pa knapparna ”ctrl + a” fo r att starta skriptet.

Na r meddelanderutan dyker upp sa ska rommon anges.

(40)

Na r rommon angetts sa dyker en annan ruta upp da r anva ndaren ska mata in ID nummer fo r routern som ska ko ras. I Detta fall 2020.

(41)

Nu sko ter scriptet resten och skriver alla kommandon som beho vs fo r att starta upp routern med korrekt IOS.

(42)

Pa bilden nedan a r resultatet efter att routern startats upp. Man kan nu bo rja konfigurera routern.

(43)

5 Resultat

5.1 Effektivisering av process

Efter en intervju med de personer som jobbar med detta sa uppskattar de att det tar ungefa r 15 minuter att konfigurera och verifiera majoriteten av routrarna. Men sen finns det ett fa tal som tar va ldigt la ng tid att ko ra som tex ISR4331 och ASR-1001X, men dessa skickas sa llan ut till kunder. Det a r oftast Cisco routrarna C887VAM, C819, C888, 888EA, 887VA-M, C1111, C1111-4PLTEEA, C897VAM-G, 892F, 892FSP, 881G, C898, C819G och liknande modeller som konfigureras. Da rfo r kommer ma tningen endast att ga lla de modellerna och inte dem sto rre routrarna/switcharna som sa llan skickas, dock kommer det ga att konfigurera dem ocksa med skriptet. Pa fo retaget fa r man endast ko ra en a t ga ngen fo r att kvalitetssa kra, det har blivit en hel del fel tidigare da r fel filer laddats ner till fel enhet och nu a r man va ldigt noga med att det inte fa r bli fel. Tiden det tar att konfigurera routrarna tar ocksa ungefa r 15 minuter om man ko r via skriptet.

15 15

MANUELL KONFIGURATION

AUTOMATISERAD KONFIGURATION

Tid (min)

Tidsåtgång konfiguration

Fig 4. Den totala tidsåtgången för manuell och automatiserad konfiguration av routrar och switchar.

(44)

Det tar knappt fyra minuter att starta upp en router innan man kan starta skript. Den totala tiden framfo r ska rm med den automatiserade

konfigurationen var da rfo r fyra minuter, medans en manuell konfiguration kra vde 15 minuter framfo r ska rm. Det tar alltsa totalt 73% mindre tid framfo r ska rm med den automatiserade konfigurationen ja mfo rt med manuella konfigurationen.

15

4

MANUELL KONFIGURATION

AUTOMATISERAD KONFIGURATION

Tid (min)

Tid framför skärm

Fig 5. Tidsåtgång framför skärm för manuell och automatiserad konfiguration.

(45)

6 Diskussion och slutsats

Att automatisera en process har blivit allt mer vanligt i olika typer av arbeten, och IT va rlden a r inget undantag. Genom att automatisera ett arbete sa spar man pa tid men a ven pa resurser som kan fo rdelas pa annat ha ll. Mitt sja lv- sta ndiga arbete gick ut pa att hja lpa ett fo retag med just det, att effektivisera deras arbetssa tt genom att spara tid. Det var inte la ngre lo nsamt fo r fo reta- get att beha lla affa ren, da processen av att konfigurera routrar och switchar manuellt kostade mycket i form av tid och resurser. Fo retaget kunde endast konfigurera en enhet a t ga ngen, och personal beho vde sitta framfo r ska rmen under hela processen som tog ungefa r 15 minuter. Da fo retaget a ven an- va nde sig av USB minnen med routrarnas filer sa var detta en stor felka lla da det kunde leda till att personal tar fel USB minne till fel enhet.

Med hja lp av en TFTP server da r alla filer lagrades ista llet fo r USB minnen, sa slipper personalen leta reda pa ra tt USB minne till ra tt enhet. Genom att skapa ett skript som sko ter hela konfigurationen, fra n ha mtning av ra tt filer till verifiering att konfigurationen gick ra tt till, sa kunde hela konfigurations- processen av varje enhet automatiseras. Det enda som kra vs nu av anva nda- ren a r att koppla in enheten och starta skriptet.

Genom att automatisera deras process sa har jag kunnat spara tid a t fo reta- get, som ocksa var ma let med arbetet. A ven fast konfigurationen av enheten tog nu ungefa r lika la ng tid sa kunde arbetet effektiviseras pa andra sa tt. Fler enheter kunde nu konfigureras samtidigt, men pa grund av platsbrist sa ko r de endast tva enheter a t ga ngen. Personalen beho ver inte heller sitta framfo r ska rmen medans skriptet arbetar, och kan ista llet arbeta med annat da r det beho vs. Detta kan exempelvis vara andra arbetsuppgifter pa fo retaget sa som sto ldma rkning och byte av ha rdvara pa laptops osv. Personalen slipper a ven leta efter ra tt USB minnen, da alla filer finns lagrade i TFTP servern och skriptet ha mtar aktuella filer till enheten. Detta tar a ven bort den felka llan som fo retaget hade, da risken fo r att personalen laddar in fel filer till fel en- het begra nsas. Det blir a ven nu la ttare fo r fo retaget att ta in oerfaren perso- nal, da de endast beho ver koppla in enheten och trycka in en tangentsbords- kombination fo r att sa tta iga ng skriptet. Ma len med arbetet uppfylldes, da konfigurationen automatiserades, filer och OS lagrades pa en TFTP server och Fo retaget sparade tid genom anva ndandet av skriptet.

Detta arbete har fa tt mig att verkligen fo rsta och uppskatta tiden som sparas genom att automatisera. Att la gga ned tiden att skapa ett skript a r va ldigt lo nsamt i sluta ndan, a ven fast detta tog mig mer tid a n va ntat da fo retaget valde att ha det i Vbskript da jag egentligen hade velat anva nda Python som jag a r mer van med. Fo r att spara tid, sa ma ste man la gga ned tid har jag insett med detta arbete.

6.1 Etiska och samhälleliga aspekter

Na r man arbetar med ISP som kunder a r det viktigt att ta ha nsyn till att fi- lerna som skickas till IT Tja nstefo retaget inte la cker ut eller fo rvaras o ppet da de inneha ller ka nslig information fo r ISPs slutkunder. Till fo ljd av det har

(46)

jag valt att ha filerna i en TFTP server som endast ligger i det lokala na tverket som endast beho rig personal kan ha tillga ng till. Detta i enlighet med fo reta- gets egna rutiner och datafo rvaringsregler.

En annan aspekt som a r viktig att ta ha nsyn till a r att automatisering av olika arbetsformer kan leda till att arbetsuppgifter fo rsvinner och att fo retag va l- jer att avskeda personal. Detta fa r samha lleliga konsekvenser i form av ar- betslo shet. Da remot kan en automatisering bidra till att arbete inte blir mo- notont och tra kigt fo r personalen, och ista llet mer varierad da personal kan arbeta med flera olika uppgifter.

6.2 Framtida arbeten

Detta arbete o ppnar upp fo r mer utveckling och framtida arbete. Detta kan till exempel vara att skapa fler arbetsytor hos fo retaget sa att fler a n tva rout- rar kan ko ras a t ga ngen. Detta skulle i sin tur spara a nnu mer tid fo r fo retaget.

Man kan a ven vidare effektivisera automatiseringen genom en direkt konfi- guration efter inkoppling. Detta go r att en enhet konfigureras automatisk sa fort anva ndaren kopplar in enheten, och beho ver inte starta iga ng skriptet.

Detta skulle medfo ra att anva ndaren kan koppla in enheten och direkt ga vi- dare till andra arbetsuppgifter da anva ndaren inte beho ver va nta pa att en- heten startas upp.

(47)

Källförteckning

1. SDN och automatisering förändrar nätverket i grunden [Internet].

Cygate. 2020 [cited 2 June 2020]. Available from:

https://www.cygate.se/blogg/automatisering-forandrar-natverket-i- grunden

2. Comparing Cisco IOS, NX-OS, and IOS-XR [Internet]. Kwallacec- cie.mykajabi.com. 2020 [cited 2 June 2020]. Available from:

https://kwallaceccie.mykajabi.com/blog/comparing-cisco-ios-nx- os-and-ios-xr

3. Services P, Software C. Networking Software (IOS & NX-OS) - Cisco IOS [Internet]. Cisco. 2020 [cited 2 June 2020]. Available from: https://www.cisco.com/c/en/us/products/ios-nx-os-soft- ware/ios-software-releases-listing.html

4. Sammanfattning 2.1 – Nätverksteknologier [Internet]. Natverk- steknologier.diginto.se. 2020 [cited 2 June 2020]. Available from:

https://natverksteknologier.diginto.se/ios/sammanfattning-2-1 5. Cisco IOS Boot System Image [Internet]. NetworkLessons.com.

2020 [cited 2 June 2020]. Available from: https://networkles- sons.com/cisco/ccna-routing-switching-icnd1-100-105/cisco-ios- boot-system-image

6. Cisco IOS Command Hierarchy [Internet]. Cisco.com. 2020 [cited 2 June 2020]. Available from: https://www.cisco.com/E-Learn- ing/bulk/public/tac/cim/cib/using_cisco_ios_soft-

ware/02_cisco_ios_hierarchy.htm

7. Difference between FTP and TFTP in Networking [Internet]. Soft- ware Training Center & Job Consulatancy in bangalore. 2020 [cited 2 June 2020]. Available from: https://www.cmscom- puter.in/blog/difference-between-ftp-and-tftp-in-networking 8. Trivial File Transfer Protocol - an overview | ScienceDirect Topics

[Internet]. Sciencedirect.com. 2020 [cited 2 June 2020]. Available from: https://www.sciencedirect.com/topics/computer-science/triv- ial-file-transfer-protocol

9. VBScript [Internet]. En.wikipedia.org. 2020 [cited 2 June 2020].

Available from: https://en.wikipedia.org/wiki/VBScript 10. VBScript - Overview - Tutorialspoint [Internet]. Tutori-

alspoint.com. 2020 [cited 2 June 2020]. Available from:

https://www.tutorialspoint.com/vbscript/vbscript_overview.htm

(48)

11. Remote System Strong Encryption & Data Integrity-Session Man- agement [Internet]. Vandyke.com. 2020 [cited 2 June 2020].

Available from: https://www.vandyke.com/products/se- curecrt/key_features.html

12. [Internet]. Vandyke.com. 2020 [cited 2 June 2020]. Available from: https://www.vandyke.com/support/tips/scripting/script- ing_essentials.pdf

13. Free CertificationKits TFTP Server – CertificationKits.com [Inter- net]. Certificationkits.com. 2020 [cited 2 June 2020]. Available from: https://www.certificationkits.com/tftp-server/

14. [Internet]. Vandyke.com. 2020 [cited 2 June 2020]. Available

from: https://www.vandyke.com/support/tips/scripting/script-

ing_essentials.pdf

(49)

Bilaga A: Skriptet

dim IP, ID

const SERVER_IP = "192.168.1.3"

const IP_BASE = "192.168.1."

const NETMASK = "255.255.255.0"

Sub main

ID = Inputbox("Ange ID nummer eller rommon:") if Ucase(ID) = "ROMMON" then

call Rommon exit sub end if

if IsNumeric(ID) = false then

msgbox("ID numret du angav finns ej. -> " & ID) exit sub

end if

IP = InputBox("Skriv in sista siffran pa ip-adressen" & vbCR & IP_BASE &

"xx:")

if IsNumeric(IP) = true then if IP > 255 then

msgbox("IP ska vara mellan 11-254") call main

exit sub

ElseIf IP < 10 then

msgbox("IP ska vara mellan 11-254") call main

exit sub end if else

msgbox("Ska vara ett heltal mellan 11-254") call main

exit sub end if call Check Select Case (ID)

case "1001": call s1001 case "1002": call s1002

(50)

case "1003": call s1003 case "1004": call s1004 case "1005": call s1005 case "1006": call s1006 case "1007": call s1007 case "1008": call s1008 case "1009": call s1009 case "1010": call s1010 case "1011": call s1011 case "1012": call s1012 case "1013": call s1013 case "1014": call s1014 case "1015": call s1015 case "1016": call s1016 case "1017": call s1017 case "1018": call s1018 case "1019": call s1019 case "1020": call s1020 case "1021": call s1021 case "1022": call s1022 case "1023": call s1023 case "1024": call s1024 case "1025": call s1025 case "1026": call s1026 case else:

msgbox("Fel ID nummer angivet") exit sub

end select End Sub

Public Function GetFileName(file) select case (file)

case "1001": GetFileName = "c880data-universalk9-mz.154-3.M10.bin"

case "1002": GetFileName = "c890-universalk9-mz.158-3.M3.bin"

case "1003": GetFileName = "c800-universalk9-mz.SPA.158-3.M3.bin"

case "1004": GetFileName = "c800-universalk9-mz.SPA.158-3.M3.bin"

case "1005": GetFileName = "c800-universalk9-mz.SPA.158-3.M3.bin"

case "1006": GetFileName = "c880data-universalk9-mz.154-3.M10.bin"

case "1007": GetFileName = "c800-universalk9-mz.SPA.158-3.M3.bin"

case "1008": GetFileName = "c800-universalk9-mz.SPA.158-3.M3.bin"

case "1009": GetFileName = "c800-universalk9-mz.SPA.158-3.M3.bin"

case "1010": GetFileName = "c800-universalk9-mz.SPA.158-3.M3.bin"

case "1011": GetFileName = "c1900-universalk9-mz.SPA.158-3.M3.bin"

(51)

case "1014": GetFileName = "c2960s-universalk9-tar.152-2.E6.tar"

case "1015": GetFileName = "c2960-lanbasek9-tar.122-55.SE11.tar"

case "1016": GetFileName = "cat3k_caa-univer- salk9ldpe.SPA.03.07.05.E.152-3.E5.bin"

case "1017": GetFileName = "me360x-universalk9-tar.155-3.S10.tar"

case "1018": GetFileName = "asr1001x-universalk9.16.09.04.SPA.bin"

case "1019": GetFileName = "asr920-universalk9_npe.16.09.04.SPA.bin"

case "1020": GetFileName = "c1100-universalk9_ias.16.09.04.SPA.bin"

case "1021": GetFileName = "c1100-universalk9_ias.16.09.04.SPA.bin"

case "1022": GetFileName = "isr4300-universalk9.16.09.04.SPA.bin"

case "1023": GetFileName = "c1100-universalk9_ias.16.09.04.SPA.bin"

case "1024": GetFileName = "WC.16.04.0009"

case "1025": GetFileName = "WB_15_14_0007.swi"

case "1026": GetFileName = "RA_15_18_0007.swi"

case else: GetFileName = "Fel ID nummer, finns ej"

end select end Function Sub Rommon dim sFile

sFile = InputBox("Nu ko r vi rommon" & vbCR & "Ange ID nummer:") crt.screen.Send("IP_ADDRESS=192.168.1.5" & vbCR)

crt.Screen.WaitForStrings (">")

crt.screen.send("IP_SUBNET_MASK=" & NETMASK & vbCR) crt.Screen.WaitForStrings (">")

crt.screen.send("DEFAULT_GATEWAY=" & SERVER_IP & vbCR) crt.Screen.WaitForStrings ">"

crt.screen.send("TFTP_SERVER=" & SERVER_IP & vbCR) crt.Screen.WaitForStrings ">"

crt.screen.send("TFTP_FILE=" & GetFileName(sFile) & vbCR) crt.Screen.WaitForStrings ">"

crt.screen.send("boot tftp:" & vbCR) crt.Screen.WaitForString("continue?") crt.screen.send("y" & vbCR)

crt.screen.send(vbCR)

crt.Screen.WaitForStrings ">"

crt.screen.Send( "boot" &vbCR) End Sub

Sub Check

crt.screen.Send(vbCR)

crt.screen.Send("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" & vbCR) crt.screen.Send("!!!!! ID: " & ID & vbCR)

crt.screen.Send("!!!!! Filnamn: " & GetFileName(ID) & vbCR) crt.screen.Send("!!!!! " & Now & vbCR)

References

Related documents

För att få inblick i var fel kommer till uttryck i skolan har jag utfört en etnografiskt inspirerad studie med deltagande observation och intervjuer. Det etnografen gör är

Några av respondenternas ville lösa konflikterna på bästa sätt, men sättet att lösa dessa skapade bara mer motvilja hos andra att lösa problemet och i vissa fall ledde detta

Kvinnan bör också anmäla direkt och visa sig vara uppgiven och inte haft någon relation till förövaren.. Sedan får hon hoppas att förövaren är kriminellt belastad och

Self-image or coping ability was not associated with SBS symptoms or persistent hand eczema symptoms at follow-up and their personality did not affect their work capability. Previous

• Analysen av dödsolyckor utgår från varje trafikdödad 2010, case by case

- Den sorteringsordning som kan göras genom att klicka på en kolumnrubrik i listan Hantera-SEB, fungerar bara på de SEB:ar som visas i listan.. Tips: Välj att visa alla SEB:ar

Det är intressant med tanke på de likheter som uppenbarar sig deras studie är jämfört med den här studien att eleverna samtalar om sekven- sering i samband med programmering men

Alla turerna är väl inte klara: hon har väl ännu några artiklar att skriva där hon talar om varför vänsterpartiet bör upplösas och hon har i den här omgången ännu