Mae adeiladu'r twnnel y tu mewn i'r gwestai ac adeiladu ar y gwesteiwr ill dau yn newid y cyfeiriad y mae porwr yn ei adrodd, a dyna lle daw'r tebygrwydd i ben. Mae twnnel sy'n eiddo i'r gwestai yn cadw ei allweddi, ei lwybr diofyn a'i ddatryswr y tu mewn i gnewyllyn y gwestai, tra bo'r gwesteiwr yn anfon pecynnau wedi'u hamgryptio i un cyfeiriad pell. Mae twnnel sy'n eiddo i'r gwesteiwr yr un mor ddelwedd: mae cleient y gwesteiwr yn dal y sesiwn ac yn cymhwyso llwybrau a pholisi, a'r gwestai yn benthyca beth bynnag sy'n dod allan. Dewiswch y perchennog anghywir a bydd pob symptom diweddarach yn eich anfon i'r peiriant anghywir. Mae dwy orchymyn yn setlo'r cwestiwn mewn tua munud, a gweddill y llawlyfr hwn yw beth i'w wneud â'r ateb.

Penderfynwch ar y perchennog cyn cyffwrdd â'r cleient

Mae'r rheol yn ymwneud â lle mae'r testun wedi'i amgryptio yn cael ei gynhyrchu, nid pa beiriant sy'n dangos eicon VPN. Os y gwestai sy'n ei gynhyrchu, mae angen llwybr gweithiol i weinydd y VPN ar y gwestai a dim byd arall gan y gwesteiwr. Os y gwesteiwr sy'n ei gynhyrchu, mae angen i lwybr y gwesteiwr oroesi pa bynnag bolisi y mae cleient y gwesteiwr yn ei osod ar draffig lleol.

Mae tri chwestiwn fel arfer yn dewis y lleoliad drosoch. Oes rhaid i draffig y gwestai oroesi cleient corfforaethol ar y gwesteiwr? Yna mae'r twnnel yn perthyn i'r gwestai. Oes angen un credential ac un cyfeiriad allanfa ar sawl gwestai? Yna mae'n perthyn i'r gwesteiwr, gydag anfon ymlaen wedi'i osod yn fwriadol. Ydy traffig y gwestai i fod i aros yn llwyr oddi ar VPN y gwesteiwr? Yna twnnel gwestai yw'r unig drefniant sy'n rhoi hynny i chi yn ôl ei adeiladwaith.

Nodwch yr ateb ar un llinell wrth enw'r VM: guest-owned neu host-owned. Mewn labordy o chwe pheiriant mae'r nodyn hwnnw'n arbed mwy o amser nag unrhyw gam isod, oherwydd mae'n eich rhwystro rhag datrys problem mewn twnnel na fu erioed yn y peiriant rydych wedi mewngofnodi iddo.

Mae WSL1 a WSL2 yn achosion cyferbyniol

Nid masin rhithwir yw WSL1, felly mae'r cwestiwn lleoli yn anweddu'n bennaf. Mae ei ffeiliau deuaidd Linux yn rhedeg yn erbyn stac rhwydwaith Windows trwy haen gyfieithu, ac nid oes gan gleient VPN Linux unrhyw ryngwynebau annibynnol i'w ffurfweddu. Y trefniant sy'n gweithio yw twnnel ar ochr Windows, gyda'r dosbarthiad yn defnyddio'r canlyniad heb fod yn berchen ar unrhyw beth.

WSL2 yw'r gwrthwyneb. Mae'n rhedeg cnewyllyn go iawn mewn VM cyfleustod ysgafn y tu ôl i swits rhithwir Hyper-V, ac mae ei ofod cyfeiriad yn cael ei drawsnewid trwy addasydd ar ochr y gwesteiwr. Felly mae cleient Linux y tu mewn i'r dosbarthiad yn ymddwyn fel y byddai ar flwch Linux corfforol: mae'n creu tun0 neu wg0, yn gosod ei lwybrau ei hun, ac yn gweithio. Mae'r methiant yn byw ar ochr y gwesteiwr. Pan fydd cleient VPN Windows yn cysylltu gyda pholisi sy'n blocio traffig ar rwydweithiau lleol, mae'n trin is-rwydwaith WSL2 fel rhwydwaith lleol annoeth ac yn torri'r llwybr NAT. Yna mae'r dosbarthiad yn colli DNS a mynediad allan tra bo ei dwnnel ei hun yn dal yn iach: mae wg show yn adrodd am handshake, mae ip route yn edrych yn gywir, ac mae curl yn hongian.

