Gall un rheol gadw pwll VPN a dderbyniwyd i ffwrdd o ystod gyrchfan heb amharu ar unrhyw beth arall y mae'r porth yn ei wneud. Mae'r rheol ei hun yn fyr; y rhannau sy'n penderfynu a yw'n gweithio yw'r bachyn y mae'n byw ynddo a'i safle yn y gadwyn. Mae cael y ddau hynny'n anghywir yn cynhyrchu mur tân sy'n edrych yn gywir ac yn ymddwyn yn anghyson. Dechreuwch o'r hyn y mae'r pecyn yn ei wneud pan fydd y rheol yn ei weld.

Beth mae'r rheol yn ei baru mewn gwirionedd

Mae'r rheol yn paru tri pheth ar unwaith: rhyngwyneb mewnbwn, rhagddodiad ffynhonnell a rhagddodiad cyrchfan. Rhaid i'r tri fod yn wir cyn i'r drop gael ei gymhwyso, a dyna sy'n ei chadw'n gul. Mae ei darllen fel un ymadrodd yn haws na'i darllen fel tair polisi ar wahân.

Y paru rhyngwyneb sy'n gwahaniaethu traffig cleientiaid a anfonir ymlaen oddi wrth gysylltiadau'r porth ei hun. Heb hynny, byddai rheol sy'n enwi'r pwll ffynhonnell yn unig hefyd yn effeithio ar becynnau y mae'r porth ei hun yn eu cynhyrchu o'r cyfeiriad hwnnw, os bydd byth yn gwneud hynny. Mae'r rhagddodiad ffynhonnell yn cyfyngu'r polisi i gleientiaid a dderbyniwyd, a'r rhagddodiad cyrchfan yn ei gyfyngu i un ystod. Darllenwch y rheol fel croestoriad yn hytrach nag fel rhestr.

Ysgrifennwch y tri gwerth i lawr cyn golygu unrhyw beth: enw'r rhyngwyneb twmffi, y pwll y mae'r gweinydd yn ei ddosbarthu, a'r rhagddodiad rydych am ei wrthod. Mae gwall teipio mewn unrhyw un ohonynt yn cynhyrchu rheol sy'n dosrannu'n lân ac yn amddiffyn dim. Cadwch y tri gwerth hynny yn y cofnod newid wrth ymyl y rheol.

Mae'r bachyn yn penderfynu ar bwy y mae'r rheol yn berthnasol

Mae cadwyn netfilter ynghlwm wrth fachyn, a y bachyn sy'n penderfynu pa becynnau y mae'r gadwyn yn eu gweld. Mae'r bachyn forward yn gweld traffig a lwybrwyd trwy'r porth, sef traffig cleient-i-gyrchfan. Mae popeth arall yn y gadwyn wedi'i anelu at gynulleidfa wahanol.

Mae'r bachyn input yn gweld traffig a anelwyd at y porth ei hun, felly mae rheol a osodir yno yn llywodraethu mynediad i'w wasanaethau ei hun yn hytrach na chludiant. Mae'r bachyn output yn gweld traffig y mae'r porth yn ei darddu, sef y gwrthwyneb i'r hyn y mae polisi pwll cleientiaid ei angen. Mae enwau cadwyni yn labeli mympwyol a ddewiswyd gan bwy bynnag a ysgrifennodd y set reolau, felly peidiwch â chasglu'r bachyn o'r enw. Gwiriwch ble mae'r gadwyn ynghlwm cyn tybio beth y gall ei baru.

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

Mae darllen y cysylltiad yn wiriad un llinell sy'n atal rheol rhag glanio mewn cadwyn nad yw byth yn gweld y pecyn.

Gosodwch y rheol cyn y derbyniad eang

