Je hebt een wg0.conf en een client die alleen .ovpn accepteert, dus iemand stelt voor het bestand te converteren. Hernoemen levert een profiel op dat OpenVPN niet kan parsen, en een zorgvuldige veld-voor-veld-vertaling levert er een op dat wel parst en dan bij de handshake faalt. De reden is niet het bestandsformaat. WireGuard en OpenVPN zijn verschillende protocollen met verschillende handshakes, verschillende authenticatiemodellen en verschillende ideeën over wat een peer is. Conversie werkt alleen in de zin dat je een OpenVPN-profiel kunt aanvragen bij wie de andere kant beheert.

Het bestand dat je hebt beschrijft een peer, geen verbindingsprofiel

Een WireGuard-configuratie is kort omdat het protocol dat is: een interface met een privésleutel en adressen, dan een of meer peers met een publieke sleutel, een endpoint en een AllowedIPs lijst. Er is geen onderhandelingslaag om te configureren en geen ciphersuite om te kiezen.

Een OpenVPN-profiel is een client voor een TLS-gebaseerd controlelabels, daarom bevat het certificaat- of inloggegevensverwijzingen en richtlijnen die beschrijven hoe er wordt geauthenticeerd.

Waarom een vertaald bestand nog steeds op de handshake stukloopt

WireGuard begint met een op Noise gebaseerde handshake die met statische peersleutels wordt opgezet, en het blijft stil tenzij de publieke sleutel van de peer al bekend is. OpenVPN opent een TLS-sessie, verifieert een servercertificaat of een statische sleutel en authenticeert de gebruiker daarna met certificaten, een gebruikersnaam en wachtwoord, of beide. Niets in een WireGuard-bestand beschrijft daar iets van. Een vertaald bestand zou het juiste endpoint hebben en al het overige fout.

Het adres en de poort hergebruiken helpt ook niet, want de andere kant luistert naar een ander pakket.

Wat je de provider moet vragen

Als een provider het WireGuard-bestand leverde, vraag dan of hetzelfde account OpenVPN-toegang heeft en vraag dat profiel aan. Veel hebben dat, en het komt met eigen inloggegevens in plaats van als een aangepaste kopie van het eerste.

Is het antwoord nee, dan is het abonnement de beperking en niet het bestand, en geen enkele converter verandert dat.

Als de router of client alleen OpenVPN spreekt

Als het apparaat dat moet verbinden alleen OpenVPN ondersteunt, controleer dan de gedocumenteerde protocolondersteuning van de andere kant voordat je naar een andere extensie zoekt. Een router die OpenVPN termineert, laat zich niet overtuigen om WireGuard te accepteren door een bestand te importeren. De werkbare opties zijn een OpenVPN-endpoint aan de serverkant, of een ander apparaat dat WireGuard spreekt.

Kies op basis van wie de andere kant beheert, niet op basis van welk bestand je toevallig hebt.

Als je de server zelf draait, voeg het protocol toe

Een tweede protocol ondersteunen betekent een tweede dienst draaien. Op een Linux-server is dat een OpenVPN-instantie met een eigen CA, servercertificaat, clientcertificaten en server plus push richtlijnen, samen met een firewallregel voor de poort. De bestaande WireGuard-peerregel beschrijft geen van die objecten. Plan de adrespool en de gepushte routes apart van de WireGuard AllowedIPs, want ze zijn niet hetzelfde mechanisme met twee namen.

Controleer daarna vanaf de client: het profiel laadt, de TLS-sessie komt tot stand, de gepushte route verschijnt en verkeer bereikt een host die alleen via de tunnel bereikbaar is.

Waar het converteridee veilig is

Waarden met de hand naar notities vertalen is prima en vaak nuttig, want het endpoint, de adressen en de publieke sleutel van de peer zijn gewoon feiten over de uitrol. Een privésleutel uploaden naar een website die conversie belooft is niet prima, want die sleutel is het inloggegeven en de dienst heeft geen protocol om hem naar te converteren. Heb je dezelfde toegang nodig vanuit een OpenVPN-client, vraag dan een OpenVPN-inloggegeven aan.

Houd de twee configuraties naast elkaar en behandel ze als aparte toegangswegen, want dat zijn ze.

Gerelateerde artikelen