Git WSL2n trabatzen da VPN batekin: interfazearen MTU edo bidea?
Git autentifikatu eta gero WSL2 barruan zintzilik geratzen da? Konpara ezazu Linux interfazea Windows VPN egokitzailearekin, proba ezazu balio txikiago bat eta planifikatu haren bizitza.
Klonak autentifikatu egiten du, objektu-kopurua agertzen da, eta gero minutuak pasatzen dira ezer mugitu gabe. Windowsek VPN konektatuta dagoela dio, ostalari-izena ebazten da, eta makina bereko nabigatzaile batek biltegiaren orri bera arazo gabe eskuratzen du. Konbinazio horrek paketearen tamainara seinalatzen du, ez kredentzialetara, eta tamainaren galdera bi tokitan egin behar da WSL2k bere Linux interfazea baitu bere MTU propioarekin. Zenbaki bat bidearen Windows aldearena da, bestea distribuzioarena, eta VPN egokitzailea soilik irakurtzeak bidearen erdia ikertu gabe uzten du.
Hiru seinaleek tamaina-arazoa besteengandik bereizten dute
Lehen seinalea forma da: konexioaren ezarpena eta truke txiki bat lortzen dira, eta gero transferentzia handiak aurrera egiteari uzten dio. Bigarrena simetria da: biltegi bera eta garraio bera huts egiten dute bide bereko beste ostalari bat funtzionatzen duen bitartean, edo hutsegitea karga erabilgarriaren tamainarekin aldatzen da, ez eguneko orduarekin. Hirugarrena isiltasuna da: ez autentifikazio-errore, ez proxiaren ukapen, ez izen-ebazpen hutsegite, soilik inoiz amaitzen ez den transferentzia bat.
Hiru horiek elkarrekin pakete-tamainaren hipotesia justifikatzen dute. DNS hutsegiteak, iraungitako tokenak, ukatutako SSH gakoak eta CONNECT ukatzen duen proxiak bakoitzak bere errorea sortzen du, eta bat ere ez da arrakastaren ondorengo geldialdi baten antzekoa. Proba egitean biltegi, garraio eta denbora-leiho berak mantentzeak egiten du konparazioa zintzoa.
Konparatu bi interfazeak erabaki aurretik
Bildu Windows ikuspegia eta Linux ikuspegia saio berean, eta eutsi biltegiaren helbideari, zein interfazek daraman asmatu beharrean. Beheko komandoak helburua lehenengo ebazten du, ibilbidearen bilaketak klonak kontaktatzen duen benetako zerbitzaria deskriba dezan, eta hori nabigatzaileak erakutsitako izenaren desberdina izan daiteke. Exekutatu bi erdiak elkarrengandik hurbil, VPNak saiakuntzen artean interfazearen metrikak alda ditzakeelako.
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"'
Exekutatu Linux erdia distribuzioaren barruan, irteera Windows shell batean itsatsi beharrean, interfaze-izenek eta ibilbide-hautaketak han bakarrik baitute zentzua. Windows shell batetik itsatsitako irteerak zenbaki okerrak ematen ditu konfiantza handiz. Erregistra itzazu gailua, hautatutako ibilbidea eta MTU alderdi bakoitzetik ezer aldatu aurretik.
Erabaki zenbakiak txikiagoa izan behar duen
Interfazearen MTUa bideak eraman dezakeena baino handiagoa izatea ez da automatikoki akats bat, ibilbidearen MTUaren aurkikuntza horretarako baitago. Hutsegite-modua aurkikuntza itotzen denean agertzen da: ICMP mezuak nonbait iragazten dira bidean, bidaltzaileak ez du inoiz muga ikasten, eta pakete handiak desagertu egiten dira txikiek arrakasta duten bitartean. Hori bidearen propietatea da, ez Gitena. Hori da, halaber, fitxategi txiki batek sekula amaitzen ez den konexio batean arrakasta izateko arrazoia.
Frogak hori onartzen badu, Linux interfazean aldi baterako aldaketa da proba merkeena. Hautatu balio bat erabilgarri den bide-tamainaren azpitik, erregistratu aurrekoa, eta mantendu gainerako guztia konstante konparazioak zentzua izan dezan. Transferentzia balio txikiagoarekin amaitzen bada, diagnostiko bat duzu, ez kasualitate bat.
ip -br link show dev eth0
sudo ip link set dev eth0 mtu 1380
ip -br link show dev eth0
Erabaki non bizi behar duen ezarpenak
Probak hiru aukera ematen ditu, eta normalean horietako bat bakarrik da egokia. Balio txikiagoak transferentzia konpontzen badu eta balioa benetan beharrezkoa bada sare honetarako, ezarpenak bizi-zikloaren jabe bat behar du: abiarazte-kako bat distribuzioan, plataformak kudeatutako sare-konfigurazio bat edo dokumentatutako prozedura bat. Balioak ezer konpontzen ez badu, itzuli ezazu eta joan garraio, proxi eta autentifikazioaren galderetara.
Abiarazte-kako bat dagoen ala ez erabiltzen diren Windows eta WSL bertsioen eta konfiguratutako sare-moduaren araberakoa da. Windows sarearen isla VPNak distribuzioarekin duen elkarreragina alda dezake MTU doikuntza bat baino garrantzitsuagoak diren moduetan, beraz identifika ezazu modua harekin balizko irtenbide bat diseinatu aurretik. Eragile edo VPN profil bati egokitzen zaion balio bat ez da hurrengoarentzako lehenetsia.
Saihestu beharrekoa kokapen tentagarria da: sare-komando pribilegiatu bat shell interaktibo bakoitzaren abiarazte-fitxategian, edo pasahitzik gabeko sudo ip binario osoarentzat, script batek lerro bat exekuta dezan. Biek diagnostikoa esposizio iraunkor bihurtzen dute eta jatorrizko arazoa geroago ikustea zailtzen dute.
Egiaztatu hasiera garbi baten ondoren, gero itzuli
Distribuzioa berrabiarazten den arte soilik irauten duen aldaketa ez da konponketa bat. Berrabiarazi distribuzioa, konektatu VPN berriro eta errepikatu jatorrizko Git eragiketa, ping edo HTTP eskaera txiki baten ordezkoaren ordez. Gero egiaztatu interfazeak xede-balioa daramala saio berrian.
ip -br link show dev eth0
ip route get "$(getent ahostsv4 github.com | awk 'NR==1{print $1}')"
Eutsi erregistratutako jatorrizko balioari aldaketaren ondoan esperimentua garbi desegin ahal izateko, eta idatzi zein helbide-familia probatu zen, IPv4 emaitzak ez baitio ezer esaten ostalari bereko IPv6 konexioari. WSL sare-dokumentazioak konponketak nolakoa izan behar duen zehazten duten moduak deskribatzen ditu; MTU zenbakia bera tokiko neurketa da, ez gomendioa.