yoel caspersen blog bloghoved

Travlhed! - og lidt MikroTik

Trofaste læsere vil have lagt mærke til, at jeg ikke har givet meget lyd fra mig i et godt stykke tid.

Det skyldes, at vi har haft ualmindelig travlt - siden nytår er det væltet ind med kunder, og min backlog af opgaver er steget betydeligt. Der var en brand i vores kontorbygning i løbet af foråret, så vi måtte ud at finde nye lokaler, og derudover er vi ved at udvide vores dækningsområde på TDC's coax-net til det jyske.

En anden vigtig opgave, der står på min to-do-liste, er at skrive et jobopslag til en klon af mig selv.

Jeg skal bruge en blæksprutte af en netværks- og sysadmin, der dels har styr på at drive et ISP-netværk, dels har lyst til at være en vigtig del af en mindre virksomhed i vækst. Garvede folk ved godt, hvad det betyder: Lange arbejdsdage, alt for meget ansvar og en masse natteroderi, mens man opgraderer og skruer på systemerne.

Så det, jeg vil slå på, er, at man hos os får mulighed for at få en meget stor indflydelse på det, man laver - der er ingen lange møder med jakkesæt-og-powerpoint-folk, der skal overbevises, gode beslutninger kan tages på få minutter og dårlige beslutninger kan tages endnu hurtigere, men så skal man selv rydde op bagefter.

Hvad siger læserne - hvad skal et jobopslag indeholde, hvis man skal have dygtige og gerne erfarne folk til at forlade sikkerheden og trygheden i en 8-16-stilling hos en af de store ISP'er og hoppe over til en mindre up-and-coming ISP i stedet?

VLAN-fikumdik

Nu til det, som er temaet for dagens indlæg: VLAN-manipulation.

Vores bolignet i Nyborg har indtil nu været koblet op til resten af vores netværk med en såkaldt EPL-forbindelse mellem Nyborg og Tåstrup.

Lige præcis den forbindelse var ikke redundant, hvilket vi mærkede på den hårde måde for et halvt års tid siden, da en styret underboring et eller andet sted i København gik galt: Kablet til EPL-forbindelsen blev gravet over, og vores fiberleverandør måtte bruge resten af dagen på at splidse en ny fiber, så vores bolignet-kunder kunne komme online igen.

Derfor har vi udskiftet EPL-forbindelsen mellem Nyborg og Tåstrup med en sort fiber, der forbinder vores netværk i Nyborg med vores landsdækkende backbone-ring, der tilfældigvis også går igennem Nyborg. Derved reduceres den sårbare strækning fra 150 km til ca. 3 km, og sandsynligheden for overgravning af kablet mindskes betydeligt.

Trafikken mellem Nyborg og Tåstrup føres i et såkaldt transport-VLAN - og på EPL-forbindelsen var transport-VLAN'et untagged i Nyborg og tagged i Tåstrup.

Det betød, at vi kunne aflevere single-taggede pakker i Nyborg og få dem ud som double-taggede pakker i Tåstrup - også kendt som VLAN stacking eller QinQ.

Det er dog ikke en mulighed på vores nye forbindelse - her er transport-VLAN'et tagged i både Nyborg og Tåstrup.

Derfor skal vi selv producere QinQ i Nyborg - og det kræver et ekstra stykke hardware, som kan indsætte transport-VLAN'ets VLAN-tag (VLAN 30) på trafikken, der kommer fra bolignettet og allerede er tagged med den enkelte kundes eget VLAN (VLAN 200 - 2799).

Illustration: Yoel Caspersen

Kravsspecifikationen er ret simpel: Vi skal bruge 2 stk. 10 Gbit/s-porte. Indgående trafik på port 1 skal have et ekstra VLAN-tag og sendes ud på port 2, og indgående trafik på port 2 skal have fjernet det yderste VLAN-tag og sendes ud på port 1.

