Nešiojamasis kompiuteris yra biuro Wi-Fi tinkle, Ethernet kabelis prijungtas, o VPN adapteris vis dar yra. Jūsų PAC failas klausia myIpAddress(), kokiame tinkle jis yra. Tai skamba pagrįstai, kol jis gauna adresą, priklausantį netinkamam adapteriui.

Trūkstama detalė yra ta, kad funkcija grąžina vieną adresą. Tai nėra visų sąsajų sąrašas ir ji nesusisiekia su svetaine, kad išsiaiškintų jūsų viešąjį IP. Privatus adresas ar net loopback atsarginis variantas nepasako, kokį išėjimo adresą naudos užklausa per tarpinį serverį.

Vienas atsakymas mašinai su keliais adresais

Tinklo sąsajos pasirinkimas priklauso PAC įgyvendinimui. Senas patarimas perskirstyti Windows adapterius gali apibūdinti konkrečią naršyklės ir operacinės sistemos versiją, bet tai prastas universalus sprendimas. Chromium dokumentuoja savo pasirinkimo algoritmą ir kelių tinklų apribojimus; kitas klientas neprivalo daryti to paties pasirinkimo.

Pradėkite nustatydami vertę, kurią paveikta naršyklė iš tikrųjų pateikė, tada palyginkite ją su potinklio patikromis jūsų scenarijuje. Atlikite tai atskirai Wi-Fi, Ethernet ir patvirtinto VPN ryšio atveju. Adresas, kuris atrodo stebinantis, vis tiek gali atitikti įgyvendinimo taisykles.

Padarykite sprendimą mažiau priklausomą nuo spėlionių

Kur įmanoma, pasirinkite tarpinį serverį pagal paskirties hosto vardą, o ne pagal tariamą kliento sąsają. Jei reikia tinklo aptikimo, naudokite sąmoningą, dokumentuotą signalą, kurį kontroliuoja jūsų organizacija. DNS pagrįstas aptikimas taip pat turi gedimo režimų, todėl apibrėžkite, kas nutinka, kai to signalo nėra.

Kai kurie įgyvendinimai siūlo myIpAddressEx(). Prieš priimdami patikrinkite jo palaikymą ir grąžinimo formatą; tai nėra tiesioginis vienos IPv4 eilutės pakaitalas. Galiausiai nepriklausomai patikrinkite gautą užklausos maršrutą. Teisingas biuro potinklio atpažinimas ir patekimas į numatytą tarpinį serverį yra du atskiri rezultatai.

Susiję straipsniai