Ik ferbûn de VPN-klant op in Windows 11-laptop, de tegel gie nei Connected, in ynterne bestandieling iepene, en in iepenbiere side laden noch streekrjocht fan it kantoar-Wi-Fi. Dy miks liket op in brutsen tunnel. It is de normale útkomst fan in profyl dat in part fan it ferkear troch de VPN stjoert en de rest op 'e fysike adapter lit. Twongen tunneling feroaret hokker standertrûte Windows foarkar hat; it smyt gjin spesifiker rûtes fuort en it belooft net dat ferkear stopt as de ferbining falt. Wat folget is de folchoarder dy't ik oanhald as in klant dekking beweart: klantsteat, bewarre profyl, tapaste rûtes, resolvers, en dan echte streams.

Begin by de klant, en fertrou it dan net mear

De klant is it juste plak om te begjinnen allinnich om't er seit hokker profyl aktyf is. Iepenje de ferbiningseigenskippen en skriuw de krekte profylnamme op, oft dy foar de hjoeddeiske brûker of foar elkenien op 'e masine makke is, en hokker adapter nei it ferbinen yn ncpa.cpl ferskynt. Op myn testlaptop droech de adapter de profylnamme, wat de rûte-útjefte maklik lêsber makke. Op oare masines ferskynt er as in WAN Miniport-ynstjoering en de namme fertelt jo neat.

Wat de klant jo net fertelle kin, is dekking. In ferbûn tegel beskriuwt de steat fan 'e tunnel, net in ynventaris fan bestimmingen. Tredde-partijklanten hâlde ek har eigen konfiguraasje by, dat it natige Windows-profyl, en elke eigenskip dy't jo derút lêze sille, kin neat te krijen hawwe mei wat dy klant ynstallearre hat. As de VPN kaam fia AnyConnect, OpenVPN GUI, WireGuard of in leveransier-agent, dan jilde de PowerShell-kontrôles hjirûnder meastentiids net en moatte jo leaver de eigen split-tunnel- en rûte-ynstellingen fan dy klant lêze.

Lês it bewarre profyl, net de tegel

