Kommutaator

Allikas: Kuutõrvaja

Sissejuhatus

Kommutaator (ingl. k. switch) http://en.wikipedia.org/wiki/Network_switch on võrguseade, mille abil saab ühendada arvutid omavahel võrku. Tavaliselt töötab kommutaator OSI mudeli kihis 2. 2010 aastal võiks pöörata tähelepanu kommutaator sellistele omadustele, st seadme spetsifikatsioonis võiks olla need omadused ära märgitud (õieti, mis on nendest antud juhul olulised)

  • Switching capacity: nt gigabit portide puhul portide arv * kaks (nt 24 pordilise kommutaatori puhul 48 Gbps)
  • Forwarding rate: nt 24 gigabit pordi puhul 1.488 * 24 = 35.7 mpps (million packets per second; väikseim nö mõeldav pakett sisaldab 64 baiti andmeid, lisaks 8 bait preambula ning 12 bait interpacket gap, kokku 84 baiti; vastav rate tuleb (1000^3)/(8*84) = 35.7 mpps)
  • non-blocking - switchi pordid töötavad teineteisest suhteliselt sõltumatult (välditakse HOL (head of line) blokeerimist)
  • Link aggregation using IEEE 802.3ad LACP
  • Jumbo frame: Supports frames up to 10 KB
  • Stackable - mitu füüsilist kommutaatorit saab ühendada kokku üheks loogiliseks, mille haldamiseks on kasutada üks haldusliides
  • Private VLAN - pordi omadus, mis tähendab, et pordist sisenenud paketid saavad väljuda ainult sama vlanni kuuluvatest mitte-private olekusse märgitud portidest (sarnane wifi isolation'ile)
  • Number of VLANs: 256 - static
  • Browser, SSH ja Telnet management
  • Port mirroring: Traffic on a port can be mirrored to another port for analysis with a network analyzer or RMON probe
  • IEEE 802.1X - enne pordi kasutamist peab kasutaja ennast ethernet kihis autentima (sarnaselt wifi kasutamisele nt wpasupplicant tarkvaraga)
  • PoE (Power over Ehternet) - teatud seadmed on võimelised saama oma toite sarnaselt nagu USB puhul, aga võrgukaablist (nt ip kaamerad)
  • DHCP snooping - dhcp proxy töötab switchis ja vahendab päringuid nt kuskil arvutis töötavale dhcp serverile
  • ACL (access control list), ACE (access control entry) - saab kontrollida switchist läbi käivat liiklust (nt mac või ip aadresside alusel)

Käesolev tekst on koostatud kommutaatori mudel SGE2000 http://www.cisco.com/en/US/products/ps9982/index.html alusel, kuid üldiselt kehtivad toodud põhimõtted ka teiste kommutaator kasutamisel, nt SG200, SG300 ja SG500.

Kommutaatori seadistamine

SGE2000 on hallatav kommutaator (ingl. k. managed switch), mis tähendab, et kommutaatori omadusi saab haldusliidese abil kontrollida, selleks on

  • üle ethetneti veebipõhine haldusliides, vaikimisi vlan 1, untagged, ip address 192.168.1.254
  • üle etherneti ühendudes telnet programmi abil tekstikonsooliga
  • üle serial ühenduse serialkonsool

Seadistuste salvestamine

Kommutaatoril on kolm seadistuste eksemplari

  • Running Configuration - kehtestatud seadistused
  • Startup Configuration - seadme järgmisel käivitamisel kehtestuvad seadistused
  • Backup Configuration - varukoopia seadistustest

Valides saab nende eksemplaridega töötada, nt kopeerida Backup Running'uks.

Admin -> File Management -> Copy Files

Seadistuste muutmisel on mõistlik esmalt veenduda, et soovitud muudatused õnnestusid ja kui on soov, et need ka nt peale toite katkestust kehtestuksid, salvestada Startup Configuration'iks.

Lisaks tuleb vastavalt vajadusele salvestada seadistused väljapoole seadet, nt tftp serverile või kopeerides brauseri abil.

LAG

LAG (Link Aggregation) ...

Haldusliidese seadisamine

Kui nn hallataval lülitil on 24 füüsilist porti, siis võib kujutleda, et tal on lisaks üks nö sisemine 25. port, millesse on ühendatud lüliti haldusliidesele vastav server. Sellele serverile pääseb ligi suvalise füüsilisse porti ühendatud kasutaja arvutist eeldusel, et vastav füüsiline port on nn 25. pordiga samas vlannis ning nö haldusliidesele vastava serveri ja kasutaja arvuti vahel töötab ip ruuting. Vaikimisi on SGE2000 lüliti haldusliides vlan 1 (nö tavaline ehk untagged ehk mode access) ning ip aadress on 192.168.1.254.

Lihtsa täiendava turvameetmena soovitatakse lüliti halduseliides seadistada muudest arvutitest eraldi vlanni valides (mõnel juhul peab olema vastavas pordis nö link üleval, selleks, et haldusliides pakuks vlan valikut)

System -> System Management -> IP Addressing -> IPv4 Interface

Sge2000-5.gif

Logimine

Admin -> Logs -> Remote Log Servers

Seadistuste varundamine

Reeglina saab nn hallatava lüliti seadistustest teha teksti kujul varukoopia ja seda seejärel vajadusel kasutada, varukoopia tegemiseks tuleb liikuda sektsiooni

Admin -> File Management -> Save Configuration

Sge2000-3.gif

kus

  • 192.168.2.120 - tftp serveri aadress
  • running config - kopeeritakse parasjagu kehtivat seadistust
  • sge2000-20100824.txt - tftp serverisse moodustava faili nimi

Tundub, et kui seadeid saab varundada üle tftp ja http, siis taastada saab ainult üle tftp protokolli.

Boot code ja software image uuendamine

Lüliti boot code'i võiks võrrelda arvuti BIOS'iga ning software image't arvuti operatsioonisüsteemiga. See võrdlus tähendab muu hulgas seda, et lülitile saab olla samaaegselt paigaldatud üks eksemplar boot code'i ning mitu eksemplari software image'id kusjuures saab määrata millist image't lüliti kasutab.

Boot code ja software image uuendamisel on mõistlik teha esmalt olemasolevatest ja parasjagu kasutusel olevatest koopia, tavaliselt tftp serverile. Kuigi reeglina lüliti seadistused säilivad tuleks teha kas neist varukoopia. Seejärel tuleb kopeerida uue versiooni tarkvara tootja veebikohast, nt arhiiv SGE20x0x_FW_3.0.0.18.zip, mis sisaldab kahte olulist faili

  • cisco_bp_sge_boot-20003.rfb - boot code
  • SGE20x0x_FW_3.0.0.18.ros - software image

Need tuleb paigutada tftp serverisse ning seejärel veenduda, et boot code versioon ning software image vajavad uuendust ning uuendada esmalt boot code, mõned korrad lülitit rebootida (mille kohta öeldakse ka reset kuigi see ei tähista siinkohal nn factori defaults peale minemist). Järgmisena on mõistlik seadistada lüliti käivituma Image2 pealt valides

Admin -> File Management -> Active Image

ning bootida lüliti Image2 pealt. Seejärel uuendada lüliti software image, mille käigus kirjutatakse üle Image2 ning paar korda bootida lülitit muudatuste kehtestamiseks.

The updated image will be used only after selecting it as the active image after reboot and then rebooting the system.

Tehtud muudatused tagavad selle, et uuendamise ebaõnnestumise järel tehes lültile factory default reseti käivitatakse lüliti Image1 abil mis on endisel kujul olemas.

Peale protseduuri sooritamist tuleks veenduda, et versioonid on uuenenud ning salvestada veelkord lüliti seadistused ja võrrelda muudatuste eelse koopiaga veendumaks, et pole toimunud soovimatuid muudatusi.

Kui on seadistatud logiserveri kasutamine, siis ilmuvad sinna asjakohased teated, nt

  • bootcode backup tegemise kohta
Dec 17 18:15:07 sg-300-20 %COPY-I-FILECPY: Files Copy - \
  source URL flash://BOOT destination URL tftp://192.168.10.10/sg300-20-20131217-bootcode.img
  • firmware uuendamise kohta
Dec 17 18:22:49 sg-300-20 %COPY-I-FILECPY: Files Copy - \
  source URL tftp://192.168.10.10/sx300_fw-13558.ros destination URL flash://image

Stacking

Kui on kasutada mitu SGE2000 kommutaatorit, siis on võimalik neid kasutada ühendades nad nad käima nn stackitud režiimis, mis tähendab, et

  • kahe kommutaatori puhul on omavahel ühendatud pordid 12 ja 24 ning 24 ja 12
  • tekib üks loogiline kommutaator, millel on topelt arv porte
  • nn master kommutaatori haldusliideset saab hallata mõlema füüsilise kommutaatori ressurssi

Sge2000-4.gif

Discovery protokollide kasutamine

CDP ja LLDP on nö link layer protokollid, mis võimaldavad ühendatud seadmetel vahetada infot oma omaduste kohta, nt

  • kommutaator ütleb arvutile selle pordi nime kuhu arvuti on ühendatud
  • arvuti ütleb kommutaatorile oma hostname'i

CDP

CDP (Cisco Discovery Protocol, http://en.wikipedia.org/wiki/Cisco_Discovery_Protocol) kasutamiseks tuleb kommutaatoris CDP funktsionaalsus sisse lülitada ning arvutis operatsioonisüsteemi vahendite abil paigaldada CDP sõnumitega töötav tarkvara, nt cdpr (Cisco Discovery Protocol Reporter)

# apt-get install cdpr

CDP kasutamiseks sobib kommutaatori portiga ühendatud arvutis öelda nt

# cdpr -d vmbr0
cdpr - Cisco Discovery Protocol Reporter
Version 2.2.1
Copyright (c) 2002-2006 - MonkeyMental.com

Using Device: vmbr0
Waiting for CDP advertisement:
(default config is to transmit CDP packets every 60 seconds)
Device ID
  value:  6c504d536add
Addresses
  value:  192.168.10.70
Port ID
  value:  gi11

kus

  • 6c:50:4d:53:6a:dd - kommutaatori base mac address
  • 192.168.10.70 - haldusliidese ip aadress
  • gi11 - kommutaatori port, kuhu on ühendatud kõnealune arvuti

LLDP

LLDP (Link Layer Discovery Protocol, http://en.wikipedia.org/wiki/Link_Layer_Discovery_Protocol) kasutamiseks tuleb kommutaatoris LLDP funktsionaalsus sisse lülitada ning arvutis operatsioonisüsteemi vahendite abil paigaldada LLDP sõnumitega töötav tarkvara, nt lldpd (https://github.com/vincentbernat/lldpd/wiki)

# apt-get install lldpd

CDP kasutamiseks sobib kommutaatori portiga ühendatud arvutis öelda nt

# lldpctl eth1
-------------------------------------------------------------------------------
LLDP neighbors:
-------------------------------------------------------------------------------
Interface:    eth1, via: LLDP, RID: 1, Time: 0 day, 00:00:11
  Chassis:     
    ChassisID:    mac 6c:50:4d:53:6a:dd
    SysName:      sg-200-18
    SysDescr:     18-port Gigabit Smart Switch
    Capability:   Bridge, on
  Port:        
    PortID:       ifname gi14
    PortDescr:    Ethernet Interface
    MFS:          1522
    PMD autoneg:  supported: yes, enabled: yes
      Adv:          10Base-T, HD: yes, FD: yes
      Adv:          100Base-T, HD: yes, FD: yes
      Adv:          1000Base-T, HD: no, FD: yes
      MAU oper type: 1000BaseTFD - Four-pair Category 5 UTP, full duplex mode
  VLAN:         10, pvid: yes
-------------------------------------------------------------------------------


kus

  • väljundis kuvatava info hulk sõltub, milliseid TVL (Tag, Length, Value) väärtusi on kommutaator seadistatud saatma
  • switch id - mac 6c:50:4d:53:6a:dd - kommutaatori identifitseerimine
  • PortID: ifname gi14 - kommutaatori port, kuhu on ühendatud kõnealune arvuti

CDP ja LLDP kasutamine OpenBSD operatsioonisüsteemiga

Tundub, et OpenBSD paketihalduses on tarkvara ladvd, mis tegeleb CDP ja LLDP protokollidega, kasutamiseks tuleb tarkvara paigaldada

# pkg_add ladvd

ja käivitada

# /etc/rc.d/ladvd start

ning kasutamiseks öelda nt

# ladvdc fxp0     
Capability Codes:
        r - Repeater, B - Bridge, H - Host, R - Router, S - Switch,
        W - WLAN Access Point, C - DOCSIS Device, T - Telephone, O - Other

Device ID           Local Intf    Proto   Hold-time    Capability    Port ID
6c504d536add        fxp0          CDP     133          S             gi16      
                    fxp0          LLDP    104          B             gi16

Kuna ladvd kasutab palju /dev/bpf seadmeid

# fstat | grep bpf  
_dhcp    dhcpd      13407    5 /          494451 crw-------  rw     bpf8
root     ladvd      11602    9 /          494444 crw-------  rw     bpf1
root     ladvd      11602   10 /          494445 crw-------  rw     bpf2
root     ladvd      11602   11 /          494446 crw-------  rw     bpf3
root     ladvd      11602   12 /          494447 crw-------  rw     bpf4
root     ladvd      11602   13 /          494448 crw-------  rw     bpf5
root     ladvd      11602   14 /          494449 crw-------  rw     bpf6
root     ladvd      11602   15 /          494450 crw-------  rw     bpf7
_pflogd  pflogd      8541    3 /          494443 crw-------  rw     bpf0
root     pflogd     21834    3 /          494443 crw-------  rw     bpf0

võib olla oluline tekitada neid juurde

# cd /dev
# ./MAKEDEV bpf10

Probleem esineb nt juhtumil kui ifconfig või tcpdump ütlevad mõne olemasoleva võrguseadme kohta

# tcpdump -nei gif0                                                                                                                         
tcpdump: Failed to open bpf device for gif0: No such file or directory

Kommutaatori neighbor information

Lisaks sellele, et arvutid saavad teada kommutaatori kohta andmeid teab kommutaator ka arvutitest, nt

Sg-200-18-1.gif

kus

  • Local Port - kommutaatori pordi nimi, kuhu on arvuti võrguseade ühendatud
  • Chassis ID - arvuti mac aadress, kui arvuti on mitme võrgukaardiga ühendatus, siis nö esimese kaardi mac
  • Port ID - arvuti võrguseadme mac aadress või võrguseadme nimi (vastavalt Linux ja BSD puhul)
  • System Name - arvutile seadistatud hostname

Trunk pordi seadistamine

Tundub, et vaikimisi on Cisco Small Business kommutaatorid seadistatud sedasi nagu alltoodud pildil, kusjuures Mode, Administrative VLANs ja Operational VLANs väärtused on vastavalt

Trunk - 1UP - 1UP

See tähendab, et pordid on vlan tagitud pakettide kasutamise võimelised, kuid parasjagu saavad läbi liikuda vaid ilma vlan siltideta paketid, mis kuuluvad VLAN 1 peale (nt on switchi mõnest muust trunk pordist VLAN 1 sildiga sisenenud). Lihtne oleks VLAN siltidega liiklust lisaks lubada, saavutades nt sellise tulemuse

Trunk - 1UP,T11,T12 - 1UP,T11,T12

Tegelikult on nii seadistada suhteliselt halb praktika, kuna kõigis selliselt seadistatud portides kostab VLAN1 liiklus läbi, nt arp paketid.

Tundub, et nö kõige õigem on trunk pordid seadistada selliselt

Sg-300-20-1.gif

kus

  • port 2 on nn trunk port, üle selle saavad vlan 10, 11, 12 ..., 903
  • vlan 1 on forbidden
  • pordi pvid on 4095, st olematu vlan

Sellise tulemuse saavutamiseks tuleb avada (eeldusel, et port ei ole vaikimisi seadistusega, nt Mode Access)

VLAN Management -> Interface Setting

ning valida

Interface VLAN Mode - Trunk
Administrative PVID - 1

Seejärel

VLAN Management -> Port to VLAN

ning öelda vaates

Filter: VLAN ID equals to 1 AND Interface Type equals to Port

pordile 2 nii

Forbidden

Seejärel valida

VLAN Management -> Port VLAN Membership -> port 2 -> Join VLAN

ning näidata VLAN'id, mis peavad üle kõnealuse trunk pordi liikuda saama.

Kasulikud lisamaterjalid