En gammal profil landar på en aktuell Mac, klienten importerar den utan klagomål, och anslutningen faller eller släpper aldrig igenom trafik. Innan du lägger en eftermiddag på certifikat, läs enhetsraden i profilen. Om det står dev tap begär du ett Ethernet-liknande gränssnitt från klienten, och på macOS slutar de flesta sådana sessioner just på den begäran.

Steg 1: bekräfta att profilen verkligen begär TAP

Profiler byter namn, packas in och exporteras om, så kontrollera filen du faktiskt importerade. Sök efter enhetsdirektivet och varje include som kan åsidosätta det. Två rader utdata avgör frågan i de flesta fall. När både dev och dev-type förekommer vinner det senare direktivet, och det är precis den typen av detalj som en kopierad profil döljer.

grep -nE "^[[:space:]]*(dev|dev-type)[[:space:]]" client.ovpn
ls -l ~/Library/Application\ Support/ 2>/dev/null

Om filen innehåller dev tap eller dev tap0 måste klienten implementera ett TAP-gränssnitt. Om den innehåller dev tun gäller inte resten av artikeln, och felet ligger någon annanstans.

Skriv ner klientens namn och version, macOS-versionen och varifrån profilen kom. Dessa tre fakta avgör vilken av de två vägarna nedan som ens är möjlig.

Steg 2: vet vad enhetsläget faktiskt ändrar

Ett TUN-gränssnitt bär IP-paket. Klienten läser och skriver paket adresserade till en IP-motpart, och operativsystemet dirigerar dem som vilket annat gränssnitt som helst.

Ett TAP-gränssnitt bär Ethernet-ramar, inklusive broadcast och ARP. Det är detta som låter en bryggad server dela ut adresser via DHCP och en klient upptäcka enheter genom att ropa, och därför är vissa äldre konstruktioner beroende av det.

Priset är att TAP behöver en drivrutin som presenterar ett Ethernet-gränssnitt för systemet. Apple har avvecklat kärnmodulen som äldre TAP-drivrutiner för Mac byggde på, och dess ersättnings-API dyker inte upp som genom magi i klienter som aldrig uppdaterats för att använda det. En plattformsförmåga och en levererad produkt är två olika saker.

Steg 3: välj mellan en kompatibel klient och en migrering

Det finns två ärliga vägar. Den första är en klient vars utgivare för din macOS-version och hårdvara deklarerar att den stöder det TAP-arrangemang du behöver. Inte ett foruminlägg från för fyra år sedan och inte en arkiverad installerare: en aktuell deklaration plus en testanslutning.

Den andra är att flytta tjänsten till TUN, vilket är en serverändring lika mycket som en klientändring. Det kräver en routad topologi, en adresspool, pushade rutter för fjärrnäten och en returväg från dessa nät tillbaka till poolen.

Det som inte fungerar är att ändra tap till tun i den lokala kopian och hoppas. Servern bryggar fortfarande, klienten talar nu IP, och ingenting stämmer.

Steg 4: samla fakta innan du ändrar en fungerande tjänst

Låt den ursprungliga profilen vara orörd och gör en kopia för experiment. En fil du kan återställa på en minut är värd mer än en städad mapp. När ersättningen fungerar, radera kopian med avsikt i stället för att lämna två profiler som ser identiska ut i en lista. Den enda vanan förebygger det mesta av förvirringen efter en misslyckad migrering. Anteckna nuvarande beteende så att du kan bevisa vad som ändrades: kommer tunneln upp, får den en adress, når du en känd värd, och fungerar namnsökningen.

Ställ tre frågor till gatewayens ägare. Kör servern en bryggad eller routad topologi? Vilka fjärrprefix ska vara nåbara? Och finns det ett underhållsfönster för en konfigurationsändring, eller förväntas det fungera utan att röra servern?

Svaren på det avgör om du löser ett klientproblem i eftermiddag eller planerar en nätverksändring nästa vecka.

Steg 5: verifiera migreringen från båda hållen

När servern har en routad konfiguration och du har en passande profil, testa i den här ordningen: tunneln etableras, klienten får en adress från den nya poolen, en värd på fjärrsidan svarar, och ett namn löses upp via den pushade DNS-inställningen.

Testa sedan det som tidigare berodde på Ethernet-beteende. Om ett program upptäckte enheter via broadcast hittar det dem inte över en routad tunnel, och ingen mängd klientkonfiguration tar tillbaka det. Det programmet behöver en känd adress, en lokal hjälpvärd eller en annan upptäcktsmetod.

Avsluta med att återansluta och starta om en gång, eftersom en profil som bara fungerar vid första försöket vanligtvis betyder att de pushade rutterna eller DNS-inställningen inte tillämpas vid återanslutning.

När det fortfarande misslyckas, läs det första felet

En klient som inte kan skapa gränssnittet säger det i sin logg, vanligtvis inom de första raderna. En klient som skapar det och sedan misslyckas med autentiseringen har för länge sedan passerat enhetsfrågan, och att fortsätta jaga TAP slösar bort sessionen.

Behåll den ursprungliga profilen och den fungerande konfigurationen tills ersättningen är bevisad. Att rulla tillbaka en klientändring är snabbt; att bygga upp ett bryggat nätverk som någon plockat isär på en ingivelse är det inte.

Relaterade artiklar