Ein regla getur haldið leyfðum VPN-hópi fjarri áfangasviði án þess að trufla nokkuð annað sem gáttin gerir. Reglan sjálf er stutt; hlutirnir sem ráða því hvort hún virkar eru krókurinn sem hún býr í og staða hennar í keðjunni. Ef mistök eru gerð í þessum tveimur fæst eldveggur sem lítur rétt út og hegðar sér ósamkvæmt. Byrjaðu á því hvað pakkinn gerir þegar reglan sér hann.

Hvað reglan passar í raun við

Reglan passar við þrjá hluti í einu: inntaksviðmót, upprunaforskeyti og áfangaforskeyti. Öll þrjú verða að vera sönn áður en dropið gildir, og það er það sem heldur henni þröngri. Auðveldara er að lesa hana sem eina segð en sem þrjár aðskildar stefnur.

Viðmótssamsvörunin er það sem greinir framsendri biðlendaumferð frá eigin tengingum gáttarinnar. Án hennar myndi regla sem nefnir aðeins upprunahópinn einnig hafa áhrif á pakka sem gáttin sjálf býr til frá því veffangi, ef hún gerir það nokkurn tíma. Upprunaforskeytið takmarkar stefnuna við leyfða biðlendur, og áfangaforskeytið takmarkar hana við eitt svið. Lestu regluna sem sniðmengi en ekki sem lista.

Skrifaðu niður þrjú gildin áður en þú breytir nokkru: nafn túnelviðmótsins, hópinn sem þjónninn úthlutar og forskeytið sem þú ætlar að hafna. Innsláttarvilla í einhverju þeirra býr til reglu sem þáttast hreint og verndar ekkert. Hafðu þessi þrjú gildi í breytingaskránni við hlið reglunnar.

Krókurinn ræður því við hverja reglan gildir

netfilter-keðja er fest á krók, og krókurinn ræður því hvaða pökkum keðjan sér yfirhöfuð. Krókurinn forward sér umferð sem er beint um gáttina, og það er einmitt umferð frá biðlenda til áfanga. Allt annað í keðjunni beinist að öðru áhorfendafólki.

Krókurinn input sér umferð sem er beint að gáttinni sjálfri, þannig að regla sem er sett þar stjórnar aðgangi að eigin þjónustum hennar en ekki gegnumferð. Krókurinn output sér umferð sem gáttin býr sjálf til, sem er andstæðan við það sem stefna biðlendahóps þarf. Keðjuheiti eru handahófskennd merki sem höfundur reglnanna valdi, svo ekki álykta krókinn út frá heitinu. Athugaðu hvar keðjan er fest áður en þú gerir ráð fyrir því hvað hún getur passað.

HookTraffic it seesRight for this policy
inputAddressed to the gatewayNo, that is the host's own services
forwardRouted through the gatewayYes, for client-to-destination traffic
outputGenerated by the gatewayNo, that is the opposite direction

Að lesa festinguna er einnar línu athugun sem kemur í veg fyrir að regla lendi í keðju sem sér pakkann aldrei.

Setja regluna fram fyrir breiða samþykkt

Reglur eru metnar í röð og fyrsti dómur vinnur. Breið samþykkt fyrr í keðjunni endar matið fyrir þá pakka sem hún passar við, svo drop sem bætt er við eftir á keyrir aldrei fyrir þá. Þessi röðunarregla er öll ástæðan fyrir því að regla sem lítur rétt út getur haft engin áhrif.

Setjið regluna inn fyrir samþykktina í stað þess að bæta henni við endinn. Ef keðjan inniheldur þegar almenna samþykkt fyrir túnelviðmótið verður nýja reglan að koma á undan henni, annars er hún aðeins skraut. Athugaðu röðina sem verður til en ekki skrána sem þú breyttir, því reglusett sem er sett saman úr nokkrum skrám passar kannski við enga þeirra. Staðfestu síðan með prófunarpakka úr hópnum.

sudo nft list chain inet filter forward
sudo nft insert rule inet filter forward iifname "tun0" ip saddr 10.90.0.0/24 ip daddr 198.51.100.0/24 drop
sudo nft -c -f /etc/nftables.conf

Þriðja skipunin þáttar skrána án þess að beita henni, sem grípur setningarvillur áður en þær verða truflun. Beittu með afturköllunaráætlun, því röng regla í forward-keðju getur skorið túnelinn sem þú vinnur gegnum.

Núverandi flæði hirða ekki um nýju regluna þína

conntrack-færsla sem var búin til áður en reglan var til heldur áfram að passa við fyrri samþykkt. Þess vegna virðist nýtt drop stundum virka fyrir nýjar tengingar og gera ekkert fyrir þá sem verið er að prófa.

Lestu stöðusamsvörunina efst í keðjunni. Ef hún samþykkir established og related umferð á undan reglunni þinni heldur hvert flæði sem er þegar í gangi áfram að streyma þar til það lokast. Þetta er venjulega hegðunin sem þú vilt fyrir neyðarreglu, og það er ruglingslegt þegar þú býst við tafarlausri röfun. Ákveddu hvaða áhrif þú vilt áður en þú dreifir. Próf sem endurnýtir opna tengingu segir þér ranga sögu.

sudo conntrack -L -s 10.90.0.14 -d 198.51.100.20
sudo nft list ruleset | grep -n -A3 'ct state'

Fyrsta skipunin sýnir hvort flæði er til, og sú önnur sýnir hvort snemma stöðuregla samþykkir það áfram. Báðar eru aðeins lesanlegar og öruggar að keyra meðan á atviki stendur.

Hvað þessi regla er ekki

Reglan er ekki svartur listi lén, IPv6-stefna né takmörkun á einum forritareikningi.

Hvert um sig þarf sitt fyrirkomulag. Lénablokkun verður að leysa nöfn, sem pakkasía gerir ekki. IPv6-umferð þarf eigin samsvörun, því ip-segð segir ekkert um ip6-pakka. Takmörkun á forritastigi tilheyrir þjónustunni eða auðkenndum milliþjóni, ekki forskeytissamsvörun. Að halda þessum kröfum aðskildum kemur í veg fyrir að ein þröng regla sé beðin um fjögur störf.

Samningurinn sem þessi regla veitir er nákvæmur: umferð frá leyfðum hópi að einu áfangaforskeyti er hafnað, á meðan ótengd umferð gáttarinnar heldur núverandi stefnu sinni. Skrifaðu þá setningu við hlið reglunnar, og næsta manneskja veit hvers vegna hún var.

Tengdir greinar