Nätverksdiagram

Ett nätverksdiagram visar hur saker är kopplade i nätverket: vilka datorer och servrar som finns, vilken utrustning som binder ihop dem, och — viktigast — var gränserna går. Vad når internet? Vad är skyddat bakom en brandvägg? Det är frågor du måste kunna svara på när du driftsätter din app, oavsett om den hamnar i ett serverrum eller i molnet.

När du läst detta ska du kunna

  • Känna igen och namnge de vanligaste delarna: klient, server, switch, router, brandvägg, internet/moln, lastbalanserare, länk och subnät/zon
  • Förklara vad en DMZ är och varför webbservern inte står i samma nät som klienterna
  • Läsa och rita en molnmiljö med ett virtuellt nätverk, ett publikt och ett privat subnät
  • Översätta de generella begreppen till det du möter i Azure och AWS

Vad används det till?

  • Planera ett nät innan något kopplas in eller skapas i molnet
  • Säkerhet — se direkt vilka delar som exponeras mot internet, och vilka som inte ska vara det
  • Felsöka — “API:t når inte databasen”: ligger de i olika subnät? Finns en brandväggsregel emellan?
  • Dokumentera så att nästa person (eller du om ett halvår) vet vad som är kopplat till vad

Det finns ingen gemensam standard för nätverkssymboler. Cisco, Microsoft och AWS har var sin ikonuppsättning. Det viktiga är att vara konsekvent och ha en symbolnyckel — därför har den här sidan en egen, enkel uppsättning.

Delarna och vad de heter

Symbolerna som används på den här sidan:

Symbolnyckel för nätverksdiagram: klient, server, switch, router, brandvägg, internet eller moln, lastbalanserare, länk och subnät eller zon Klient dator, mobil Server kör tjänster Switch kopplar ihop i nätet Router kopplar ihop nät Brandvägg filtrerar trafik Internet / moln nät du inte äger Lastbalanserare fördelar trafik Länk kabel · trådlöst/VPN 10.0.1.0/24 Subnät / zon t.ex. DMZ
DelHur den ritas härVad den betyder
KlientSkärm på fotEn dator, mobil eller annan enhet som använder tjänster
ServerHög låda med “hyllor”En maskin (fysisk eller virtuell) som erbjuder tjänster: webb, API, filer, databas
SwitchPlatt låda med pilar åt båda hållKopplar ihop enheter inom samma nät (samma subnät)
RouterCirkel med pilar ut åt alla hållKopplar ihop olika nät och väljer vägen mellan dem — t.ex. ditt nät och internet
BrandväggTegelväggSläpper igenom eller stoppar trafik enligt regler: “bara port 443 in”
Internet / molnMolnEtt nät du inte äger eller inte behöver rita i detalj
LastbalanserareLåda där en linje delas i fleraTar emot trafik och fördelar den på flera servrar
LänkLinje — heldragen = kabel, streckad = trådlöst eller VPNEn förbindelse mellan två delar
Subnät / zonStreckad ruta, gärna med adressområdeEn grupp adresser och enheter som hör ihop och har samma regler, t.ex. DMZ eller privat subnät

Adressområdet skrivs i CIDR-form: 10.0.1.0/24 betyder att de första 24 bitarna är fasta, så nätet har 256 adresser (10.0.1.0–10.0.1.255). Ju större siffra efter snedstrecket, desto mindre nät: /16 har 65 536 adresser, /28 bara 16.

Exempel — ett litet företagsnät

Ett konsultbolag med några anställda. Internet kommer in via en router och en brandvägg. Bakom brandväggen finns två zoner: en DMZ (demilitariserad zon) där den publika webbservern står, och det interna nätet med de anställdas datorer och filservern.

Nätverksdiagram för ett litet företag: internet, router och brandvägg, en DMZ med en webbserver och ett internt LAN med switch, tre klienter och en filserver Internet Router Brandvägg DMZ · 192.168.10.0/24 Webbserver publik webbplats Internt LAN · 192.168.1.0/24 Switch Klient Klient Klient Filserver

Varför två zoner? Webbservern måste gå att nå från internet — det är hela poängen. Men om någon tar sig in på den, vill du inte att de står mitt bland de anställdas datorer. Brandväggen har därför olika regler för de två zonerna:

Från → tillTillåtetExempel på regel
Internet → DMZJa, men bara webbtrafikPort 443 (HTTPS) till webbservern
Internet → internt LANNejAllt blockeras
Internt LAN → internetJaAnställda får surfa
DMZ → internt LANNej (eller mycket begränsat)En hackad webbserver ska inte nå filservern

I verkligheten är router och brandvägg ofta samma låda. Här är de ritade var för sig för att det ska synas att de gör olika saker: routern hittar vägen, brandväggen bestämmer vad som får passera.

Exempel — en molnmiljö

