OpenVPN pravi povezano, promet pa se ne premika, stavek, ki pokriva vsaj pet nepovezanih okvar. Urejanje pravil požarnega zidu, preden veste, katera plast odpove, pomnoži neznanke in naslednjemu inženirju pusti nered. Delajte namesto tega od procesa navzven, ker vsak korak spodaj bodisi očisti eno stopnjo bodisi zoži mesto, kjer paket umre. Vrstni red je tu pomemben: zajem, narejen preden veste, kateri naslov je vezan, bo dokazal nekaj, le ne tega, kar potrebujete.

Vtičnica je bodisi vezana bodisi ne

Storitev, ki poroča o aktivnosti, je lahko še vedno vezana na naslov ali transport, ki ga niste nikoli nameravali. Vprašajte vtičnico samo: ss -lunp našteje poslušalce UDP, ss -ltnp pa TCP, in stolpec, ki ga je vredno brati, je lokalni naslov, ne stanje.

Prazen odgovor običajno pomeni eno od treh: proces je po zagonu končal, naložil je drugo konfiguracijsko datoteko ali posluša na drugem naslovu od tistega, na katerega se kliče.

ss -lunp | grep 1194
ss -ltnp | grep 1194

Direktiva local pripne poslušalca na en naslov, zato je odjemalec, usmerjen drugam na istem gostitelju, zavrnjen, medtem ko je storitev od zunaj videti še vedno zdrava. Ime instance lahko tudi kaže na datoteko, ki je niste nikoli uredili, kar se zgodi na gostiteljih z dvema profiloma drug ob drugem.

Ujemite zunanji paket, ne tunela

Filtrirajte na fizičnem vmesniku in resničnih vratih, z vstavljenim svojim vmesnikom: tcpdump -ni eth0 udp port 1194. Odhodni paketi, na katere se nič ne vrne, kažejo na to, kar je zgoraj: filtriranje ponudnika, naprava NAT ali oddaljeni naslov, ki ni tisti, ki ga mislite. Tišina v obe smeri kaže na usmerjanje odjemalca ali lokalni požarni zid. Odgovori, ki prispejo brez napredka tunela, kažejo na krmilni kanal, torej neskladje ključa ali šifre, ne na filtriranje.

Ujemite obe smeri in datoteko ohranite kratko. Dolg zajem zakoplje zanimive tri sekunde, odgovor pa je skoraj vedno v prvi izmenjavi.

Najprej števci, sled le ko lažejo

Začnite s števci, ker ne stanejo nič. Bodisi nft list ruleset bodisi iptables -L -n -v odgovori na edino vprašanje, ki je tu pomembno: ali se je pravilo ujemalo? Vrstni red odloči izid, ker prvo ujemanje zmaga, zato širok DROP pred poznejšim ACCEPT pusti ta ACCEPT mrtev in zato dodajanje pravila tako redko kaj popravi.

Tudi lastništvo spotakne ljudi. Jedro lokalno ustvarjene pakete pripiše procesu, ki je odprl vtičnico, OpenVPN pa običajno teče kot root, zato pravilo, vezano na običajen uporabniški ID, nikoli ne vidi prometa samega tunela. Preverite UID lastnika, preden se odločite, da je pravilo napačno.

Šele ko števci ostanejo dvoumni, je dnevnik vreden hrupa, in to le za ozek izsek: pravilo iptables, ki omejuje hitrost in svojim vrsticam doda predpono, ali pravilo nftables z meta nftrace set 1 med delovanjem nft monitor trace. Sled poimenuje verigo in pravilo, ki je paket sprejelo ali zavrglo. Nato oboje odstranite in beleženje koristnega tovora pustite zunaj.

Preverite tudi transport. Storitev požarnega zidu, omejena na TCP, ne pove ničesar o poslušalcu UDP na tej številki, zato lahko pravilno prebrano pravilo še vedno zavrže vsak paket.

Usmerjanje in pot nazaj

Sprejeti paket, ki kljub temu izgine, potrebuje pregled poti do cilja. ip route get poroča o poti, izbrani za en naslov, filtriranje povratne poti pa lahko zavrže odgovor, ki prispe prek vmesnika, ki ga glavna tabela nikoli ne bi izbrala. Simptom je videti natanko kot zavrženje požarnega zidu, zato ta preveritev pride pred še enim pravilom NAT.

Na prehodu preverite posredovanje in verigo forward namesto verige input. Nato potrdite, da oddaljena stran ve, kako doseči izvorni naslov, ker je delujoča odhodna pot brez česa, kar bi se vrnilo, tišina v obeh primerih.

Kaj mora povedati zapis

Za vsako spremembo zapišite preverjeno stopnjo, prebrani dokaz in vrednost števca na obeh straneh. Ta zapis je tisto, kar naredi "zdaj deluje" sposobno preživeti naslednji pregled.

Dve bližnjici ohranjata zapis pošten. Paket, ki gostitelja ni nikoli zapustil, ni mogel biti zavržen s pravilom drugje, ne glede na to, kako prepričljiva je videti konfiguracija oddaljene strani. Paket, ki je odšel in se vrnil, premakne vprašanje nad omrežno plast, kjer števci požarnega zidu nimajo več kaj povedati.

Sorodni članki