IPsec en site-to-site VPN's: twee netwerken veilig verbinden
Kort antwoord
IPsec is een standaardset protocollen die verkeer tussen twee netwerken versleutelt en authenticeert zodra het over het publieke internet gaat. Het is de technologie achter de meeste traditionele site-to-site VPN's: een router of firewall aan elke kant bouwt één permanente versleutelde tunnel op, en zodra die staat, kan alles achter de ene gateway alles achter de andere bereiken, alsof de twee netwerken samengevoegd zijn. Dat is een ander patroon dan Worldstreams mesh VPN, beschreven in Mesh-VPN: je apparaten verbinden met Headscale en Tailscale, die individuele apparaten authenticeert op een gedeelde mesh in plaats van twee complete netwerken via één tunnel te verbinden.
Wat IPsec eigenlijk is
IPsec, kort voor IP Security, is geen los protocol maar een set protocollen die samenwerken. Het opereert op de netwerklaag, onder elke individuele applicatie, en beschermt zo alles wat via IP tussen twee punten loopt, zonder dat een applicatie ook maar hoeft te weten dat er versleuteling plaatsvindt.
Twee onderdelen doen het meeste werk. IKE (Internet Key Exchange) is de onderhandelingsfase: beide kanten authenticeren zich bij elkaar, meestal met een gedeelde pre-shared key of certificaten, en spreken de encryptiesleutels af die ze gaan gebruiken. ESP (Encapsulating Security Payload) versleutelt en authenticeert vervolgens de daadwerkelijke datapakketten, met de sleutels die IKE heeft onderhandeld. Sleutels worden periodiek ververst zonder dat de tunnel wordt afgebroken, zodat de verbinding zowel actueel als continu blijft.
Hoe een site-to-site tunnel werkt
Een site-to-site tunnel verbindt twee netwerken via hun edge-apparaten, meestal een router of firewall op elke locatie, in plaats van individuele machines te verbinden. Elke kant wordt geconfigureerd met het publieke IP van de andere kant, het gedeelde authenticatiemateriaal en de private adresbereiken die door de tunnel moeten lopen. Zodra beide kanten het eens zijn over die parameters, komt de tunnel op en blijft die staan.
Vanaf dat moment doet routering de rest. Een server aan de ene kant die een pakket verstuurt naar een privéadres aan de andere kant, ziet dat pakket opgepikt worden door zijn lokale gateway, versleuteld en over de tunnel gestuurd naar de gateway aan de andere kant, die het ontsleutelt en aflevert op zijn eigen lokale netwerk. Er draait geen clientsoftware op de servers zelf, en er authenticeert geen individueel apparaat: de gateways doen het werk, en alles daarachter erft de verbinding.
Dat is meteen het belangrijkste aandachtspunt bij dit patroon. Omdat de tunnel de adresbereiken vertrouwt en niet de individuele apparaten, is alles wat bereikbaar is achter de ene gateway per ontwerp ook bereikbaar vanaf alles achter de andere. De adresbereiken en eventuele firewallregels bovenop de tunnel goed instellen weegt dan ook zwaarder dan in een model waarin elk apparaat zelf wordt geauthenticeerd.
Site-to-site IPsec vs. een mesh VPN
Beide patronen beantwoorden dezelfde onderliggende vraag: hoe laat ik twee netwerken of apparaten elkaar privé bereiken zonder ze bloot te stellen aan het publieke internet. Maar ze komen er langs een andere weg, en dat verschil is relevant zodra je moet kiezen.
Site-to-site IPsec verbindt twee vaste punten. Het is opgebouwd rond een koppel gateways, elk representatief voor een heel netwerk, met één tunnel ertussen. Een mesh VPN, het type dat wordt beschreven in Mesh-VPN: je apparaten verbinden met Headscale en Tailscale, authenticeert in plaats daarvan elk apparaat afzonderlijk op een gedeeld privénetwerk. Er is geen enkele tunnel tussen twee locaties, er is een controleserver waarmee elke laptop, server of firewall zelfstandig verbinding maakt, en elke twee geauthenticeerde leden kunnen elkaar rechtstreeks bereiken.
| Aspect | Site-to-site IPsec | Mesh VPN (Headscale/Tailscale) |
|---|---|---|
| Wat het verbindt | Twee complete netwerken, via één gateway aan elke kant | Individuele apparaten: laptops, servers en een firewall als subnet router |
| Hoe leden authenticeren | De twee gateways authenticeren zich eenmalig bij elkaar, tijdens het opzetten | Elk apparaat authenticeert zelfstandig bij de controleserver |
| Een nieuwe locatie of apparaat toevoegen | Configureer een nieuwe tunnel, en meestal ook een nieuwe set routeringsregels | Installeer de client en autoriseer die, hij sluit aan bij de bestaande mesh |
| Typische toepassing | Twee vaste locaties die een permanente verbinding nodig hebben, zoals een kantoor en een rack in een datacenter | Een verspreide set apparaten, servers en kantoren die elkaar allemaal moeten kunnen bereiken |
In de praktijk grijpt een klassieke verbinding tussen twee vaste locaties, bijvoorbeeld één kantoornetwerk gekoppeld aan één datacenternetwerk, vaak naar site-to-site IPsec, want er zijn maar twee uiteinden te configureren. Een meer verspreide opstelling, met meerdere kantoren, een handvol externe laptops en een mix van cloud- en on-premises servers die elkaar allemaal moeten kunnen bereiken, past meestal beter bij een meshmodel: het tiende lid toevoegen betekent niet negen nieuwe tunnels configureren, het betekent één apparaat extra autoriseren op de mesh die er al is.
Waar dit past in het bredere netwerk
Beide patronen zitten aan de rand van je netwerk, naast de routering en adresplanning die worden beschreven in Het Worldstream-netwerk in detail. Als je begrijpt welk model je precies voor je hebt, één tunnel tussen twee gateways, of een mesh van individueel geauthenticeerde leden, wordt het een stuk makkelijker om een netwerkdiagram of de VPN-documentatie van een leverancier correct te lezen, of dat nu van Worldstream is of van iemand anders.