Samma idé i molnet. Istället för kablar och lådor skapar du ett virtuellt nätverk och delar in det i subnät. Webbappen från arkitektursidan driftsätts här med två app-servrar bakom en lastbalanserare och en databas som inte kan nås från internet alls.

Nätverksdiagram för en molnmiljö: internet via en brandväggsregel in till ett virtuellt nätverk med ett publikt subnät med lastbalanserare, ett privat app-subnät med två app-servrar och ett privat data-subnät med en databas Internet Virtuellt nätverk · 10.0.0.0/16 Regel: bara HTTPS (443) in Publikt subnät · 10.0.1.0/24 Lastbalanserare Privat subnät (app) · 10.0.2.0/24 App-server App-server Privat subnät (data) · 10.0.3.0/24 Databas nås inte från internet

Läs det uppifrån och ner:

  1. Trafik från internet släpps in bara på port 443 (HTTPS).
  2. I det publika subnätet finns bara lastbalanseraren. Den är det enda som har en publik adress.
  3. Lastbalanseraren skickar vidare till app-servrarna i ett privat subnät. De har bara interna adresser (10.0.2.x) — internet kan inte nå dem direkt.
  4. Databasen ligger i ett eget privat subnät. Regeln där är ännu snävare: bara app-subnätet får prata med databasen, och bara på databasporten.

Ett publikt subnät är alltså ett subnät där resurser kan nås från internet, och ett privat subnät ett där de inte kan det. Det är samma tanke som DMZ och internt LAN i företagsnätet — bara att du ritar det med kod och klick istället för kablar.

Samma begrepp hos molnleverantörerna

Diagrammet ovan är medvetet leverantörsneutralt. Så här heter delarna hos de två största:

GenerelltAzureAWS
Virtuellt nätverkVirtual Network (VNet)Virtual Private Cloud (VPC)
SubnätSubnetSubnet
Brandväggsregel på subnät/serverNetwork Security Group (NSG)Security Group, Network ACL
LastbalanserareLoad Balancer, Application GatewayElastic Load Balancing (ALB/NLB)
Väg ut mot internet för privata servrarNAT GatewayNAT Gateway
Publikt subnätEtt subnät vars resurser har publik IP eller nås via lastbalanserareEtt subnät med väg till en Internet Gateway

Exakt hur “publikt” fungerar skiljer sig mellan leverantörerna, men diagrammet ser likadant ut. Rita det generellt först — då förstår du vad du bygger, oavsett vilken portal du klickar i.

När ska du välja ett nätverksdiagram?

Välj nätverksdiagram när…Välj något annat när…
Det handlar om adresser, subnät, brandväggar och vad som når vadDu vill visa vilken mjukvara som körs var → driftsättningsdiagram
Du planerar eller felsöker en molnmiljö eller ett kontorsnätDu vill visa hur systemets delar samarbetar logiskt → arkitekturdiagram (C4)
Du gör en säkerhetsgenomgång: vad exponeras mot internet?Du vill visa vilken data som flyttas mellan delarna → dataflödesdiagram
Du dokumenterar infrastruktur för driftDu vill visa ordningen på anrop i ett flöde → sekvensdiagram

Vanliga misstag

  • Ingen symbolnyckel. Det finns ingen standard, så läsaren vet inte vad din cirkel betyder. Ha alltid en nyckel, eller använd en etablerad ikonuppsättning konsekvent.
  • Inga zoner. Ett diagram där allt sitter på samma linje döljer det viktigaste: vad som är skyddat och vad som är exponerat. Rita gränserna.
  • Databasen i det publika subnätet. Bara det som måste nås från internet ska ligga där — oftast bara lastbalanseraren.
  • Blandade detaljnivåer. Varje patchkabel i ett diagram och “molnet” som en enda ruta i ett annat. Bestäm vad läsaren behöver veta.
  • Inaktuellt diagram. Ett nätverksdiagram som inte stämmer är farligare än inget, eftersom någon kommer att lita på det. Uppdatera när du ändrar regler eller subnät.

Övning

Rita en molnmiljö för en skolans bokningsapp med ett virtuellt nätverk 10.1.0.0/16:

  1. Ett publikt subnät med en lastbalanserare.
  2. Ett privat subnät för API:t med en app-server.
  3. Ett privat subnät för databasen.
  4. En administratör som ska kunna logga in på app-servern via VPN (streckad länk) — men inte direkt från internet.

Skriv ut adressområdet för varje subnät och en mening om vilken trafik som är tillåten in i det. Hur många adresser har ett /24-subnät?

TL;DR

BegreppVad det är
SwitchKopplar ihop enheter inom ett nät
RouterKopplar ihop olika nät
BrandväggSläpper igenom eller stoppar trafik enligt regler
LastbalanserareFördelar trafik på flera servrar
Subnät / zonGrupp av adresser med gemensamma regler, t.ex. DMZ
Publikt / privat subnätKan / kan inte nås från internet
SymbolnyckelEtt måste — det finns ingen gemensam standard