Tunnelen kommer opp, loggen sier tilkoblet, og en applikasjon når fortsatt ingenting. På en Linux-klient betyr det vanligvis at distribusjonens brannmur filtrerer en vei som VPN-klienten aldri administrerte. To administratorer kan være aktive samtidig, hver med sine egne forestillinger om grensesnittet, sonen og trafikkretningen. Å identifisere eieren før man endrer noe er raskere enn å prøve regler til noe virker.

Finn administratoren og backend-en

Begynn med det som faktisk er lastet, ikke det som er installert. En distribusjon kan levere firewalld, ufw og en vanlig nftables-tjeneste, og bare én av dem eier det kjørende regelsettet. Pakkene sameksisterer fredelig, og en regel som legges inn gjennom feil frontend, når aldri kjernen. Les den aktive tjenesten, og les deretter regelsettet den produserte.

Backend-en betyr like mye som frontend-en. En firewalld-installasjon kan drive nftables eller den gamle iptables-backend-en avhengig av versjon og konfigurasjon, og de to gir ulik inspeksjonsutdata. Skriv distribusjonen, versjonen og backend-en i saken før du sammenligner systemet ditt med noen veiledning.

Tilpass retningen og grensesnittet

En utgående klientforespørsel, en inngående lytter og en videresendt pakke passerer forskjellige kroker, og en regel for én dekker ikke de andre. En sone som tillater det lokale LAN-et, omfatter ofte ikke tunnelgrensesnittet eller VPN-adressepoolen. Et tunnelgrensesnitt lander vanligvis i standardsonen, som ofte er strengere enn sonen den fysiske adapteren ligger i. Denne uoverensstemmelsen forklarer hvorfor surfing virker på LAN-et og stopper i det øyeblikket tunnelen kommer opp.

Spør hvilken retning som feilet før du velger en regel. En applikasjon som ikke kan koble seg utover, trenger utveien, mens en inngående tjeneste trenger innveien på tunnelgrensesnittet. Å legge en regel til feil kjede gir en endring som ser anvendt ut og ikke gjør noe som helst.

Hold regeleeierne samstemte

Kroken til en VPN-klient, et container-runtime og distribusjonens tjeneste kan alle endre nettverket, og de koordinerer ikke med hverandre. Håndinntastede regler forsvinner ved neste innlasting, og regler som settes inn i en administrators kjede, kan evalueres i en rekkefølge du ikke hadde tenkt. Bruk administratorens varige konfigurasjon og inspiser det resulterende regelsettet i stedet for filen du skrev. Å slå av hele brannmuren fordi én tjeneste er utilgjengelig, bytter et lite problem mot et stort.

Smale tellere er den billige måten å finne den avviste strømmen. En loggregel begrenset til én destinasjon og én port viser om droppet skjer lokalt uten å fange andres trafikk. Fjern loggregelen når undersøkelsen er over, siden den er diagnostikk og ikke policy, og firewallds sonedokumentasjon forklarer hvordan grensesnitt og tjenester kombineres.

Kontroller rettelsen uten å miste innlåsingen

Inspiser den anvendte tilstanden med administratoren som eier den, ved hjelp av kommandoer som samsvarer med backend-en du noterte. Listen nedenfor forutsetter at firewalld har ansvaret; bytt ut med ekvivalenten for nftables eller ufw i stedet for å kjøre alle. Å blande verktøy i én økt er hvordan en maskin ender opp med to motstridende regelsett.

sudo firewall-cmd --get-active-zones
sudo firewall-cmd --zone=trusted --list-all
sudo nft list ruleset | head -40

Den første kommandoen navngir sonene og grensesnittene som er tildelt dem, noe som viser hvor tunnelen faktisk landet. Den andre skriver ut en sones regler og tjenester, slik at du kan se om VPN-grensesnittet er dekket i det hele tatt. nftables-listen er grunnsannheten for backend-en som brukes, og en regel som bare finnes i en konfigurasjonsfil, vises ikke der. Sammenlign de tre utdataene med regelen du la til, og uoverensstemmelsen navngir vanligvis seg selv.

Deretter gjenta den opprinnelige forespørselen og feilatferden du krever. Et nyfungerende nettsted er ikke nok hvis den samme endringen fjernet klientens innlåsing, så test også en ubeskyttet vei. Noter administratoren, backend-en, grensesnittet og formålet med regelen, fordi en pakkeoppdatering som gjenoppliver en annen administrator ellers bygger opp hele rotet på nytt.

Relaterte artikler