Praktisk opsætning af IS-IS i GNS3

I denne guide gennemgås, hvordan man kan implementere IS-IS i et netværksscenario ved hjælp af GNS3 med Cisco-routere (f.eks. Cisco 7200-serien). GNS3 er en emulator, der lader os køre rigtige router-images og forbinde dem i virtuelle topologier. Cisco 7200 IOS 15.x er et populært valg, da det understøtter mange protokoller som f.eks IS-IS og er relativt let at emulere.

Eksempel-topologi: Som case lader vi som om, vi har en ISP-backbone med to områder, for at demonstrere multi-level IS-IS. Område 49.0001 repræsenterer f.eks. Vestdanmark og område 49.0002 Østdanmark. Det er bare noget vi leger.
Topologien er:

IS-IS Routingprotokol - Teori
IS-IS er en skalerbar link-state routingprotokol, brugt i ISP-netværk som TDC. Den opererer direkte på datalinklaget, understøtter IPv4/IPv6 og bruger et fleksibelt TLV-format. Lær IS-IS teori og opsætning i GNS3 med RapidHub.
  • Område 49.0001: Router R1 (Level-1) og R2 (Level-1-2). R1 og R2 er forbundet indbyrdes (fx via et Ethernet link) og udveksler L1 routes.
  • Område 49.0002: Router R4 (Level-1) og R3 (Level-1-2). R3 og R4 har forbindelse og kører L1 imellem sig.
  • Backbone (Level-2): R2 og R3 er forbundet (fx serielt link eller anden forbindelse) og kører som rene L2 naboer. Denne forbindelse udgør ISP’ens kernebackbone, som binder de to områder sammen.

Diagrammet kan visualiseres således:

   Area 49.0001              Area 49.0002
(Lev1)    (Lev1-2)          (Lev1-2)    (Lev1)
  R1  ———   R2      ===      R3   ———   R4
    L1 link       L2 link       L1 link

Hvor ——— angiver et L1 adjacens mellem routere inden for samme område, og === angiver et L2 adjacens mellem backbone-routerne R2 og R3.

Denne simple backbone repræsenterer en ISP hvor to regioner er forbundet via et core-net. Man kan udvide topologien med flere routere eller flere områder.

Konfigurationsvejledning

Nedenfor følger step-by-step guide til konfiguration af IS-IS på Cisco IOS (7200 routere) i GNS3, baseret på ovenstående topologi med fire routere:

  1. Forbered GNS3 projektet: Start GNS3 og tilføj de ønskede Cisco 7200 routere til arbejdsområdet. Forbind routerne i henhold til det logiske diagram (fx R1 <-> R2, R2 <-> R3, R3 <-> R4). Tildel passende interface-typer (Ethernet, Serial) i GNS3 for at matche det ønskede link (Ethernet for L1 links R1-R2 og R3-R4; Serial for L2 link R2-R3, eller brug Ethernet for simplicity). Sørg for at have et IOS image der understøtter IS-IS (f.eks. C7200-ADVIPSERVICESK9-M).
  2. Grundlæggende IP adressering: Inden vi aktiverer IS-IS, konfigurer IP-adresser på alle relevante interfaces, så der er IP-forbindelse mellem naboer. IS-IS kræver ikke IP for selve neighborship da det bruger CLNS, men vi sætter IP for at kunne teste routing senere. For eksempel:
    • R1-R2 link: R1 e0/0 = 10.0.12.1/24, R2 e0/0 = 10.0.12.2/24
    • R2-R3 link: R2 s1/0 = 10.0.23.2/30, R3 s1/0 = 10.0.23.3/30
    • R3-R4 link: R3 e0/0 = 10.0.34.3/24, R4 e0/0 = 10.0.34.4/24
    • Loopbacks: hver router får en loopback0 med en unik /32 IP (f.eks. R1: 10.0.1.1/32, R2: 10.0.2.2/32, etc.), som kan bruges som router-ID og til test af reachability.
    • R1: router isis ; net 49.0001.0000.0001.00 (Area = 49.0001, System ID = 0000.0001, NSEL=00)
    • R2: router isis ; net 49.0001.0000.0002.00 (Area 49.0001, System ID 0000.0002)
    • R3: router isis ; net 49.0002.0000.0003.00 (Area 49.0002, System ID 0000.0003)
    • R4: router isis ; net 49.0002.0000.0004.00 (Area 49.0002, System ID 0000.0004)
  3. Angiv IS-IS level hvis nødvendigt: Som standard kører Cisco IS-IS både L1 og L2 (is-type L1L2). I vores topologi vil R1 og R4 kun fungere som L1 (de har ingen L2 naboer), og R2 og R3 skal køre L1-2. For at konfigurationen er nemmere kan vi lade standarden være på alle, dvs. alle er L1-2. Alternativt kunne man på R1 og R4 sætte router isis med konfiguration is-type level-1 for at begrænse dem til L1. Tilsvarende kunne man sætte R2 og R3 til is-type level-2 hvis de ikke skulle have L1 adjacencies. I dette tilfælde lader vi dog R2/R3 køre begge levels (så de kan tale L1 med hhv. R1/R4). (Hvis man ændrer is-type, skal man sikre at naboer matcher – ellers vil de ikke blive naboer).
  4. Verificér routing: Brug show ip route på routerne til at se de lærte ruter. IS-IS lærte routes vises med identifikatoren “IS-IS” eller “IS”. Du burde se at R1 har lært R3 og R4s loopback-adresser via R2->R3 osv. Desuden kan show isis database vise link-state databasen (LSPerne) kendt af routeren. For eksempel vil R2s IS-IS database indeholde LSPer fra R1, R2, R3, R4.
  5. Throubleshootingtips: Hvis naboskab ikke opstår så check: 1. at begge sider har ip router isis på interfacet, 2. at de deler samme area på L1 hvis L1 adjacency ønskes ellers skal de begge have L2 aktiv for at mødes på L2. 3. show clns interface <int> kan vise om routeren sender L1/L2 hellos på interfacet og hvem der er DIS. På LAN med flere routere, check hvem der er DIS. Den med højeste prioritetsværdi, eller MAC som tie-break, vil vinde og udsende pseudonode LSP. Man kan ændre DIS prioritet pr. interface (isis priority <val> level-{1|2}) hvis ønsket.
