OpenVPN ütleb ühendatud ja liiklus ei liigu, lause, mis katab vähemalt viis omavahel seostamatut riket. Tulemüürireeglite muutmine enne, kui tead, milline kiht ebaõnnestub, korrutab tundmatud ja jätab järgmisele insenerile segaduse. Tööta hoopis protsessist väljapoole, sest iga samm allpool kas puhastab ühe etapi või kitsendab kohta, kus pakett sureb. Järjekord on siin oluline: enne, kui tead, milline aadress on seotud, tehtud püüdmine tõestab midagi, ainult mitte seda, mida vajad.

Sokkel on kas seotud või mitte

Aktiivseks teatav teenus võib ikkagi olla seotud aadressi või transpordiga, mida sa ei kavatsenud. Küsitle soklit ennast: ss -lunp loetleb UDP-kuulajad ja ss -ltnp TCP omad, ning veerg, mida tasub lugeda, on kohalik aadress, mitte olek.

Tühi vastus tähendab tavaliselt ühte kolmest: protsess väljus pärast käivitamist, laadis teise konfiguratsioonifaili või kuulab teisel aadressil kui see, millele helistatakse.

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

Direktiiv local kinnitab kuulaja ühe aadressi külge, nii et samal hostil mujale suunatud klient lükatakse tagasi, samal ajal kui teenus väljastpoolt näib endiselt terve. Eksemplari nimi võib samuti osutada failile, mida sa pole kunagi muutnud, mis juhtub hostidel, kus töötab kaks profiili kõrvuti.

Püüdke välimine pakett, mitte tunnel

Filtreerige füüsilisel liidesel ja tegelikul pordil, asendades oma liidese: tcpdump -ni eth0 udp port 1194. Väljuvad paketid, millele miski ei tule tagasi, osutavad sellele, mis on ülalpool: teenusepakkuja filtreerimine, NAT-seade või kaugadress, mis pole see, mida arvad. Vaikus mõlemas suunas osutab kliendi marsruutimisele või kohalikule tulemüürile. Vastused, mis saabuvad ilma tunneli edenemiseta, osutavad juhtkanalile, see tähendab võtme või šifri mittevastavust, mitte filtreerimisele.

Püüdke mõlemad suunad ja hoidke fail lühike. Pikk püüdmine matab huvitavad kolm sekundit ja vastus on peaaegu alati esimeses vahetuses.

Esmalt loendurid, jälg ainult siis, kui nad valetavad

Alusta loenduritest, sest need ei maksa midagi. Kas nft list ruleset või iptables -L -n -v vastab ainsale küsimusele, mis siin loeb: kas reegel klappis? Järjekord otsustab tulemuse, sest esimene klapp võidab, mistõttu lai DROP enne hilisemat ACCEPT jätab selle ACCEPT surnuks ja mistõttu reegli lisamine nii harva midagi parandab.

Omandisuhe komistab inimesi samuti. Kernel omistab kohapeal loodud paketid protsessile, mis sokli avas, ja OpenVPN töötab tavaliselt rootina, nii et tavalise kasutaja ID külge seotud reegel ei näe kunagi tunneli enda liiklust. Kontrolli omandavat UID-d, enne kui otsustad, et reegel on vale.

Ainult siis, kui loendurid jäävad kahemõtteliseks, on logi müra väärt, ja sedagi ainult kitsa lõigu jaoks: iptables-reegel, mis piirab kiirust ja lisab oma logiridadele eesliite, või nftables-reegel, mis kannab meta nftrace set 1, kui nft monitor trace töötab. Jälg nimetab ahela ja reegli, mis paketi vastu võttis või maha viskas. Eemalda mõlemad pärast seda ja hoia kasuliku koormuse logimine sellest väljas.

Kontrolli ka transporti. TCP-ga piiratud tulemüüriteenus ei ütle midagi UDP-kuulaja kohta sellel numbril, nii et korrektselt loetav reegel võib ikkagi iga paketi maha visata.

Marsruutimine ja tee tagasi

Vastu võetud pakett, mis siiski kaob, vajab sihttee uurimist. ip route get teatab ühe aadressi jaoks valitud marsruudi ja pöördtee filtreerimine võib maha visata vastuse, mis saabub liidese kaudu, mida põhitabel kunagi ei valiks. Sümptom näeb täpselt välja nagu tulemüüri mahaviskamine, mistõttu see kontroll tuleb enne järgmist NAT-reeglit.

Gateway juures kontrolli edastamist ja forward-ahelat, mitte input-ahelat. Seejärel kinnita, et kaugpool teab, kuidas lähteaadressini jõuda, sest töötav väljuv tee ilma millegi tagasitulekuta on vaikus mõlemal juhul.

Mida kirje peab ütlema

Iga muudatuse kohta pane kirja testitud etapp, loetud tõend ja loenduri väärtus selle mõlemal küljel. Just see märge teeb "nüüd see töötab" järgmisel ülevaatusel ellujäävaks.

Kaks otseteed hoiavad märkme ausana. Pakett, mis kunagi hostist ei lahkunud, ei saanud olla mujal asuva reegliga maha visatud, ükskõik kui veenev kaugpoole konfiguratsioon ka ei paista. Pakett, mis lahkus ja naasis, viib küsimuse võrgukihi kohale, kus tulemüüri loenduritel pole sulle enam midagi öelda.

Seotud artiklid