Tuneļa veidošana viesa iekšienē un tā veidošana uz resursdatora abos gadījumos maina adresi, ko ziņo pārlūks, un tur līdzība beidzas. Viesa īpašumā esošais tunelis savas atslēgas, savu noklusēto maršrutu un savu atrisinātāju glabā viesa kodolā, bet resursdators pārsūta šifrētas paketes uz vienu attālu adresi. Resursdatora īpašumā esošais tunelis ir spoguļattēls: resursdatora klients tur sesiju un piemēro maršrutus un politiku, un viesis aizņemas to, kas iznāk. Izvēloties nepareizo īpašnieku, katrs vēlākais simptoms jūs aizvedīs pie nepareizās mašīnas. Divas komandas izlemj jautājumu aptuveni minūtē, un pārējā šīs rokasgrāmatas daļa ir tas, ko darīt ar atbildi.

Izlemiet īpašnieku, pirms pieskaraties klientam

Noteikums ir par to, kur tiek ražots šifrētais teksts, nevis par to, kura mašīna rāda VPN ikonu. Ja to ražo viesis, viesim nepieciešams darbojošs maršruts uz VPN serveri un nekas cits no resursdatora. Ja to ražo resursdators, viesa ceļam caur resursdatoru jāiztur jebkura politika, ko resursdatora klients uzliek vietējam trafikam.

Trīs jautājumi parasti izvēlas izvietojumu jūsu vietā. Vai viesa trafikam jāiztur uzņēmuma klients uz resursdatora? Tad tunelis ir viesa iekšienē. Vai vairākiem viesiem nepieciešams viens akreditācijas datu pāris un viena izejas adrese? Tad tas ir uz resursdatora, ar apzināti iestatītu pāradresāciju. Vai viesa trafikam jāpaliek pilnīgi ārpus resursdatora VPN? Tad tunelis viesī ir vienīgais izkārtojums, kas to dod jau pēc uzbūves.

Pierakstiet atbildi vienā rindā blakus VM nosaukumam: guest-owned vai host-owned. Sešu mašīnu laboratorijā šī piezīme ietaupa vairāk laika nekā jebkurš solis zemāk, jo tā neļauj jums meklēt kļūdu tunelī, kas nekad nav bijis mašīnā, kurā esat pieteicies.

WSL1 un WSL2 ir pretēji gadījumi

WSL1 nav virtuālā mašīna, tāpēc izvietojuma jautājums lielākoties izkūp. Tā Linux binārie faili darbojas pret Windows tīkla steku caur tulkošanas slāni, un Linux VPN klientam nav neatkarīgu saskarņu, ko konfigurēt. Darbojošais izkārtojums ir tunelis Windows pusē, un distribūcija izmanto rezultātu, neko neīpašojot.

WSL2 ir otrādi. Tas darbina īstu kodolu vieglā palīgVM aiz virtuāla Hyper-V komutatora, un tā adrešu telpa tiek NAT-ota caur resursdatora puses adapteri. Tāpēc Linux klients distribūcijas iekšienē uzvedas kā fiziskā Linux kastē: tas izveido tun0 vai wg0, instalē savus maršrutus un darbojas. Kļūme mīt resursdatora pusē. Kad Windows VPN klients pieslēdzas ar politiku, kas bloķē trafiku vietējos tīklos, tas WSL2 apakštīklu uzskata par neuzticamu vietējo tīklu un pārgriež NAT ceļu. Tad distribūcija zaudē DNS un ārējo piekļuvi, kamēr tās pašas tunelis vēl ir vesels: wg show ziņo par rokasspiedienu, ip route izskatās pareizi, un curl iestrēgst.

Kuru labojumu varat izmantot, atkarīgs no Windows būvējuma. Vecākais ir izņēmums resursdatora klientā WSL apakštīklam, kas tiek pievienots klienta vietējā tīkla vai sadalītā tuneļa iestatījumos. Jaunākais, uz Windows 11 būvējumiem, kas to atbalsta, ir spoguļotā tīklošana: ievietojiet networkingMode=mirrored %UserProfile%\.wslconfig sadaļā [wsl2], palaidiet wsl --shutdown, un distribūcija dalīsies ar resursdatora saskarnēm, nevis privātu NAT apakštīklu. Spoguļotais režīms maina arī localhost un ienākošo portu uzvedību, tāpēc uztveriet to kā migrāciju, nevis slēdzi.

NAT, tilts un ko resursdators var redzēt

Zem NAT viesa tuneļa paketes tiek adresētas VPN servera publiskajai adresei un iziet caur resursdatora adapteri kā šifrēts UDP vai TCP. Resursdators redz vienu plūsmu un tās baitu skaitu, neko par galamērķiem tajā. Zem tilta adaptera viesim ir sava 2-slāņa identitāte fiziskajā LAN, tas paņem savu DHCP nomu un jebkurai uz MAC balstītai politikai izskatās kā otra ierīce. Neviens režīms neļauj resursdatoram lasīt tuneļa lietderīgo slodzi; tiltotais viesis vienkārši ir daudz pamanāmāks apkārtējam tīklam.