En kollega i branchen foreslog, jeg tog et kig på MikroTik - og selv om koldsveden sprang frem på panden ved tanken, besluttede jeg mig for at give det et forsøg.

Jeg har blandede erfaringer med MikroTik - deres software kan alt, men samtidig husker jeg fra tidligere, at indlæringskurven er stejl, da de gør tingene på en helt anden måde end resten af switch- og routerproducenterne.

Valget faldt på MikroTiks CRS305-1G-4S+ - en switch med 4 stk. 10 Gbit/s porte og en enkelt 1 Gbit/s kobberport til management.

Switchen blev bestilt hos Proshop og ankom dagen efter i en brun papkasse.

Illustration: Yoel Caspersen

Selv om det føles forkert at koble flere hundrede kunder op på en boks, der ligner en hjemme-router til forveksling, var det betryggende at se, at der trods alt var taget højde for redundant strømforsyning - den skal dog købes separat.

Illustration: Yoel Caspersen

Jeg fik tilkoblet PC'en i kobberporten og fik fat i management-interfacet i en browser på MikroTiks default IP 192.168.88.1.

Som udgangspunkt er alle porte på switchen meldt ind i samme bridge, men eftersom jeg skulle lave VLAN-manipulation og derfor risikerede at miste adgangen til management-interfacet, flyttede jeg IP-adressen til kobberporten og meldte den ud af switchens bridge.

Derefter installerede jeg switchen mellem vores centrale bolignet-switch hk1-zte og vores nye fiber til backbone-nettet. Switchen ser umiddelbart ud til at acceptere tredjeparts SFP+-moduler, hvilket er en stor fordel. Vendor lock-in er en pest og bør undgås, hvor man kan.

Herefter fulgte flere dages frustrationer, hvor jeg rev mig selv i håret og fandt frem til følgende guldkorn:

  • Hvis man installerer et hot plug 10 Gbit/s modul i en ZTE 5928-switch, vil switchen leake tilfældige VLANs på portene indtil switchen bliver genstartet
  • Vores backbone-leverandør bruger en primitiv form for loop protection

Jeg havde nu lavet en opsætning, hvor MikroTik-switchen bruger et VLAN-interface til påtrykning af det ekstra VLAN-tag på uplink-porten til vores backbone-net.

Switchens IP-adresse var sat på et VLAN-interface, der var koblet på switchens bridge, og switchen kunne derfor nås både fra vores management-net i Tåstrup og fra resten af management-nettet i Nyborg.

Illustration: Yoel Caspersen

Det performede dog ikke specielt godt - som det ses på grafen over CPU utilization på switchen, peakede CPU-forbruget ved ca. 65 % over et 5-minutters gennemsnit, hvor switchen på samme tid flyttede ca. 50.000 pakker i sekundet eller ca. 560 Mbit/s. Ikke specielt imponerende, og det resulterede da også i en smule pakketab.

Illustration: Yoel Caspersen

Det er et klassisk problem med MikroTik - hvis man finder den helt rigtige opsætning, kan performance være fin, da det hårde arbejde offloades til hardwaren.

Men der skal ikke særlig mange avancerede features til, før pakkerne skal ind gennem CPU'en på boksen, og så falder ydelsen drastisk. At bruge et VLAN-interface er en af de ting, der gør at pakkerne løftes ud af hardwaren og over i software.

Jeg måtte derfor gentænke vores setup, så vi kan få hardware-acceleration på samtlige pakker. Det kræver umiddelbart, at vi flytter switchens IP-adresse tilbage på sin egen fysiske port, så trafikken mellem de to 10 Gbit/s porte ikke skal ind over CPU'en.

Det viste sig, at MikroTik har udviklet en feature, de kalder for tag stacking. Det betyder, at indgående pakker får påtrykt et ekstra VLAN tag, uanset hvad der måtte være på pakken i forvejen, og det foregår alt sammen i hardware.

Vi kunne derfor bruge følgende setup:

