Kortkommando för NetworkManager VPN: anslut och koppla från var för sig
Ge ett sparat NetworkManager VPN två kortkommandon i stället för en växel. Bind UUID:t, håll autentiseringsfrågan synlig och kontrollera beredskapen.
Två kortkommandon tar bort gissningsarbetet som en enda VPN-växel måste hantera: den ena ansluter alltid, den andra kopplar alltid från. Två kortkommandon tar bort otydligheten: den ena begär alltid en anslutning, den andra begär alltid en frånkoppling. Båda pekar på samma sparade profil via dess UUID.
Gå igenom installationen i ordningen nedan. Testa varje kommando i en terminal innan du binder det, eftersom ett kortkommando är en dålig plats att upptäcka en fråga du inte kan se.
Hitta UUID:t, inte profilnamnet
Lista de sparade anslutningarna i din vanliga skrivbordssession och kopiera UUID:t för det avsedda VPN:et. Namnet är för människor; två sparade profiler kan dela ett, och en profil som raderas och importeras igen får en ny identifierare.
nmcli connection show
nmcli connection show "Office VPN" | grep -i uuid
Behåll UUID:t i kortkommandots definition i stället för visningsnamnet. Om profilen byts ut senare uppdaterar du båda kortkommandona samtidigt, eftersom en inaktuell identifierare ger en Anslut-åtgärd som misslyckas medan Koppla från fortfarande riktar sig mot det gamla objektet. Därför använder båda åtgärderna samma värde. Behandla UUID:t som profilens identitet.
Bekräfta att profilen är ett NetworkManager VPN och inte en leverantörsdaemon med egen tjänst. En leverantörsklient behöver sitt eget stödda kontrollgränssnitt; nmcli hanterar inte en tunnel som den inte äger. Kontrollera anslutningstypen om namnet är otydligt. En tunnel som ägs av en annan daemon visas inte i samma lista.
Testa båda kommandona i en terminal först
Begär anslutningen interaktivt, slutför den godkända inloggningen och nå en privat resurs som du faktiskt behöver. Koppla sedan från med motsvarande kommando och bekräfta att VPN:et går ner utan att ta med sig den underliggande Wi-Fi- eller Ethernet-länken.
nmcli --ask connection up uuid 11111111-2222-4333-8444-555555555555
nmcli connection down uuid 11111111-2222-4333-8444-555555555555
Kör dem som två separata åtgärder. De ändrar anslutningens tillstånd; de raderar inte profilen och redigerar inte dess inställningar. Spara terminalutskriften från den första körningen så att du vet hur en normal frågesekvens ser ut. Den posten gör kortkommandots beteende förutsägbart.
Testa inte frånkopplingen via din enda väg för fjärradministration. Om VPN:et bär din session avslutar en lyckad frånkoppling också din åtkomst, och återställning kräver en väg som inte beror på tunneln. Håll en lokal konsol eller en andra länk tillgänglig.
Bind två namngivna kortkommandon till samma UUID
Skapa två tydligt namngivna åtgärder i skrivbordets tangentbordsinställningar, till exempel Anslut kontors-VPN och Koppla från kontors-VPN. Tilldela olika tangentkombinationer och klistra in det granskade UUID:t i båda kommandona.
Namnge dem efter avsikt i stället för tillstånd. Ett kortkommando som heter Växla gör nästa tryck oförutsägbart; Anslut och Koppla från beskriver exakt vad som kommer att begäras. Det gör listan över kortkommandon självförklarande. Ett felaktigt tryck gör fortfarande något förutsägbart.
Om skrivbordet använder desktop-entry-startare, kom ihåg att en startare inte tilldelar en terminal automatiskt. Ett kommando som behöver interaktiv inmatning väntar där ingen kan svara.
Placera autentiseringsfrågan där du kan se den
Utan --ask, frågar nmcli en körande hemlighetsagent efter de saknade inloggningsuppgifterna. Det är rätt väg när skrivbordet redan hanterar det här VPN:ets autentisering och agenten kan visa sin egen fråga. Testa det enkla Anslut-kommandot direkt från kortkommandot innan du antar att det fungerar.
Om VPN:et behöver terminalinteraktion konfigurerar du kortkommandot att öppna skrivbordets terminalprogram och köra det interaktiva kommandot där. Startargumenten skiljer sig mellan terminalprogram, så använd den dokumenterade formen för det installerade.
För en skrivbordspost Terminal=true begär ett terminalfönster och Terminal=false inte. Ingen av inställningarna är ett skäl att lägga ett lösenord på kommandoraden, ge sudo utan lösenord eller kringgå organisationens autentiseringspolicy.
Kontrollera beredskapen efter tangenttryckningen
En tangenttryckning betyder att du begärde aktivering. Det bevisar inte att autentiseringen slutfördes, att rutter installerades eller att privat DNS svarar. Kontrollera anslutningsstatus och sedan den faktiska privata resursen.
Läs status via den ägande klienten i stället för att matcha en översatt mening. Människoläsbar text ändras med språket, och en maskin kan ha mer än ett VPN, så en strängmatchning kan rapportera fel profil eller missa ett övergångstillstånd.
Om en annan automatisering återansluter VPN:et, stäm av den med kortkommandot Koppla från. Två ägare som motverkar varandra ger en anslutning som verkar ignorera tangenttryckningen, när det verkliga problemet är konkurrerande policy.
Anteckna UUID:t, båda kommandona och beredskapskontrollen i dina anteckningar. Nästa profilutbyte eller skrivbordsuppgradering är mycket lättare att diagnostisera när identifieraren och den avsedda frågevägen redan är nedskrivna.