Arī izolācijai ir apakšējā robeža. Viesis nevar paslēpties no mašīnas, kurai pieder tā atmiņa, un tas, kurš kontrolē resursdatoru, var lasīt atslēgas no viesa RAM. Tas, ko dod tunelis viesī, ir maršrutēšanas un ļaunprātīgas programmatūras robeža, nevis aizsardzība pret cilvēku, kurš tur portatīvo datoru. Dokumentētos adaptera režīmus ir vērts turēt atvērtus, kamēr izvēlaties, jo režīms maina gan to, ko redz resursdators, gan to, ko redz LAN.

Rokasgrāmata: izvietojiet, konfigurējiet, pierādiet

Izpildiet šīs četras pārbaudes pēc kārtas jaunā viesa čaulā un apstājieties pie pirmās, kas neatbilst pierakstītajam īpašniekam.

  1. ip route get 1.1.1.1, kas atgriež tun0 vai wg0, nozīmē viesa īpašumu, bet eth0 ar privātu nākamo lēcienu nozīmē resursdatora īpašumu.
  2. resolvectl query example.com, vai lasiet /etc/resolv.conf tur, kur viesis nedarbina atrisinātāja pakalpojumu. Tunelis, kas pārvadā trafiku, bet ne DNS, ir visizplatītākais puskonfigurētais stāvoklis.
  3. Salīdziniet izejas: curl -4 -s https://ifconfig.me viesī pret curl.exe -4 -s https://ifconfig.me uz resursdatora. Atšķirīgas adreses nozīmē, ka viesis īpašo tuneli, un resursdators VPN ar viesi, kas rāda mājas ISP, ir gadījums, kad nekas netika mantots.
  4. Atkārtojiet abus ar -6. Tikai v4 tunelis noplūdina v6, ja vien klients to nebloķē un nemaršrutē, un daudzi klienti pēc noklusējuma atstāj v6 uz fiziskās saskarnes.

Resursdatora vārtejas dizainā, kur vairāki viesi dala vienu tuneli, resursdatoram jāpārsūta un jātulko. Linux resursdatorā tie ir trīs gabali, un viesis klusi atgriežas pie sava vienkāršā maršruta, kad kāda no tām trūkst:

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

WireGuard pusē resursdatora partnera AllowedIPs jāietver viesu apakštīkls, piemēram, 192.168.122.0/24, citādi atgriešanās paketes nekad nenonāk un iestatījums izskatās kā ugunsmūra problēma. Windows resursdators sasniedz to pašu rezultātu ar interneta savienojuma koplietošanu vai NAT noteikumu uz Hyper-V komutatora, un tam vajadzīga tā pati atgriešanās ceļa pārbaude.

Kad izkārtojums vēl ir atvērts, šī tabula aptver biežākās sakārtojumus:

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

Divi tuneļi, divi viesi un pretrunas starp tiem

Kad vajag divas izejas vienlaikus, izturīgais modelis ir viens tunelis uz viesi. Katrs VM patur savu noklusēto maršrutu un atrisinātāju, resursdators paliek parastajā tīklā, un divi tuneļi nekad nestrīdas par vienu un to pašu maršrutēšanas tabulu. Divu viesu savienošana ar tiltu arī nesavieno viņu maršrutus: virtuālais tīkls nodrošina ceļu, un katram klientam joprojām jāpasaka, ka šis vietējais trafiks drīkst apiet tuneli.

Resursdatora tuneļa un viesa tuneļa darbināšana kopā ir likumīga, un apzināta ligzdošana dažkārt ir tieši tas, ko vēlaties, kad viesis iziet cauri savam tunelim un tas tunelis iziet cauri resursdatora tunelim. Par pārtraukumu to pārvērš tas, ka neviens nav pierakstījis, kurš galapunkts pa kuru slāni jāsasniedz. Turiet divu kolonnu sarakstu ar galamērķi un īpašnieku, un maršruta konflikts kļūst par meklēšanu, nevis atklājumu pēcpusdienu.

Pārbaudiet, un tad atstājiet atjaunošanu īpašniekam

Pārbaudiet viesa iekšienē ar jaunu lietojumprogrammas procesu: trafiks, nosaukumu atrisināšana, abas adrešu saimes un tas, kas notiek, kad tunelis krīt. Resursdatora VPN ikona neko nepasaka par viesa pārklājumu, un tas ir visizplatītākais nepatiesais apstiprinājums visā šajā jomā.

Atjaunošana arī pieder īpašniekam. Viesa īpašumā esošais tunelis tiek atjaunots ar paša viesa klientu un tā pierakstītajiem maršrutiem. Resursdatora īpašumā esošais dizains tiek atjaunots ar resursdatora palaišanas secību, un pāradresācijas noteikumi neiztur atkārtotu palaišanu, ja vien unit vai palaišanas uzdevums tos atkal nepiemēro. Atjaunots momentuzņēmums ir izvietošana, nevis atsaukšana, jo tas atgriež vecus akreditācijas datus un vecus maršrutus kopā ar disku. Pirms pasludināt darbu pabeigtu, apstipriniet, ka īpašnieks joprojām atbilst pierakstītajai rindai, ka DNS un abas adrešu saimes tiek atrisinātas viesa iekšienē, ka miris tunelis atstāj lietojamu tīklu, nevis melnu caurumu, un ka atkārtota palaišana vai momentuzņēmuma atjaunošana atveido to pašu stāvokli.

Saistītie raksti