Beveiligde site-to-site VPN met WireGuard op VyOS 1.5 voor connectiviteit tussen locaties
Meerdere kantoorlocaties of datacenters veilig en efficiënt met elkaar verbinden is een cruciale uitdaging voor moderne bedrijven. Traditionele VPN-oplossingen zoals IPsec of OpenVPN zijn vaak lastig te configureren en te onderhouden, zeker in omgevingen met meerdere locaties. WireGuard biedt een lichtgewicht, snel alternatief dat eenvoudiger op te zetten is. VyOS 1.5 ondersteunt WireGuard volledig, wat het een uitstekende keuze maakt voor organisaties die meerdere datacenters of locaties met elkaar willen verbinden. In deze gids laten we zien hoe je een site-to-site WireGuard-tunnel opzet op VyOS 1.5. We behandelen routering, firewallconfiguratie en best practices. Aan het einde zijn je locaties veilig met elkaar verbonden over het internet, met verkeer dat effectief tussen de LAN's wordt gerouteerd.
Laden...
Vereisten
Controleer voordat je begint of je het volgende hebt:
- VyOS 1.5 geïnstalleerd op elke edge router die als VPN-eindpunt fungeert
- Publieke IP-adressen op elke locatie/server
- Beheerderstoegang om firewallregels op VyOS te configureren
- Basiskennis van routering en Linux-netwerkconcepten
Netwerktopologie
We gaan uit van de volgende netwerkindeling:
| Locatie | LAN-subnet | WireGuard-tunnel-IP | Publiek IP |
|---|---|---|---|
| Site A | 10.10.1.0/24 | 10.200.1.1 | 198.51.100.1 |
| Site B | 10.10.2.0/24 | 10.200.1.2 | 203.0.113.2 |
ASCII-diagram
| 10.10.1.0/24 | | 10.200.1.1 <--> 10.200.1.2 | | 10.10.2.0/24 |
| Site A LAN | WireGuard Tunnel | Site B LAN |
------------------- ------------------------- -------------------
| VyOS Router A |-----------| UDP Port 51820 |-----| VyOS Router B |
| Public IP: | | Public IP: |
| 198.51.100.1 | | 203.0.113.2 |
------------------- -------------------
Dit diagram toont de logische connectiviteit: de WireGuard-tunnel verbindt de twee locatie-LAN's veilig met elkaar, waardoor verkeer via het internet tussen beide kan worden gerouteerd.
Stap 1: WireGuard-sleutels genereren
WireGuard gebruikt paren van public keys en private keys voor authenticatie. Genereer op elk VyOS-eindpunt de sleutels:
lachlanr@ams-01:~$ generate pki wireguard key-pair
Private key: UBpynSyGezhb9pp3Bddk/g/gdl3SM+oai02HeQ5a11E=
Public key: a/oSvpcQ3BFzmtavPT+D8Rukdc7L+eYLig3zr0wnMGU=
Dit commando geeft een private key en een public key. Bewaar beide veilig. De private key blijft op de lokale router, terwijl de public key wordt gedeeld met de remote peer.
Gebruik niet deze exacte keys, maar de keys die de output geeft wanneer je de commando's zelf uitvoert.
Stap 2: WireGuard-interfaces configureren
Maak op Site A een WireGuard-interface wg0 aan met het lokale tunnel-IP en de listen port:
set interfaces wireguard wg0 address '10.200.1.1/24'
set interfaces wireguard wg0 listen-port '51820'
set interfaces wireguard wg0 private-key '<Site A Private Key>'
Voeg Site B toe als peer:
set interfaces wireguard wg0 peer office-b allowed-ips '10.10.2.0/24'
set interfaces wireguard wg0 peer office-b address '203.0.113.2'
set interfaces wireguard wg0 peer office-b port '51820'
set interfaces wireguard wg0 peer office-b public-key 'a/oSvpcQ3BFzmtavPT+D8Rukdc7L+eYLig3zr0wnMGU='
Herhaal de configuratie op Site B en wissel daarbij de lokale en remote adressen en keys om.
Stap 3: Statische routes configureren
Zorg dat verkeer bestemd voor het remote LAN via de WireGuard-interface wordt gerouteerd.
- Op Site A:
set protocols static route 10.10.2.0/24 next-hop 10.200.1.2
- Op Site B:
set protocols static route 10.10.1.0/24 next-hop 10.200.1.1
ASCII-diagram: verkeersstroom
Site A LAN 10.10.1.0/24
|
|---[WireGuard wg0 10.200.1.1]---> Tunnel ---> [wg0 10.200.1.2]---|
|
Site B LAN 10.10.2.0/24
Zo loopt LAN-naar-LAN-verkeer via de tunnel in plaats van rechtstreeks over het publieke internet.
Stap 4: Firewallregels configureren (optioneel, afhankelijk van de configuratie)
WireGuard vereist dat UDP-verkeer door je firewall heen kan, volgens dezelfde default-deny allowlist-aanpak die je op elke server zou gebruiken. Op elke locatie:
- Sta UDP-verkeer op de WireGuard-poort toe vanaf het publieke IP van de remote locatie
- Sta verkeer tussen de LAN's toe via de WireGuard-interface
Voorbeeld voor Site A:
set firewall name WAN_LOCAL rule 10 action accept
set firewall name WAN_LOCAL rule 10 protocol udp
set firewall name WAN_LOCAL rule 10 destination port 51820
set firewall name WAN_LOCAL rule 10 source address 203.0.113.2
Pas de firewallregels toe op de WAN-interface:
set interfaces ethernet eth0 firewall in name WAN_LOCAL
Stap 5: Controleren of de tunnel actief is
Controleer de status van de WireGuard-interface:
show interfaces wireguard
Test de connectiviteit door hosts op het remote LAN te pingen:
ping 10.10.2.1
Als de pings mislukken:
- Controleer of de public keys en tunnel-IP's kloppen
- Controleer de firewallregels om te zien of UDP-verkeer is toegestaan
- Zorg dat de statische routes naar de WireGuard-interface wijzen
Je kunt ook PMTU (Path MTU Discovery) configureren, wat bepaalt naar welke waarde de MSS wordt geclampt.
set interfaces wireguard wg0 ip adjust-mss 'clamp-mss-to-pmtu'
Optioneel: pas de MTU/MSS aan als je fragmentatie ondervindt:
set interfaces wireguard wg0 mtu 1420
Stap 6: Best practices voor beveiliging
- Schakel optioneel een pre-shared key in voor extra beveiliging (dit komt aan bod in een latere post)
- Beperk
allowed-ipsstrikt tot de vereiste subnetten - Monitor de tunnel regelmatig om connectiviteit en prestaties te waarborgen (met tools zoals tcpdump)
Conclusie
WireGuard op VyOS 1.5 geeft je een site-to-site tunnel van één sleutelpaar per locatie en een handvol configuratieregels, zonder IKE-daemon om te debuggen. Volg de stappen hierboven en beide LAN's routeren naar elkaar over een versleutelde verbinding, in hetzelfde pand of in verschillende datacenters.
Het is hetzelfde protocol als achter mesh-VPN's zoals Tailscale, Headscale en NetBird, dus de sleutels en peer-definities die je hier hebt geschreven gaan ongewijzigd mee als je later naar een mesh overstapt. Routering en firewalling voor de tunnel blijven in beide gevallen in dezelfde VyOS-configuratie.
Uitrollen op Serverside.com
Elk uiteinde van deze tunnel heeft een stabiel publiek IP nodig om mee te peeren, en op een Serverside.com dedicated server zit dat adres achter always-on DDoS-mitigatie en een self-service firewall op de access-switch waar de server op aangesloten is, die verkeer naar de poorten die je blokkeert dropt voordat het de server bereikt. Draaien beide routers op onze dedicated servers, dan kan een privénetwerk ze ook op layer 2 verbinden, over datacenters heen. Verkeer op een privénetwerk is niet versleuteld; deze WireGuard-tunnel erbovenop versleutelt het, met sleutels die je zelf beheert. Provisioning duurt minder dan een minuut op ons eigen netwerk, AS55285, waar ook de dual-stack IPv4/IPv6-IP-transit vandaan zou komen voor een router aan de VPS-kant van deze topologie.
Geschreven door
Network Engineer, Serverside.com
Lachlan is a network engineer at Serverside.com, where he works on the Arista backbone, public IPv4/IPv6 address space and real-time gNMI network telemetry. He also operates his own autonomous system (AS25735) and writes hands-on guides on routing, VPNs and network automation on bare metal.
Verder lezen
Alle artikelen bekijkenVond je dit artikel interessant?
Ontvang nieuwe handleidingen en technische artikelen in je inbox. Geen spam, altijd uitschrijfbaar.