Mae pa welliant y gallwch ei ddefnyddio yn dibynnu ar y fersiwn Windows. Yr un hŷn yw eithriad yng nghleient y gwesteiwr ar gyfer is-rwydwaith WSL, a ychwanegir o dan osodiadau rhwydwaith lleol neu dwnnel holltiedig y cleient. Yr un mwy diweddar, ar fersiynau Windows 11 sy'n ei gefnogi, yw rhwydweithio drych: rhowch networkingMode=mirrored yn adran [wsl2] o %UserProfile%\.wslconfig, rhedegwch wsl --shutdown, a bydd y dosbarthiad yn rhannu rhyngwynebau'r gwesteiwr yn lle is-rwydwaith NAT preifat. Mae modd drych hefyd yn newid sut mae localhost a phorthladdoedd sy'n dod i mewn yn ymddwyn, felly triniwch ef fel mudo yn hytrach na throi switsh.

NAT, pontio, a beth mae'r gwesteiwr yn ei weld

O dan NAT, mae pecynnau twnnel y gwestai yn cael eu cyfeirio at gyfeiriad cyhoeddus gweinydd y VPN ac yn gadael trwy addasydd y gwesteiwr fel UDP neu TCP wedi'i amgryptio. Mae'r gwesteiwr yn gweld un fflŵ a'i gyfrif beitiau, dim byd am y cyrchfannau y tu mewn iddo. O dan addasydd pontiedig mae gan y gwestai ei hunaniaeth haen 2 ei hun ar y LAN corfforol, yn cymryd ei brydles DHCP ei hun, ac yn ymddangos i unrhyw bolisi sy'n seiliedig ar MAC fel ail ddyfais. Nid oes y naill fodd na'r llall yn gadael i'r gwesteiwr ddarllen llwyth y twnnel; mae'r gwestai pontiedig yn syml yn llawer mwy gweladwy i'r rhwydwaith o'i gwmpas.

Mae llawr i'r ynysu hefyd. Ni all gwestai guddio rhag y peiriant sy'n berchen ar ei gof, a phwy bynnag sy'n rheoli'r gwesteiwr gall ddarllen allweddi o RAM y gwestai. Yr hyn y mae twnnel gwestai yn ei roi i chi yw ffin llwybro a ffin meddalwedd maleisus, nid amddiffyniad rhag y person sy'n dal y gliniadur. Mae'n werth cadw moddau addasydd dogfennedig ar agor wrth ddewis, gan fod y modd yn newid y ddau beth mae'r gwesteiwr yn ei weld a'r hyn mae'r LAN yn ei weld.

Llawlyfr: gosodwch ef, ffurfweddwch ef, profwch ef

Rhedegwch y pedwar gwiriad hyn mewn trefn mewn plisgyn gwestai newydd, ac arhoswch wrth y cyntaf nad yw'n cytuno â'r perchennog a nodwyd gennych.

  1. Mae ip route get 1.1.1.1 yn dychwelyd tun0 neu wg0 yn golygu mai'r gwestai sy'n berchen, ac mae eth0 â naid nesaf breifat yn golygu mai'r gwesteiwr sy'n berchen.
  2. resolvectl query example.com, neu darllenwch /etc/resolv.conf lle nad yw'r gwestai yn rhedeg unrhyw wasanaeth datryswr. Twnnel sy'n cario traffig ond nid DNS yw'r cyflwr hanner-ffurfweddedig mwyaf cyffredin.
  3. Cymharwch allanfeydd: curl -4 -s https://ifconfig.me yn y gwestai yn erbyn curl.exe -4 -s https://ifconfig.me ar y gwesteiwr. Mae cyfeiriadau gwahanol yn golygu mai'r gwestai sy'n berchen ar y twnnel, ac mae gwesteiwr ar y VPN gyda gwestai yn dangos ISP y cartref yw'r achos o beidio â hetifeddu dim.
  4. Ailadroddwch y ddau gyda -6. Mae twnnel v4 yn unig yn gollwng v6 oni bai bod y cleient yn ei flocio neu'n ei lwybro, ac mae llawer o gleientiaid yn gadael v6 ar y rhyngwyneb corfforol yn ddiofyn.

