Klon autentifikasiyadan keçir, obyekt sayı görünür və sonra dəqiqələrlə heç nə hərəkət etmir. Windows VPN-i qoşulmuş kimi göstərir, host adı həll olunur və eyni maşındakı brauzer eyni repozitoriya səhifəsini çətinlik çəkmədən açır. Bu birləşmə etimad məlumatlarına deyil, paket ölçüsünə işarə edir və ölçü sualı iki yerdə soruşulmalıdır, çünki WSL2-nin öz MTU-su olan öz Linux interfeysi var. Bir rəqəm yolun Windows tərəfinə, digəri distributivə aiddir və yalnız VPN adapterini oxumaq yolun yarısını yoxlanmamış qoyur.

Üç siqnal ölçü problemini başqalarından ayırır

Birinci siqnal formadır: bağlantı qurulur və kiçik mübadilə uğurla keçir, sonra kütləvi ötürmə irəliləyişi dayandırır. İkincisi simmetriyadır: eyni repozitoriya və eyni nəqliyyat uğursuz olur, halbuki eyni yolda başqa host işləyir, ya da uğursuzluq günün vaxtı ilə deyil, yükün ölçüsü ilə dəyişir. Üçüncüsü sükutdur: autentifikasiya xətası yox, proksi imtinası yox, ad həlli uğursuzluğu yox, sadəcə heç vaxt tamamlanmayan ötürmə.

Bu üçü birlikdə paket ölçüsü fərziyyəsini əsaslandırır. DNS xətası, vaxtı keçmiş token, rədd edilmiş SSH açarı və CONNECT-i rədd edən proksi hər biri öz xətasını yaradır və heç biri uğurdan sonra dayanmağa bənzəmir. Test zamanı eyni repozitoriyanı, nəqliyyatı və vaxt pəncərəsini saxlamaq müqayisəni dürüst edən şeydir.

Qərar verməzdən əvvəl hər iki interfeysi müqayisə edin

Windows görünüşünü və Linux görünüşünü eyni sessiyada toplayın və repozitoriyanın ünvanını hansı interfeysin daşıdığına dair təxmindən üstün tutun. Aşağıdakı əmr əvvəlcə təyinatı həll edir ki, marşrut axtarışı klonun həqiqətən əlaqə saxladığı serveri təsvir etsin; bu, brauzerin göstərdiyi addan fərqlənə bilər. Hər iki yarını bir-birinə yaxın vaxtda işə salın, çünki VPN cəhdlər arasında interfeys metrikalarını dəyişə bilər.

netsh interface ipv4 show subinterfaces
wsl -d Ubuntu -- bash -lc 'dest=$(getent ahostsv4 github.com | awk \'NR==1{print $1}\'); ip -br link show; ip route get "$dest"'

Linux yarısını Windows qabığına çıxışı yapışdırmaq əvəzinə distributiv daxilində işə salın, çünki interfeys adları və marşrut seçimi yalnız orada məna kəsb edir. Windows qabığından yapışdırılan nəticə səhv rəqəmləri böyük inamla bildirir. Hər şeyi dəyişməzdən əvvəl hər tərəfdən cihazı, seçilmiş marşrutu və MTU-nu qeyd edin.

Rəqəmin kiçik olub-olmamasına qərar verin

İnterfeys MTU-sunun yolun daşıya biləcəyindən böyük olması avtomatik qüsur deyil, çünki yol MTU kəşfi məhz bunun üçün mövcuddur. Uğursuzluq rejimi kəşf yatırıldıqda ortaya çıxır: ICMP mesajları yolun hansısa yerində süzülür, göndərən həddi heç öyrənmir və böyük paketlər yox olur, kiçiklər isə keçir. Bu yolun xüsusiyyətidir, Git-in deyil. Bu həm də kiçik faylın böyük faylın heç vaxt bitmədiyi bağlantıda uğur qazanmasının səbəbidir.

Dəlillər bunu dəstəkləyirsə, Linux interfeysində müvəqqəti dəyişiklik ən ucuz testdir. İstifadə oluna bilən yol ölçüsündən aşağı dəyər seçin, əvvəlkini qeyd edin və müqayisənin məna kəsb etməsi üçün hər şeyi sabit saxlayın. Ötürmə kiçik dəyərdə tamamlanırsa, təsadüf deyil, diaqnozunuz var.

ip -br link show dev eth0
sudo ip link set dev eth0 mtu 1380
ip -br link show dev eth0

Ayarın harada yaşamalı olduğuna qərar verin

Testdən üç variant irəli gəlir və onlardan yalnız biri adətən uyğundur. Kiçik dəyər ötürməni düzəldirsə və dəyər bu şəbəkə üçün həqiqətən tələb olunursa, ayarın həyat dövrü sahibinə ehtiyacı var: distributivdə başlanğıc qarmağı, platformanın idarə etdiyi şəbəkə konfiqurasiyası və ya sənədləşdirilmiş prosedur. Dəyər heç nəyi düzəltmirsə, onu geri qaytarın və nəqliyyat, proksi və autentifikasiya suallarına qayıdın.

Başlanğıc qarmağının olub-olmaması istifadə olunan Windows və WSL versiyalarından və konfiqurasiya edilmiş şəbəkə rejimindən asılıdır. Windows şəbəkəsini əks etdirmək VPN-in distributivlə qarşılıqlı əlaqəsini MTU düzəlişindən daha çox əhəmiyyət kəsb edən şəkildə dəyişə bilər, ona görə də onun üçün keçici həll dizayn etməzdən əvvəl rejimi müəyyənləşdirin. Bir operatora və ya bir VPN profilinə uyğun dəyər növbəti üçün standart deyil.

Qaçmaq lazım olan şey cəlbedici yerləşdirmədir: hər interaktiv qabığın başlanğıc faylında imtiyazlı şəbəkə əmri və ya skriptin bir sətir işlətməsi üçün bütün ip ikili faylına parolsuz sudo. Hər ikisi diaqnostikanı daimi məruz qalmaya çevirir və ilkin problemi sonradan görməyi çətinləşdirir.

Təzə başlanğıcdan sonra yoxlayın, sonra geri qaytarın

Yalnız distributiv yenidən başlayana qədər davam edən dəyişiklik düzəliş deyil. Distributivi yenidən başladın, VPN-i yenidən qoşun və ping və ya kiçik HTTP sorğusu kimi əvəzedici deyil, orijinal Git əməliyyatını təkrarlayın. Sonra yeni sessiyada interfeysin nəzərdə tutulan dəyəri daşıdığını təsdiqləyin.

ip -br link show dev eth0
ip route get "$(getent ahostsv4 github.com | awk 'NR==1{print $1}')"

Qeydə alınmış orijinal dəyəri dəyişikliyin yanında saxlayın ki, təcrübə təmiz şəkildə geri qaytarıla bilsin və hansı ünvan ailəsinin sınaqdan keçirildiyini qeyd edin, çünki IPv4 nəticəsi eyni hostdakı IPv6 bağlantısı haqqında heç nə demir. WSL şəbəkə sənədləri düzəlişin necə görünməli olduğunu müəyyən edən rejimləri təsvir edir; MTU rəqəminin özü yerli ölçmədir, tövsiyə deyil.

Əlaqəli məqalələr