Booking Platform – Automatiseret VM-Provisionering og Administration
Booking Platformen automatiserer VM-provisionering og ressourcestyring, så brugere nemt kan booke og administrere virtuelle maskiner. Med en brugervenlig webportal, API-integration og sikker netværkssegmentering optimerer systemet IT-infrastruktur og reducerer manuelle processer.

Verificér adjacencies: Når konfigurationen er på plads kan du på hver router køre kommandoen show isis neighbors eller show clns neighbors for at se nabolisten. For eksempel på R2 bør du se R1 som L1 nabo på Ethernet0/0 og R3 som L2 nabo på Serial1/0. Udsnittet nedenfor viser et eksempel output fra to naboer der kører både L1 og L2 adjacencies på samme link:

R2# show clns neighbor 
System Id      Interface   State   Holdtime  Type   Protocol  
R1            Et0/0       Up      27        L1     IS-IS  
R1            Et0/0       Up      23        L2     IS-IS  
R3            Se1/0       Up      22        L2     IS-IS  

Her ser vi at R2 har etableret to adjacencies til R1 på Et0/0, både L1 og L2, da begge kører L1-2 samt én L2 adjacency til R3 på Serial1/0. I vores design ville vi forvente kun én adjacency mellem R1-R2 hvis R1 er L1 only kunne det vise “L1” alene, output afhænger af is-type indstillingerne.

Passive interfaces: Vi ønsker at annoncere loopback-nettene i IS-IS, men vi behøver ikke sende hellos ud af dem. Konfigurer derfor loopback interfacet som passive i IS-IS processsen:

Router(config-router)# passive-interface Loopback0

Dette sikrer, at loopbackens IP-præfiks kommer med i routing-databasen uden at forsøge at etablere nabolag på loopback da der ingen nabo er der jo. Gentag på hver router for deres loopback.

Aktiver IS-IS på interfaces: Gå ind i interface configuration mode for hvert link, hvor IS-IS skal køre, og slå protokollen til. På Cisco gøres dette med kommandoen:

Router(config)# interface <interfacenavn>
Router(config-if)# ip router isis 

Denne kommando aktiverer IS-IS process, den vi definerede under router isis på interfacets netværk. Efter den kommando, begynder routeren at sende IS-IS Hello pakker ud af interfacet og lytte efter naboer. Gør dette på alle point to point links mellem routerne: R1 e0/0, R2 e0/0, R2 s1/0, R3 s1/0, R3 e0/0, R4 e0/0. Når to IS-IS-aktiverede interfaces er forbundet og area og levels matcher, burde nabolaget opstå automatisk.

Aktiver IS-IS process på routerne: På hver router skal vi nu aktivere IS-IS som routingprocess. Dette gøres i global configuration mode:

Router(config)# router isis 
Router(config-router)# net <NET-adresse>

Her vælger vi et NET der afspejler routerens area og unikke ID. I vores eksempel:NET-formatet er område-ID (ofte skrevet som en indledende byte 49 for private + 3 bytes område, her 49.0001), efterfulgt af 6 bytes system-ID (ofte baseret på en IP eller vilkårligt unikt – vi bruger 0000.0001 for R1 osv.), og til sidst 1 byte NSEL (00 for routers). Med disse kommandoer oprettes IS-IS processsen og routeren véd hvilken area den tilhører.

Når ovenstående trin er fulgt, har du et fungerende IS-IS-netværk i GNS3. Routingtabellerne på alle routere skulle nu vise de andre routers loopbacks og netværk, og du kan teste forbindelsen (fx. ping mellem loopbacks på tværs af netværket) for at bekræfte fuld routing.

Konklusion

Gennem opsætningen i GNS3 har vi demonstreret konfiguration af IS-IS på Cisco 7200-routere, hvordan neighbor adjacencies dannes, samt hvordan routing-information udveksles og optimeres i et hierarkisk netværksdesign. Med denne viden kan du nu designe og implementere IS-IS i virkelige netværk.


Referencer

IS-IS Routingprotokol - Teori
IS-IS er en skalerbar link-state routingprotokol, brugt i ISP-netværk som TDC. Den opererer direkte på datalinklaget, understøtter IPv4/IPv6 og bruger et fleksibelt TLV-format. Lær IS-IS teori og opsætning i GNS3 med RapidHub.