Ar un gliniadur, gydag un cleient VPN wedi'i gysylltu, mae cynwysyddion Linux yn parhau i siarad â'i gilydd ac mae cynwysyddion Windows yn stopio. Nid y ddelwedd yw'r newidyn; y llwybr y mae'r pecynnau'n ei gymryd i'r gwesteiwr yw'r newidyn. Mae cynwysyddion Windows ar y rhwydwaith rhagosodedig yn benthyg tabl llwybro a chyfieithiad y gwesteiwr, felly mae polisi sy'n newid llwybro'r gwesteiwr yn eu newid nhw hefyd. Cadarnhewch hynny gyda chwilfa llwybr cyn ailosod unrhyw beth.

Ble mae pecynnau cynhwysydd Windows yn dod i mewn i'r gwesteiwr

Mae cynhwysydd ar y rhwydwaith rhagosodedig nat yn cael cyfeiriad o ragddodiad y gwasanaeth Host Networking Service, fel arfer yn rhywle o fewn 172.16.0.0/12, ac yn cyrraedd y gwesteiwr drwy addasydd rhithwir. Y gwesteiwr sy'n berchen ar y llwybr ar gyfer y rhagddodiad hwnnw ac yn cyfieithu traffig tuag at ba bynnag addasydd sy'n weithredol. Nid oes peiriant rhithwir ar wahân yng nghanol y llwybr hwnnw.

Y dyluniad hwn sy'n gwneud y methiant yn fecanyddol. Pan fydd y cynhwysydd yn anfon pecyn, mae'r gwesteiwr yn gwneud chwilfa llwybr ar gyfer rhagddodiad y cynhwysydd. Pa lwybr bynnag sy'n ennill, dyna lle mae'r pecyn yn mynd, ac nid oes gan y cynhwysydd unrhyw farn am hynny.

Beth mae'r cleient VPN yn ei newid ar y llwybr hwnnw

Mae cleient corfforaethol yn aml yn gosod set eang o lwybrau a hidlydd sy'n gwrthod mynediad i'r isrwyd lleol tra bo'r twnnel i fyny. Mae'r bwriad yn amddiffynnol: ni ddylai rhwydwaith lleol sydd wedi'i beryglu gyrraedd peiriant gwarchodedig. Y sgil-effaith yw nad yw llwybr y gwesteiwr i ragddodiad y cynhwysydd bellach yn rhwydwaith NAT lleol.

Yn lle hynny, mae'r chwilfa yn cyfateb i'r twnnel ac mae'r pecyn yn cael ei drosglwyddo i'r porth, nad yw erioed wedi clywed am y cyfeiriad cynhwysydd hwnnw. Mae Ping yn methu, mae'r cymhwysiad yn rhedeg allan o amser, ac mae'r cynhwysydd yn edrych yn doredig tra bo eicon VPN yn disgleirio. Edrychwch ar dabl y gwesteiwr tra bo chi wedi cysylltu ac mae'r llwybr cystadleuol yn weladwy.

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

Pam mae cynwysyddion Linux yn ymddwyn yn wahanol

Mae'r peiriant Linux yn rhedeg cynwysyddion y tu mewn i beiriant rhithwir ysgafn, ac mae cysylltiadau allanol o'r peiriant hwnnw'n cael eu hagor gan ddirprwy ar ochr y gwesteiwr ar ran y cynhwysydd. Y gwesteiwr sy'n dechrau'r soced, felly nid yw rheol y VPN am ragddodiad y cynhwysydd yn gymwys iddo yn yr un ffordd, ac mae'r llwyth gwaith yn parhau i gyrraedd y rhwydwaith.

Mae'r gwahaniaeth hwnnw hefyd yn esbonio pam nad yw ryseitiau Linux yn trosglwyddo. Mae cynhwysydd Linux sydd angen ei dwnnel ei hun yn cael dyfais TUN ynghyd â gallu NET_ADMIN. Nid yw cynwysyddion Windows yn datgelu unrhyw ryngwyneb fel dyfais, felly nid oes cyfateb i'r patrwm hwnnw ar yr ochr honno.

Profwch y llwybr, yna dewiswch ddyluniad

Casglwch dystiolaeth o'r gwesteiwr, nid o'r cynhwysydd, oherwydd y gwesteiwr sy'n gwneud y chwilfa:

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

Rhedwch allbwn y llwybrau unwaith cyn i'r VPN gysylltu ac unwaith wedyn. Os yw rhagddodiad y cynhwysydd yn awgrymu addasydd y twnnel yn yr ail allbwn, mae'r diagnosis yn gyflawn ac ni fydd ailgychwyn cynwysyddion yn helpu.

Mae'r opsiwn cyntaf yn benderfyniad polisi: gofynnwch i berchennog y rhwydwaith a ellir caniatáu mynediad LAN lleol i'r ddyfais hon. Mae sawl cleient corfforaethol yn cynnig hynny fel gosodiad, ond mae'n gwanhau ffin fwriadol. Gofynnwch amdano fel eithriad dogfennedig gyda pherchennog a dyddiad adolygu. Togl fesul dyfais nad oes neb yn ei ailymweld yw'r ffordd y mae polisi amddiffynnol yn diflannu'n dawel.

Lle mae'n rhaid i'r polisi sefyll, symudwch y llwyth gwaith yn lle ymladd â'r llwybr. Mae rhwydwaith tryloyw gydag isrwyd a phorth penodol yn rhoi cynwysyddion ar y cyswllt lleol, mae llwyth gwaith Linux yn rhedeg y tu ôl i ddirprwy'r peiriant rhithwir, ac mae peiriant rhithwir ar wahân â'i gleient ei hun yn cadw ei bolisi ei hun. Dewiswch un yn fwriadol a'i brofi o fewn y cynhwysydd, oherwydd dyna lle mae cais y defnyddiwr yn tarddu.

Erthyglau cysylltiedig