Foar in natige Windows-profyl (IKEv2, L2TP, SSTP of ien dy't troch MDM skood wurdt) is de bewarre split-tunnel-beslissing ien eigenskip:

Get-VpnConnection -Name 'Office' | Select-Object Name, ServerAddress, SplitTunneling, DnsSuffix

Foegje -AllUserConnection ta as it profyl foar elkenien op it apparaat makke is. Sûnder dat lêze jo de list fan 'e hjoeddeiske brûker, dy't leech wêze kin of in oare ynstjoering mei in ferlykbere namme befetsje kin. In wearde False yn SplitTunneling betsjut dat it profyl as in folsleine tunnel bewarre is: Windows ynstallearret in standertrûte troch de VPN-adapter. True betsjut split tunnel, en dekking hinget dan folslein ôf fan 'e rûtes en namme-oplossingsregels dy't dat profyl skoot.

Behannelje dy wearde as konfiguraasje, net as observaasje. It registrearret wat it profyl by it ferbinen frege. Windows kin einigje mei oare tapaste rûtes, troch in spesifikere rûte fan in oare interface, in beliedsyynde of in oerbliuwsel fan in eardere ferbining, dat de Boolean beslist de fraach net allinnich.

Fergelykje de bewarre wearde mei de tapaste rûtetabel

Nei it ferbinen, list de rûtes op 'e tunneladapter op ynstee fan de hiele tabel troch te skowen:

$vpn = Get-NetAdapter | Where-Object InterfaceDescription -match 'VPN|WAN Miniport'
Get-NetRoute -InterfaceIndex $vpn.ifIndex | Sort-Object DestinationPrefix
Find-NetRoute -RemoteIPAddress 10.20.4.15 | Select-Object -First 1

Find-NetRoute is de nuttige helte. It beantwurdet de fraach dy't de klant nea beantwurdet: foar dizze bestimming, hokker interface en hokker boarneadres sil Windows echt brûke? Rinn it foar in ynterne host, in iepenbiere host en alles wat jo as in bewuste útsûndering beskôgje. In folsleine-tunnelprofyl moat de tunnelinterface foar it iepenbiere adres sjen litte. In split-tunnelprofyl lit dêr meastentiids de fysike adapter sjen, wylst ynterne foarheaksels noch altyd nei de VPN oplosse.

Twa fallen ferklearje de measte rapporten «it rûtelet ferkeard». It meast spesifike foarheaksel wint altyd, dat in /24 op 'e fysike adapter ferslacht in standertrûte op 'e VPN, hoe leech de metyk fan 'e tunnel ek is. Metyk beslist allinnich gelykens tusken rûtes foar itselde foarheaksel. En IPv4 en IPv6 wurde apart besletten: in profyl dat 0.0.0.0/0 dekt kin IPv6 op 'e lokale keppeling litte, wat in dûbel-stack-side heal-tunnele ferskine lit. Kontrolearje Get-NetRoute -AddressFamily IPv6 foar't jo konkludearje dat de tunnel goed is.

What you seeMost likely causeCheck next
Public traffic leaves the physical adapter while SplitTunneling reads FalseA more specific route on that adapter wins over the tunnel defaultFind-NetRoute for the exact destination, then look for a /24 or host route on the physical interface
Internal name fails, internal IP worksNo NRPT rule for that namespace, or a broader rule matches firstGet-DnsClientNrptPolicy and the namespace order
A dual-stack site opens directly while IPv4 uses the tunnelThe profile covers only the IPv4 default routeThe IPv6 route table on both interfaces
Routes look right but one app still goes directThe app uses its own proxy, or the client keeps a per-app listThe app's proxy settings and the client's application list

Kontrolearje namme-oplossing apart mei de NRPT

Ynterne nammen dy't mislearje wylst ynterne IP-adressen wurkje, wize op resolverbelled, net op rûteleas. Windows beslút DNS per nammeromte fia de tabel foar namme-oplossingsbelied, dy't ûnôfhinklik is fan 'e rûtetabel:

Get-DnsClientNrptPolicy -Effective | Select-Object Namespace, NameServers
Get-DnsClientServerAddress -InterfaceIndex $vpn.ifIndex

As in regel oerienkomt mei *.corp.example, gean fragen foar dy nammeromte nei de DNS-servers fan 'e tunnel, sels as it gegevenspaad nei dy servers op 'e fysike adapter bliuwt yn split-tunnelmodus. Dat is it ûntwerp, en dêrom fertelt in browsersaak dy't in iepenbiere side iepenet jo neat oer ynterne nammen. As de adapter de ferwachte servers listet mar sykjen noch altyd earne oars giet, fergelykje dan de folchoarder fan 'e NRPT-regels en kontrolearje oft in spesifikere nammeromte earst oerienkomt.

Kontrolearje de streams, en beslút dan wat jo eins frege hawwe

Wurksje troch bestimmingen yn in fêste folchoarder sadat resultaten oer masines fergelykber binne: in iepenbier adres, in yntern adres, in ynterne namme en ien bewuste útsûndering lykas in lokale printer of in fideo-oprop. Skriuw de interface en it boarneadres op dat Find-NetRoute foar elk weromjout. Nei elke beliedswiziging, ferbynje opnij en werhelje deselde fjouwer kontrôles; de rûtetabel nei it opnij ferbinen is it iennige bewiis dat it nije profyl fan krêft waard.

Skied dan rûteleas fan hanthavening. Twongen tunnelling foarkar de tunnel foar dekt ferkear wylst er omheech is. It is gjin kill switch. As de eask is dat neat de masine ferlit as de tunnel falt, moat dat fan in blokkearjend ûntwerp komme: in firewallprofyl bûn oan 'e tunnelsteat, in altyd-aan-profyl mei ferkearsfilters of de eigen slute-by-mislearring-opsje fan 'e leveransierklant. Twongen tunnelling moat ek it eigen adres fan 'e VPN-server bûten de tunnel berikber litte, en dat blokkearje yn 'e namme fan «alles twinge» is in betroubere manier om josels bûten de ferbining te sluten dy't jo besykje te hanthavenjen.

Foar't jo wat feroarje, rin dizze list troch. Elk item dat mislearret, ferhimmet wêr't it echte probleem sit.

  • Profylnamme en omfang befêstige, mei -AllUserConnection brûkt foar profilen foar de hiele masine.
  • SplitTunneling lêzen en as konfiguraasje behannele ynstee fan bewiis fan dekking.
  • Tunneladapterrûtes apart listet foar IPv4 en IPv6.
  • Find-NetRoute rûn foar ien iepenbiere, ien ynterne en ien útsûnderingsbestimming.
  • NRPT-regels kontrolearre foar't rûtes de skuld krigen foar in namme-mislearring.
  • Blokkearringseask opnij lêzen: foarkarrûteleas is net itselde as hanthavene blokkearring.

De beslissing oer folsleine of split tunnel heart by wa't it profyl besit, en de rûte-notysjes fan Microsoft beskriuwe it gedrach dat Windows útfiert as in profyl it ynstelt. Microsoft: twongen en split tunnelling is de referinsje dy't ik iepen hâld wylst ik de útjefte lês.

Relatearre artikelen