Mae rheolau'n cael eu gwerthuso mewn trefn, ac mae'r dyfarniad cyntaf yn ennill. Mae derbyniad eang yn gynharach yn y gadwyn yn dod â'r gwerthuso i ben ar gyfer y pecynnau y mae'n eu paru, felly ni fydd drop a ychwanegwyd wedyn byth yn rhedeg ar eu cyfer. Y rheol drefnu honno yw'r rheswm cyfan pam y gall rheol sy'n edrych yn gywir heb unrhyw effaith.

Mewnosodwch y rheol o flaen y derbyniad yn hytrach na'i hychwanegu at y diwedd. Os yw'r gadwyn eisoes yn cynnwys derbyniad cyffredinol ar gyfer y rhyngwyneb twmffi, rhaid i'r rheol newydd ddod o'i flaen neu y mae'n addurnol. Gwiriwch y drefn sy'n deillio o hynny yn hytrach na'r ffeil a olygwyd gennych, oherwydd efallai na fydd set reolau a luniwyd o sawl ffeil yn cyd-fynd ag unrhyw un ohonynt. Yna cadarnhewch gyda phecyn prawf o'r pwll.

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

Mae'r trydydd gorchymyn yn dosrannu'r ffeil heb ei chymhwyso, sy'n dal gwallau cystrawen cyn iddynt droi'n amhariad. Cymhwyswch gyda chynllun cwympo'n ôl, oherwydd gall rheol wallus mewn cadwyn forward dorri'r twmffi rydych yn gweithio drosto.

Nid yw ffrydiau presennol yn poeni am eich rheol newydd

Mae cofnod conntrack a grëwyd cyn bod y rheol yn bodoli yn parhau i baru'r derbyniad cynharach. Dyna pam y mae drop newydd weithiau'n ymddangos yn gweithio ar gyfer cysylltiadau newydd ac yn gwneud dim i'r un sy'n cael ei brofi.

Darllenwch y paru cyflwr ar frig y gadwyn. Os yw'n derbyn traffig established a related o flaen eich rheol, mae pob ffrwd sydd eisoes ar y gweill yn parhau i lifo nes iddi gau. Fel arfer dyna'r ymddygiad rydych ei eisiau ar gyfer rheol argyfwng, ac mae'n ddryslyd pan fyddwch yn disgwyl toriad ar unwaith. Penderfynwch pa effaith rydych ei eisiau cyn defnyddio. Bydd prawf sy'n ailddefnyddio cysylltiad agored yn dweud y stori anghywir wrthych.

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

Mae'r gorchymyn cyntaf yn dangos a oes ffrwd, a'r ail yn dangos a yw rheol cyflwr gynnar yn parhau i'w derbyn. Mae'r ddau yn ddarllen yn unig ac yn ddiogel i'w rhedeg yn ystod digwyddiad.

Beth nad yw'r rheol hon

Nid yw'r rheol yn rhestr ddu parthau, yn bolisi IPv6, nac yn gyfyngiad ar gyfrif cymhwysiad unigol.

Mae angen ei fecanwaith ei hun ar bob un o'r rheini. Rhaid i floc parth ddatrys enwau, rhywbeth nad yw hidlydd pecynnau yn ei wneud. Mae traffig IPv6 angen ei baru ei hun, oherwydd nid yw ymadrodd ip yn dweud dim am becynnau ip6. Mae cyfyngiad ar lefel cymhwysiad yn perthyn i'r gwasanaeth neu i brocsi dilysedig, nid i baru rhagddodiad. Cadw'r gofynion hynny ar wahân sy'n atal un rheol gul rhag cael ei gofyn i wneud pedair swydd.

Mae'r contract y mae'r rheol hon yn ei ddarparu yn fanwl: gwrthodir traffig o bwll a dderbyniwyd i un rhagddodiad cyrchfan, tra bod traffig porth heb gysylltiad yn cadw ei bolisi presennol. Ysgrifennwch y frawddeg honno wrth ymyl y rheol, a bydd y person nesaf yn gwybod beth oedd ei bwrpas.

Erthyglau cysylltiedig