Príkaz sa spúšťa vnútri namespace VPN, objaví sa okno Firefoxu a stránka napriek tomu odchádza cez bežné pripojenie. Nastavenie smerovania pravdepodobne nie je prvá vec, ktorú treba prestavať. Skontrolujte, či príkaz vytvoril očakávanú inštanciu prehliadača, alebo odovzdal URL tej, ktorá už bežala niekde inde. Tento rozdiel vysvetľuje výsledok v jednom kroku a ušetrí hodinu s nftables.

Znakom je, že okno sa objaví okamžite, bez studeného štartu.

Nové okno nie je nová inštancia

Desktopové aplikácie bežne znovu používajú existujúci proces. Spúšťač v jednom sieťovom namespace nepresunie už bežiaceho príjemcu do tohto namespace, pretože príjemca nikdy nebol súčasťou spustenia. Správanie Firefoxu pri vzdialenom ovládaní súvisí s profilmi: spustenie proti už používanému profilu odovzdá argumenty jeho vlastníkovi. Nové okno je skutočné; nová sieťová cesta nie.

Súkromné prehliadanie a voľba nového okna nie sú nástroje izolácie siete.

Nie je ním ani prepínač príkazového riadka, ktorý ovplyvňuje iba režim okna. Ak je profil obsadený, požiadavka ide procesu, ktorý ho vlastní, a ten proces si ponechá namespace, v ktorom začal.

Vynúťte samostatnú inštanciu v samostatnom profile

Použite vyhradený profil vytvorený podporovaným pracovným postupom profilov prehliadača a spustite ho výslovne s týmto profilom. V zostaveniach Firefoxu, ktoré to podporujú, --new-instance žiada novú inštanciu namiesto okna v existujúcej. Pozrite si vlastný výstup pomoci nainštalovanej zostavy, pretože dostupné prepínače sa líšia podľa verzie.

Nesnažte sa otvoriť ten istý živý profil súčasne a neberte upozornenie, že profil sa používa, ako pokyn na vymazanie zámkových súborov.

Spúšťajte prehliadač aj pod jeho bežným používateľom bez root. Nastavenie siete často vyžaduje administratívne práva a je lákavé dať prehliadaču tie isté, pretože je súčasťou toho istého experimentu. Grafický prehliadač ich nepotrebuje a spustenie ako root vytvára osobitnú triedu problémov s profilom a oprávneniami. Držte privilégium a sieťovú cestu ako dve nezávislé rozhodnutia.

Skontrolujte, ktorý proces nesie prevádzku

V Linuxe je sieťový namespace procesu viditeľný cez jeho odkaz na namespace. Prečítajte ho pre proces, o ktorom si myslíte, že posiela požiadavku, a potom pre proces, ktorý ju naozaj posiela.

readlink /proc/ACTUAL_PID/ns/net

Prehliadače spúšťajú viacero procesov, preto záleží na identite: obsahový proces, ktorý nadväzuje spojenie, nemusí byť ten, ktorý ste skontrolovali prvý. Porovnajte odkaz so zamýšľaným namespace a potvrďte novou neškodnou požiadavkou, ktorú môžete pripísať jednej inštancii. Priradenie je celý test. Ak neviete povedať, ktorý proces nadviazal spojenie, namespace ste netestovali.

Keď je namespace naozaj nesprávny

Niekedy spúšťač naozaj zlyhá a nová inštancia začne v nesprávnom namespace. Skontrolujte službu alebo obal, ktorý ju vytvoril, pretože unit alebo položka pracovnej plochy môže stratiť namespace, keď sa znovu vykoná cez zbernicu relácie. Potom znova otestujte z shellu vnútri správneho namespace, než obviníte prehliadač. Jedna premenná naraz je jediný spôsob, ako to zostať diagnostikovateľné.

Zdieľanie obrazovky nezdieľa ani resolver.

Ak je proces v správnom namespace a preklad názvov stále zlyháva,preskúmajte jeho prostredie resolvera ako samostatný problém. Žiadna iná zmena smerovania nemôže presunúť požiadavku, ktorá bola odovzdaná nesprávnej inštancii ešte predtým, než vôbec začala.

Súvisiace články