Bij twee locaties leg je een tunnel. Bij zes ga je kiezen: iedereen met iedereen is vijftien tunnels, iedereen met het hoofdkantoor is er vijf. Die tweede vorm heet hub-and-spoke, en voor een bedrijf met een centrale server, een centrale administratie en filialen die vooral naar binnen praten is het bijna altijd de juiste.
Het plan
Het hoofdkantoor krijgt de laagste reeks, de filialen tellen door. Geef jezelf ruimte: begin bij 10.10 en laat 10.11 tot 10.19 vrij voor wat er nog komt, in plaats van meteen 10.1 tot en met 10.6 vol te zetten.
| Locatie | Reeks | Werkplekken (10) | Beheer (99) | Tunnel |
|---|---|---|---|---|
| Hoofdkantoor | 10.10 | 10.10.10.0/24 | 10.10.99.0/24 | wg1 tot wg5 |
| Filiaal 1 | 10.21 | 10.21.10.0/24 | 10.21.99.0/24 | wg1 |
| Filiaal 2 | 10.22 | 10.22.10.0/24 | 10.22.99.0/24 | wg1 |
| Filiaal 3 | 10.23 | 10.23.10.0/24 | 10.23.99.0/24 | wg1 |
| Filiaal 4 | 10.24 | 10.24.10.0/24 | 10.24.99.0/24 | wg1 |
| Filiaal 5 | 10.25 | 10.25.10.0/24 | 10.25.99.0/24 | wg1 |
De VLAN-nummers zijn overal 10, 20, 30 en 99. Alleen de eerste twee getallen verschillen, en die vul je per locatie één keer in.
In de tool
- Maak één site met alle zes de routers erin, plus de switches en access points die erbij horen.
- Vul de VLAN-tabel van de site één keer in.
- Teken op het netwerkbord zes locaties en geef elke locatie zijn eigen adresreeks:
10.10,10.21, en zo verder. - Zet bij de router van het hoofdkantoor het publieke adres. De filialen hebben dat niet nodig: zij bellen naar buiten en de tool zet een keepalive van 25 seconden, dus een filiaal achter CGNAT werkt gewoon.
- Klik met rechts op de hub-router en maak vijf keer een Tunnel naar een filiaal. De tool geeft de hub
wg1totwg5en elk filiaal een eigenwg1.
Elke tunnel krijgt het eerstvolgende vrije /30 uit 10.255.255.0: .0, .4, .8, en zo door. Er is ruimte voor 64 tunnels in die reeks, dus je loopt er in dit soort netwerken niet tegenaan.
Wat "alleen met de hub" betekent
Dit is het deel dat mensen verrast. De tool leidt per tunnel af welke netwerken aan de overkant liggen en zet die als routes en als allowed-address van de WireGuard-peer. Het resultaat:
- De hub kent de netwerken van alle vijf de filialen en kan er alle vijf bij.
- Elk filiaal kent alleen de netwerken van de hub.
- Filiaal 1 kan niet bij filiaal 2. Niet omdat een firewallregel het tegenhoudt, maar omdat WireGuard alles weggooit wat niet in de allowed-address staat, en er staat niets over filiaal 2 in.
Voor de meeste bedrijven is dat gewenst: een kassa in Zwolle hoort niets te zoeken op een netwerk in Breda. Moet het toch, dan doe je dat met de hand, en dan op drie plekken tegelijk:
- Op elk filiaal de allowed-address van de peer verbreden, bijvoorbeeld naar
10.0.0.0/8in plaats van alleen de netwerken van de hub. - Op elk filiaal een route naar die samenvatting via
wg1. - Op de hub controleren dat verkeer tussen twee tunnelinterfaces door de forward-chain mag. Controleer met
/ip route printen/interface wireguard peers printvoordat je gaat zoeken in de firewall.
De tool genereert dit niet. Hij kent per tunnel twee kanten en geen transitverkeer door een derde router heen. Wil je spoke-naar-spoke, schrijf die regels er dan zelf onder en noteer ze op het overdrachtsblad, anders is het na twee jaar niemand meer duidelijk waarom die ene route er staat.
Wat er lokaal moet blijven
Een filiaal moet blijven werken als de tunnel eruit ligt. Dat betekent: eigen DHCP, eigen DNS-resolver op de eigen router, eigen internetverbinding. Als de kassa's alleen werken wanneer het hoofdkantoor bereikbaar is, heb je geen netwerk met filialen gebouwd maar een netwerk met vijf single points of failure.
Wat wel centraal hoort: de VLAN-nummering, de SSIDs en hun wachtwoord, het beheerderswachtwoord, de tijdzone en het beheer-VLAN. Dat staat allemaal in de gedeelde instellingen en gaat vanzelf naar alle zes de locaties.
Wat de controles vangen
- Twee locaties met dezelfde reeks. Bij zes locaties tik je dat sneller mis dan je denkt.
- Overlappende netwerken over een tunnel. De tool meldt welk netwerk aan beide kanten voorkomt.
- Een locatie zonder router, of met twee routers.
- Geen publiek adres bij de hub, wat elke tunnel tegelijk breekt.
- Twee apparaten met dezelfde naam. Met dertig apparaten gebeurt dit echt; de identity moet uniek zijn.
En bij tien filialen
Technisch verandert er niets: elf routers, tien tunnels, hetzelfde patroon. Wat wel verandert is het werk eromheen.
- Statische routes worden vervelend. Elk nieuw filiaal betekent op de hub een tunnel erbij en op de hub opnieuw genereren. Ergens tussen tien en twintig wordt OSPF tussen locaties of BGP over de tunnels de rustigere optie. De tool kan BGP per tunnel aanzetten als beide routers een AS-nummer hebben.
- Het bord wordt vol. Zet de locaties uit elkaar en gebruik korte, systematische namen; zie Namen geven.
- De uitrol wordt herhaalwerk. Dat is een vak apart: Twintig filialen uitrollen.
- De hub wordt belangrijk. Tien tunnels op één router die ook nog de centrale servers bedient, is een apparaat dat je niet op een dinsdagmiddag herstart. Denk aan een reserve, en lees Twee routers als één gateway.
Verder lezen: Een nummerplan dat groei overleeft, Tunnels tussen locaties en Laag 2 uitrekken of routeren.