VPN hostda, yoxsa VM-in içində işlədilsin? Qərar kitabçası
Tunelin sahibi nəyin nəyi əhatə etdiyini müəyyən edir. Host və ya qonaq yerləşdirməsini seçin, sonra bunu qonağın içində marşrut, DNS və çıxış yoxlamaları ilə təsdiqləyin.
Tuneli qonağın içində qurmaq da, onu hostda qurmaq da brauzerin bildirdiyi ünvanı dəyişir və oxşarlıq burada bitir. Qonağa məxsus tunel öz açarlarını, öz standart marşrutunu və öz həlledicisini qonaq nüvəsinin içində saxlayır, host isə şifrələnmiş paketləri bir uzaq ünvana yönləndirir. Hosta məxsus tunel bunun güzgü əksidir: host müştərisi sessiyanı saxlayır, marşrutları və siyasəti tətbiq edir, qonaq isə çıxanı borc alır. Səhv sahibi seçsəniz, sonrakı hər simptom sizi səhv maşına göndərəcək. İki əmr bu sualı təxminən bir dəqiqədə həll edir və bu kitabçanın qalanı cavabla nə edəcəyinizdir.
Müştəriyə toxunmadan əvvəl sahibi müəyyənləşdirin
Qayda şifrəli mətnin harada istehsal olunduğuna aiddir, hansı maşının VPN nişanı göstərməsinə deyil. Əgər onu qonaq istehsal edirsə, qonağın VPN serverinə işlək marşrutu olmalıdır və hostdan başqa heç nə lazım deyil. Əgər onu host istehsal edirsə, host müştərisinin yerli trafikə tətbiq etdiyi siyasətdən asılı olmayaraq qonağın host yolu işləməlidir.
Adətən üç sual yerləşdirməni sizin üçün seçir. Qonağın trafiki hostdakı korporativ müştəridən keçməlidirmi? Onda tunel qonağın içindədir. Bir neçə qonağa bir etimadnamə və bir çıxış ünvanı lazımdırmı? Onda o, hostdadır və yönləndirmə qəsdən qurulur. Qonağın trafiki hostun VPN-dən tamamilə kənarda qalmalıdırmı? Onda yalnız qonaq tuneli bunu konstruksiya ilə verir.
Cavabı VM adının yanında bir sətir kimi yazın: guest-owned və ya host-owned. Altı maşından ibarət laboratoriyada bu qeyd aşağıdakı hər hansı addımdan çox vaxt qazandırır, çünki sizi heç vaxt daxil olduğunuz maşında olmayan tuneli axtarmaqdan saxlayır.
WSL1 və WSL2 əks hallardır
WSL1 virtual maşın deyil, ona görə yerləşdirmə sualı çox vaxt buxarlanır. Onun Linux ikili faylları tərcümə qatı vasitəsilə Windows şəbəkə yığınına qarşı işləyir və Linux VPN müştərisinin konfiqurasiya ediləcək müstəqil interfeysləri yoxdur. İşləyən variant Windows tərəfində tuneldir və distributiv nəticədən heç nəyə sahib olmadan istifadə edir.
WSL2 bunun əksidir. O, Hyper-V virtual kommutatorunun arxasında yüngül köməkçi VM-də real nüvə işlədir və onun ünvan məkanı host tərəfindəki adapter vasitəsilə NAT edilir. Buna görə distributiv daxilindəki Linux müştərisi fiziki Linux qutusunda olduğu kimi davranır: tun0 və ya wg0 yaradır, öz marşrutlarını quraşdırır və işləyir. Nasazlıq host tərəfində yaşayır. Windows VPN müştərisi yerli şəbəkələrdə trafiki bloklayan siyasətlə qoşulduqda WSL2 alt şəbəkəsini etibarsız yerli şəbəkə sayır və NAT yolunu kəsir. Sonra distributiv DNS-i və xarici çıxışı itirir, halbuki öz tuneli hələ də sağlamdır: wg show əl sıxma bildirir, ip route düzgün görünür və curl asılır.
Hansı düzəlişdən istifadə edə biləcəyiniz Windows buraxılışından asılıdır. Köhnəsi WSL alt şəbəkəsi üçün host müştərisi istisnasıdır və müştərinin yerli şəbəkə və ya bölünmüş tunel parametrləri altında əlavə olunur. Yenisi, onu dəstəkləyən Windows 11 buraxılışlarında, güzgülü şəbəkədir: %UserProfile%\.wslconfig faylının [wsl2] bölməsinə networkingMode=mirrored yazın, wsl --shutdown işlədin və distributiv xüsusi NAT alt şəbəkəsi əvəzinə hostun interfeyslərini paylaşacaq. Güzgülü rejim localhost və daxil olan portların davranışını da dəyişir, ona görə ona açar kimi deyil, miqrasiya kimi baxın.
NAT, körpü və hostun nə görə bildiyi
NAT altında qonağın tunel paketləri VPN serverinin ictimai ünvanına ünvanlanır və host adapterindən şifrələnmiş UDP və ya TCP kimi çıxır. Host bir axın və onun bayt sayını görür, içindəki təyinatlar haqqında heç nə görmür. Körpülü adapter altında qonağın fiziki LAN-da öz 2-ci qat identifikasiyası olur, öz DHCP icarəsini alır və MAC əsaslı istənilən siyasət üçün ikinci cihaz kimi görünür. Heç bir rejim hosta tunel yükünü oxumağa imkan vermir; körpülü qonaq sadəcə ətrafındakı şəbəkə üçün qat-qat görünən olur.
İzolyasiyanın da bir döşəməsi var. Qonaq öz yaddaşına sahib olan maşından gizlənə bilməz və hostu idarə edən hər kəs qonağın RAM-ından açarları oxuya bilər. Qonaq tunelinin verdiyi şey marşrut sərhədi və zərərli proqram sərhədidir, noutbuku tutan şəxsdən qorunma deyil. Sənədləşdirilmiş adapter rejimləri seçim edərkən açıq olsa yaxşıdır, çünki rejim həm hostun gördüyünü, həm də LAN-ın gördüyünü dəyişir.
Təlimat: yerləşdir, konfiqurasiya et, sübut et
Bu dörd yoxlamanı təzə qonaq qabığında sıra ilə işlədin və yazdığınız sahiblə razılaşmayan ilk yoxlamada dayanın.
ip route get 1.1.1.1əmrinintun0və yawg0qaytarması qonağa məxsusluq deməkdir,eth0ilə xüsusi növbəti hop qaytarması isə hosta məxsusluq deməkdir.resolvectl query example.comişlədin və ya qonağın heç bir həlledici xidməti olmayan yerdə/etc/resolv.conffaylını oxuyun. Trafiki daşıyıb DNS-i daşımayan tunel ən çox rast gəlinən yarımkonfiqurasiya vəziyyətidir.- Çıxışları müqayisə edin: qonaqda
curl -4 -s https://ifconfig.mevə hostdacurl.exe -4 -s https://ifconfig.me. Ünvanlar fərqlidirsə tunel qonağa məxsusdur, host VPN-də olub qonaq ev provayderini göstərirsə bu, «heç nə miras qalmayıb» halıdır. - Hər ikisini
-6ilə təkrarlayın. Yalnız v4 tuneli, müştəri onu bloklamadıqca və ya marşrutlamadıqca v6 sızdırır və bir çox müştəri standart olaraq v6-nı fiziki interfeysdə qoyur.
Bir neçə qonağın bir tuneli paylaşdığı host-şlüz dizaynı üçün host yönləndirməli və tərcümə etməlidir. Linux hostda bu üç hissədir və hər hansı biri çatışmayanda qonaq səssizcə adi marşrutuna qayıdır:
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 tərəfində host peer-in AllowedIPs dəyərinə qonaq alt şəbəkəsi daxil olmalıdır, məsələn 192.168.122.0/24, əks halda qayıdış paketləri heç vaxt gəlmir və quraşdırma firewall problemi kimi görünür. Windows host eyni nəticəyə İnternet Bağlantısı Paylaşımı və ya Hyper-V kommutatorunda NAT qaydası ilə çatır və eyni qayıdış yolu yoxlamasını tələb edir.
Plan hələ açıq olanda bu cədvəl ən çox rast gəlinən variantları əhatə edir:
| Situation | Owner | Check first |
|---|---|---|
| One VM, host also on a corporate VPN | Guest | Does the host client block local networks? |
| Six lab VMs, one exit address | Host plus forwarding | ip_forward, NAT rule, server AllowedIPs |
| Malware or research VM | Guest, NAT | Snapshot age and resolver state |
| Bridged VM on an office LAN | Guest | DHCP lease and port security |
İki tunel, iki qonaq və aralarındakı ziddiyyətlər
Eyni anda iki çıxış lazım olanda dayanan naxış hər qonağa bir tuneldir. Hər VM öz standart marşrutunu və həlledicisini saxlayır, host adi şəbəkədə qalır və iki tunel heç vaxt eyni marşrut cədvəli üstündə mübahisə etmir. İki qonağı körpü ilə birləşdirmək də marşrutlarını birləşdirmir: virtual şəbəkə yol verir və hər müştəriyə hələ də bu yerli trafikin tuneli keçə biləcəyi deyilməlidir.
Host tuneli ilə qonaq tunelini birlikdə işlətmək qanunidir və qəsdən iç-içə qoyma bəzən tam istədiyiniz şeydir: qonaq öz tunelindən çıxır, o tunel də hostun tunelindən çıxır. Bunu kəsintiyə çevirən odur ki, heç kim hansı son nöqtəyə hansı qatdan çatılmalı olduğunu yazmayıb. Təyinat və sahibdən ibarət iki sütunlu siyahı saxlayın və marşrut ziddiyyəti bir günorta kəşfiyyatı əvəzinə axtarışa çevrilir.
Təsdiqləyin, sonra bərpanı sahibdə saxlayın
Qonağın içindən sınaqdan keçirin təzə tətbiq prosesi ilə: trafik, ad həlli, hər iki ünvan ailəsi və tunel düşəndə nə baş verir. Hostun VPN nişanı qonağın əhatəsi haqqında heç nə demir və bu, bütün bu sahədə ən çox rast gəlinən yalançı təsdiqdir.
Bərpa da sahibə aiddir. Qonağa məxsus tunel qonağın öz müştərisi və onun yazdığı marşrutlarla bərpa olunur. Hosta məxsus dizayn hostun yüklənmə ardıcıllığı ilə bərpa olunur və yönləndirmə qaydaları, onları bir unit və ya başlanğıc tapşırığı yenidən tətbiq etmədikcə, yenidən yüklənmədən sonra qalmır. Bərpa olunmuş snapshot yerləşdirmədir, geri qaytarma deyil, çünki disk ilə birlikdə köhnə etimadnamələri və köhnə marşrutları geri gətirir. İşi bitmiş saymazdan əvvəl təsdiqləyin ki, sahib hələ də yazdığınız sətrə uyğundur, DNS və hər iki ünvan ailəsi qonağın içində həll olunur, ölü tunel qara dəlik əvəzinə istifadə oluna bilən şəbəkə qoyur və yenidən yüklənmə ya snapshot bərpası eyni vəziyyəti təkrarlayır.