Op een skootrekenaar, met een VPN-kliënt gekoppel, hou Linux-houers aan om met mekaar te praat en Windows-houers stop. Die beeld is nie die veranderlike nie; die pad wat die pakkies na die gasheer neem, is. Windows-houers op die versteknetwerk leen die gasheer se roetetabel en adresomsetting, so 'n beleid wat die gasheer se roetering verander, verander hulle ook. Bevestig dit met 'n roetesoektog voordat jy enigiets herinstalleer.

Waar 'n Windows-houer se pakkies die gasheer binnekom

'n Houer op die verstek nat-netwerk kry 'n adres uit 'n voorvoegsel van die Host Networking Service, gewoonlik ergens binne 172.16.0.0/12, en bereik die gasheer deur 'n virtuele adapter. Die gasheer besit die roete vir daardie voorvoegsel en vertaal verkeer na watter adapter ook al aktueel is. Daar is geen aparte virtuele masjien in die middel van daardie pad nie.

Daardie ontwerp is wat die fout meganies maak. Wanneer die houer 'n pakkie stuur, doen die gasheer 'n roetesoektog vir die houervoorvoegsel. Watter roete ook al wen, is waar die pakkie heen gaan, en die houer het geen mening daaroor nie.

Wat die VPN-kliënt aan daardie pad verander

'n Korporatiewe kliënt installeer dikwels 'n breë stel roetes en 'n filter wat toegang tot die plaaslike subnet weier terwyl die tonnel op is. Die bedoeling is verdedigend: 'n gekompromitteerde plaaslike netwerk behoort nie 'n beskermde masjien te bereik nie. Die newe-effek is dat die gasheer se roete na die houervoorvoegsel nie meer die plaaslike NAT-netwerk is nie.

In plaas daarvan pas die soektog by die tonnel en word die pakkie aan die gateway oorhandig, wat nog nooit van daardie houeradres gehoor het nie. Ping misluk, die toepassing hou op reageer, en die houer lyk stukkend terwyl die VPN-ikoon gloei. Kyk na die gasheer se tabel terwyl jy gekoppel is, en die mededingende roete is sigbaar.

Container modeOutbound pathTypical result behind the VPN
Windows, default natHost routes and translates container trafficContainer prefix follows the tunnel and fails
Windows, transparentContainer sits on the physical linkDepends on the local subnet being allowed
Linux engine on Docker DesktopVM egress proxied by a host processOften keeps working

Waarom Linux-houers anders optree

Die Linux-enjin hardloop houers binne 'n liggewig virtuele masjien, en uitgaande verbindings van daardie masjien word deur 'n gasheerkant-proxy namens die houer oopgemaak. Die gasheer begin die sok, so die VPN se reël oor die houervoorvoegsel geld nie op dieselfde manier vir hom nie, en die werklaag bly die netwerk bereik.

Daardie verskil verduidelik ook waarom Linux-resepte nie oordraagbaar is nie. 'n Linux-houer wat sy eie tonnel nodig het, kry 'n TUN-toestel plus die NET_ADMIN -vermoë. Windows-houers stel geen koppelvlak as 'n toestel bloot nie, so daardie patroon het geen ekwivalent aan daardie kant nie.

Bewys die roete en kies dan 'n ontwerp

Versamel bewyse van die gasheer, nie van die houer nie, want die gasheer doen die soektog:

docker network inspect nat --format "{{range .IPAM.Config}}{{.Subnet}}{{end}}"
route print -4
Get-NetRoute -AddressFamily IPv4 | Where-Object DestinationPrefix -like "172.16.*"

Voer die roete-uitset een keer uit voordat die VPN koppel en een keer daarna. As die houervoorvoegsel in die tweede uitset na die tonnel-adapter wys, is die diagnose voltooi en sal die herbegin van houers nie help nie.

Die eerste opsie is 'n beleidsbesluit: vra die netwerkeienaar of plaaslike LAN-toegang vir hierdie toestel toegelaat kan word. Verskeie korporatiewe kliënte bied dit as 'n instelling, maar dit verswak 'n doelbewuste grens. Vra daarvoor as 'n gedokumenteerde uitsondering met 'n eienaar en 'n hersieningsdatum. 'n Toestelspesifieke skakelaar wat niemand weer besoek nie, is hoe 'n verdedigende beleid stilweg verdwyn.

Waar die beleid moet bly, skuif die werklading eerder as om die roete te beveg. 'n Deursigtige netwerk met 'n eksplisiete subnet en gateway plaas houers op die plaaslike skakel, 'n Linux-werklading loop agter die VM-proxy, en 'n aparte virtuele masjien met sy eie kliënt behou sy eie beleid. Kies een doelbewus en toets dit van binne die houer, want dit is waar die gebruiker se versoek ontstaan.

Verwante artikels