Ar gyfer dyluniad porth y gwesteiwr, lle mae sawl gwestai yn rhannu un twnnel, rhaid i'r gwesteiwr anfon ymlaen a chyfieithu. Ar westeiwr Linux mae hynny'n dair rhan, ac mae'r gwestai yn cwympo'n dawel yn ôl i'w lwybr plaen pan fydd unrhyw un ohonynt ar goll:

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
iptables -A FORWARD -i virbr0 -o wg0 -j ACCEPT
iptables -A FORWARD -i wg0 -o virbr0 -m state --state RELATED,ESTABLISHED -j ACCEPT

Ar ochr WireGuard, rhaid i AllowedIPs cymar y gwesteiwr gynnwys is-rwydwaith y gwestai, er enghraifft 192.168.122.0/24, neu ni fydd y pecynnau dychwelyd byth yn cyrraedd ac mae'r gosodiad yn edrych fel problem mur tân. Mae gwesteiwr Windows yn cyrraedd yr un canlyniad gyda Rhannu Cysylltiad Rhyngrwyd neu reol NAT ar swits Hyper-V, ac mae angen yr un gwiriad llwybr dychwelyd.

Pan fo'r cynllun yn dal yn agored, mae'r tabl hwn yn cwmpasu'r trefniadau mwyaf cyffredin:

SituationOwnerCheck first
One VM, host also on a corporate VPNGuestDoes the host client block local networks?
Six lab VMs, one exit addressHost plus forwardingip_forward, NAT rule, server AllowedIPs
Malware or research VMGuest, NATSnapshot age and resolver state
Bridged VM on an office LANGuestDHCP lease and port security

Dau dwnnel, dau westai, a'r gwrthdaro rhyngddynt

Pan fydd angen dau allanfa ar unwaith, y patrwm sy'n dal yw un twnnel i bob gwestai. Mae pob VM yn cadw ei lwybr diofyn a'i ddatryswr ei hun, mae'r gwesteiwr yn aros ar y rhwydwaith cyffredin, ac nid yw'r ddau dwnnel byth yn dadlau dros yr un tabl llwybro. Nid yw pontio dau westai at ei gilydd yn cyfuno eu llwybrau chwaith: mae'r rhwydwaith rhithwir yn darparu llwybr, ac mae angen dweud wrth bob cleient o hyd y gall y traffig lleol hwn osgoi'r twnnel.

Mae rhedeg twnnel gwesteiwr a thwnnel gwestai gyda'i gilydd yn gyfreithlon, ac weithiau mai nythu bwriadol yn union yw'r hyn yr ydych ei eisiau, gyda'r gwestai yn gadael trwy ei dwnnel ei hun a'r twnnel hwnnw'n gadael trwy un y gwesteiwr. Yr hyn sy'n ei droi'n ymyrraeth yw na ysgrifennodd neb pa ben draw y dylid ei gyrraedd trwy ba haen. Cadwch restr dwy golofn o gyrchfan a pherchennog, a daw gwrthdaro llwybr yn chwiliad yn lle prynhawn o ddarganfod.

Gwiriwch, yna cadwch adferiad gyda'r perchennog

Profwch o fewn y gwestai gyda phroses cymhwysiad newydd: traffig, datrysiad enwau, y ddau deulu cyfeiriad, a beth sy'n digwydd pan fydd y twnnel yn cwympo. Nid yw eicon VPN y gwesteiwr yn dweud dim am gynnwys y gwestai, a dyna'r cadarnhad ffug mwyaf cyffredin yn y maes hwn i gyd.

Mae adferiad yn perthyn i'r perchennog hefyd. Mae twnnel sy'n eiddo i'r gwestai yn cael ei adfer gan gleient y gwestai ei hun a'r llwybrau a ysgrifennodd. Mae dyluniad sy'n eiddo i'r gwesteiwr yn cael ei adfer gan ddilyniant cychwyn y gwesteiwr, ac nid yw'r rheolau anfon ymlaen yn goroesi ailgychwyn oni bai bod uned neu dasg gychwyn yn eu hailddefnyddio. Mae ciplun wedi'i adfer yn ddefnydd, nid yn dadwneud, oherwydd mae'n dod â hen gymwyseddau a hen lwybrau yn ôl gyda'r ddisg. Cyn i chi alw'r gwaith yn gyflawn, cadarnhewch fod y perchennog yn dal i gyd-fynd â'r llinell a nodwyd gennych, fod DNS a'r ddau deulu cyfeiriad yn datrys y tu mewn i'r gwestai, fod twnnel marw yn gadael rhwydwaith defnyddiadwy yn lle twll du, a bod ailgychwyn neu adfer ciplun yn atgynhyrchu'r un cyflwr.

Erthyglau cysylltiedig