Illustration: Yoel Caspersen

CPU-forbruget faldt til tæt på 0, så hardware-accelerationen virker.

Til gengæld har vi nu et issue med management-adressen til switchen - da den ligger på kobberporten, som gennem en anden switch er koblet retur til Tåstrup gennem de to 10 Gbit/s porte på MikroTik-switchen, får vi en række alarmer i loggen:

Illustration: Yoel Caspersen

Det er teknisk set korrekt, at vi har skabt et loop - men så længe kobberporten og 10 Gbit/s-portene ikke er i samme bridge, er det ikke et problem, og vi kan derfor umiddelbart ignorere advarslerne i loggen. Det kunne dog være rart at fjerne dem, så de ikke forstyrrer, men det er endnu ikke lykkedes mig at finde en måde at gøre det på.

Evaluering

MikroTik-switchen kostede ca. 1.300 kr., og den løser opgaven, som den skal. Vejen derhen har dog været noget stenet, og det er en jungle at navigere i MikroTiks features, herunder at vælge dem, der performer hæderligt.

Dertil kommer, at MikroTik-udstyr giver mulighed for udvidet fejlsøgning - fx kan man bruge den indbyggede packet sniffer til at dumpe al trafik på en port til en pcap-fil, man efterfølgende downloader fra boksen og analyserer i fx Wireshark.

Det er ret lækkert at have den mulighed, og jeg brugte funktionen adskillige gange under mine eksperimenter - det kan ellers være lidt af en udfordring at analysere trafik på en 10 Gbit/s port, da man ikke uden videre kan sætte sin laptop til porten og se, hvad der kommer ud.

MikroTik er for et dedikeret, teknisk stærkt publikum, men med den rette research og viden kan man vælge hardware, der kan noget ud over det sædvanlige til en stærkt attraktiv pris.

Man kommer dog ikke sovende til opgaven, og hvis man "bare lige" skal løse en simpel netværksopgave, og ikke har noget forhåndskendskab til MikroTik, findes der givetvis mere brugervenlige alternativer derude.

Kommentarer (14)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Jens Jönsson

Producenter som UBNT og MikroTik er iøvrigt klippestabile. Til en billig penge.

Men man bliver ikke fyret for at bruge Cisco, hvorfor netværksproducenter, som UBNT og MikroTik, ofte regnes for udstyr til hjemmebrug. Det er synd og skam.

Jeg har f.eks. en del UBNT EdgeRouter Infinity 10 Gbit/s routere i drift. De har kørt, kørt og kørt siden de blev installeret for et par år siden.
Er kun genstartet pga. firmware opdatering (sikkerhedspatches).
Jeg kan pga. prisen tillade mig at have et par stykker stående, som ikke er brug....

  • 4
  • 0
Maciej Szeliga

Hvad siger læserne - hvad skal et jobopslag indeholde, hvis man skal have dygtige og gerne erfarne folk til at forlade sikkerheden og trygheden i en 8-16-stilling hos en af de store ISP'er og hoppe over til en mindre up-and-coming ISP i stedet?

Hvad ville du selv syntes lød som interessant?
Det er ikke en alm. mand du skal bruge, det er en nørd - en som syntes det er sjovt at være begravet i switche, routere og firewalls og ikke nødvendigvis kun dem som der står Cisco eller HP på.
Formulerer du det som noget du syntes lyder interessant så bliver folk som dig interesseret i den.
...og husk lige at flette Linux og/eller xBSD ind i teksten, det hindrer mange Microsoft Zombier fra at søge.

  • 2
  • 2
Baldur Norddahl

Der findes 10G ethernet dongles til thunderbolt 3. Det burde også kunne lade sig gøre at få til USB C. Så kunne man have to af dem og en kraftig Linux laptop. Linux bridge mellem de to 10G interfaces så det er transparent. Og bingo nu kan man indskyde opstillingen på et 10G link og køre wireshark.

