Wêrom in OpenVPN-klantblokkearregel nea de FORWARD-keten rekket
Ferkeer fan klant nei klant kin binnen it OpenVPN-proses bliuwe en nea de FORWARD-keten fan 'e host passearje, dus in nulteller bewiist neat.
Twa klanten op deselde OpenVPN-tsjinner kinne elkoar berikke, sels nei't jo in DROP-regel foar har poel tafoege hawwe. De regel sit yn 'e FORWARD-keten, it ferkear streamt dúdlik, en de teller fan dy regel bliuwt op nul. De natuerlike konklúzje is dat de firewall stikken is. Faak is it pakket hielendal net yn 'e keten kommen.
Der binne twa paden dy't in peer-pakket troch in OpenVPN-tsjinner nimme kin, en dy wurde bepaald troch de konfiguraasje, net troch de firewall. Witte hokker paad brûkt wurdt, fertelt jo oft in hostregel wol op it goede plak stiet.
Twa paden dy't in peer-pakket nimme kin
Mei de opsje foar ynterne trochstjoering útskeakele komt in pakket fan klant A op 'e tunnelinterface oan mei in bestimming binnen it tawiisde adres fan klant B. De rûtetabel fan 'e tsjinner stjoert it werom troch deselde tunnelinterface, om't de tsjinner de rûte nei it adres fan B hat. Dat is in yn-en-út-stream troch de host, en it IPv4-trochstjoerpaad beoardielet it.
Mei de opsje foar ynterne trochstjoering oan komt it tsjinnerproses it pakket oerien mei in ferbûn klant en skriuwt it werom nei dy klant sels. It pakket wurdt binnen de daemon behannele en komt nea wer yn it tunnelapparaat, dus it trochstjoerpaad fan 'e host wurdt hielendal oerslein. It OpenVPN 2.6-hânboek beskriuwt dizze opsje as ynterne trochstjoering fan klant nei klant, en dat is krekt wêrom't in firewallregel fan 'e host it net sjen kin.
Der bestiet in tredde fariant yn ynstallaasjes dy't it datakanaal nei in kernelmodule oerbringt. It trochstjoerbeslút en de fersifering ferlitte de brûkersromte, en oft netfilter de stream sjocht, hinget ôf fan hoe't it oerbringpaad boud is. Nim nea oan dat in âlde regelset him op in oerbrocht tsjinner itselde hâldt as op ien yn 'e brûkersromte. Befêstigje de modus út 'e rinnende konfiguraasje, net út 'e pakketferzje.
Wannear't de teller nea beweecht
In nulteller betsjut dat it pakket dy regel op dat punt net rekke, en der binne ferskate redenen. De earste is de omwei hjirboppe: it ferkear hat de keten nea berikt. De twadde is in misferhâlding yn interface, rjochting, boarne of bestimming, wat gewoan is as de pool opnij nûmere is en de regel noch it âlde foarheaksel neamt.
De tredde is posysje. In regel earder yn 'e keten kin de stream akseptearje foardat jo DROP beoardiele wurdt, en in regel letter kin dejinge wêze dy't it resultaat eins beslút. Lês de keten yn folchoarder mei de tellers sichtber, en kontrolearje dan hokker regel syn telling groeit as jo de test werhelje.
Doch ien kontrolearre útwikseling tusken twa klanten waans echte adressen jo befêstige hawwe út 'e eigen tastân fan 'e tsjinner, net út in hier dy't jo ûnthâlde. As de oangeande teller noch net beweecht, fertink dan it paad foardat jo de oerienkomst oerskriuwe. As er beweecht mar de ferbining slagget noch, dan wurdt de drop letter oerstimd en is de folchoarder it probleem. Dat antwurd beslút oft de reparaasje in regelwiziging of in topologyske wiziging is, dus helje it foardat jo wat bewurkje.
In grins kieze dy't filterje kin
As it belied yn 'e firewall fan 'e host wêze moat, set it ferkear dêr't de firewall it sjen kin. Ynterne trochstjoering útskeakelje is de stipe manier om peer-ferkear troch de tunnelinterface en it trochstjoerpaad gean te litten, tsjin de priis dat elk peer-pakket troch de hoststack giet.
Koppelje dan de stream krekt. Ferkear komt op 'e tunnelinterface oan en giet der by de tunnelinterface út, yn beide rjochtingen, dus regels dy't allinnich de fysike interface besjogge, sille net oerienkomme. Adresbasearre regels hawwe de hjoeddeiske pool nedich, en se moatte sawol de weromrjochting as de foarút-rjochting yn rekken bringe.
In soad ynstallaasjes binne better tsjinne mei filterjen op klant- of groepsnivo, dêr't de identiteit bekend is en it belied de brûker folget ynstee fan in adres dat by opnij ferbinen feroaret. Dat is in oar meganisme as in hostketen, en de beide moatte net sûnder dúdlike reden mongen wurde.
Drage gjin regelset fan in âlde topology sûnder feroaring oer in migraasje. Adrespoelen, interfacenammen en trochstjoermodi beynfloedzje allegear oft in regel oerienkomt, en in kopiearre regel dy't earder wurke wie it meast misliedende soarte bewiis. Begjin by de stream dy't jo tastean wolle en skriuw de regel dy't dêrby past.
Isolearring testen ynstee fan in regel fertrouwe
Test it ferbeane gefal en it tastiene gefal yn deselde run. Start in nije ferbining fan 'e iene klant nei de oare en befêstigje dat it mislearret, befêstigje dan dat in ferbining dy't tastien wurde moat noch wurket. As allinnich it earste testen wurdt, liket in firewall dy't alles blokkearret op súkses.
Werhelje nei it opnij laden fan 'e tsjinnerkonfiguraasje en nei't in klant opnij ferbûn is, om't ynterne trochstjoering en pooltawiizings runtimetastân binne. Kontrolearje tellers yn beide rjochtingen, om't in regel dy't ien rjochting rekket en it antwurd net, partisjele isolearring jout dy't yn in flugge test min te merken is.
Isolearring is it waarnommen resultaat op 'e grins dy't de stream eins draacht. In DROP-regel earne yn 'e host is gjin bewiis; in mislearre ferbining plus in beweegde teller op 'e regel dy't it feroarsake hat, wol.