Er der nogen der har prøvet det?

  • 0
  • 0
Yoel Caspersen Blogger

Hvad ville du selv syntes lød som interessant?

Det er tricky - for hvis jeg finder en præcis ligesom mig selv, har han ikke tid til at hjælpe mig, for så er han selv i gang med at starte en virksomhed op ;)

Men du har ret - det er nok mest en nørd, jeg søger. Dvs. en person, der selv brænder for teknikken og synes, det er sjovt at finde løsninger, hvor andre giver op.

Når jeg overvejer folk, der enten arbejder hos eller har arbejdet hos en større ISP, er det fordi, jeg har brug for nogen, der kan fejlsøge på BGP, OSPF, VRRP, DHCP, DNS etc. i en kritisk situation, hvor intet virker og alt er nede. Her kan erfaring gøre en vital forskel for, hvor hurtigt man får løst problemet.

Jeg er også interesseret i at få fat i en, som er væsentlig skarpere end jeg selv er. Når man som tekniker starter en virksomhed, lærer man mange nye ting, men man bliver stille og roligt dummere, fordi det er umuligt at specialisere sig, samtidig med at man skal holde 117 forskellige bolde i luften og konstant slukke ildebrande.

Dertil kommer, at jeg skal passe gevaldigt på Dunning-Kruger-effekten. Min fremtidige netværksadmin vil få til opgave at skalere vores netværk til 5 gange så mange brugere, som vi har i dag. Det vil muligvis kræve idéer og værktøjer, jeg end ikke har overvejet endnu.

  • 2
  • 0
Yoel Caspersen Blogger

LLDP er en Bridge-protokol, som ikke har noget med IPv6 at gøre. Du mener vel ND-pakker?

Det er en klassiker, at producenter af netværksudstyr bruger de samme betegnelser om vidt forskellige teknologier.

I MikroTik-lingo ser Neighbor Discovery ud til at handle om LLDP, CDP og MNDP - det har umiddelbart intet med ND (IPv6) at gøre.

Lidt ligesom trunks i HP's verden ikke har noget med VLANs at gøre men i stedet handler om LACP.

  • 2
  • 0
Morten Brørup

Linux bridge mellem de to 10G interfaces så det er transparent.


Man skal dog være opmærksom på, at en bridge i Linux ikke er helt transparent, men opfører sig som en unmanaged bridge skal i henhold til IEEE 802.3-standarden. Med andre ord: En Linux-bridge dropper Bridge Protokol-pakker, såsom STP, LACP, LLDP, og så videre.

mvh
Morten Brørup
CTO, SmartShare Systems

  • 1
  • 0
Morten Brørup

Hvad siger læserne - hvad skal et jobopslag indeholde, hvis man skal have dygtige og gerne erfarne folk til at forlade sikkerheden og trygheden i en 8-16-stilling hos en af de store ISP'er og hoppe over til en mindre up-and-coming ISP i stedet?

Der skal bl.a. stå, at jobbet er i Odense, og om der evt. er muligheder for remote arbejdsdage, hvis man bor langt derfra.

Og hvis du tilbyder medarbejderaktier, overskudsdeling eller lignende for nøglemedarbejdere, bør det også nævnes (at det findes, ikke hvor meget det drejer sig om). Det kan jo være et attraktivt lønelement for at tiltrække og fastholde de dygtigste folk i vækstvirksomheder som vores.

Min fremtidige netværksadmin vil få til opgave at skalere vores netværk til 5 gange så mange brugere, som vi har i dag. Det vil muligvis kræve idéer og værktøjer, jeg end ikke har overvejet endnu.


Det skal du helt sikkert også nævne; for nyudvikling er langt mere tiltrækkende end vedligehold.

mvh
Morten Brørup
CTO, SmartShare Systems

  • 2
  • 0
Log ind eller Opret konto for at kommentere
IT Company Rank
maximize minimize