Pam nad yw nftables yn gallu gweld traffig OpenVPN rhwng cleientiaid
Mae traffig rhwng cyfoedion yn cael ei ddanfon y tu mewn i broses y VPN, felly nid yw rhifyddion anfon ymlaen byth yn symud. Mae ei gyfrif yn golygu dewis rhwng llwybr y cnewyllyn a llwybr y broses.
Mae dau gleient ar un gweinydd yn cyfnewid ffeiliau, mae'r trosglwyddiad yn llwyddo, ac mae pob rheol anfon ymlaen a bwyntiwch at y twnnel yn adrodd dim pecynnau. Nid yw'r rheolau wedi torri ac nid yw'r gadwyn yn y lle anghywir. Gyda danfon ymlaen rhwng cyfoedion wedi'i alluogi, mae'r pecyn yn cael ei ddanfon y tu mewn i broses y gweinydd ac nid yw stac y gwesteiwr byth yn dod yn llwybrydd, felly nid oes dim i wal dân y cnewyllyn ei gyfrif. Mae deall y rhaniad hwnnw yn penderfynu a ydych yn cadw'r llwybr byr neu'n ailadeiladu'r llwybr drwy'r cnewyllyn.
Dilynwch un pecyn drwy'r gweinydd
Mewn twnnel llwybredit, mae'r daemon yn rhoi pecyn dadgryptio pob cleient i'r ddyfais twnnel. Oddi yno mae'r gwesteiwr yn ei lwybro, mae'r bachyn anfon ymlaen yn rhedeg, ac mae rheol sy'n cyfateb i'r ddyfais twnnel yn gallu cyfrif neu ollwng y traffig. Dyna'r llwybr y mae'r rhan fwyaf o enghreifftiau wal dân yn ei dybio.
| Forwarding path | Who decides | What the host firewall sees |
|---|---|---|
| Kernel routing between clients | Host routing table and forward rules | Every inner packet, with interface names |
| Peer forwarding inside the server process | The VPN daemon's own peer table | Only the outer encrypted transport |
Mae'r llwybr byr yn tynnu'r gwesteiwr o'r canol. Mae pecyn dadgryptio un sesiwn yn cael ei roi i sesiwn arall y tu mewn i'r daemon, ac nid yw'r pecyn mewnol byth yn cael ei allyrru ar y ddyfais twnnel nac yn cael ei lwybro gan y gwesteiwr. Mae traffig wedi'i gapsiwleiddio yn dal i groesi'r rhyngwyneb ffisegol, felly mae cipiad allanol yn edrych yn brysur tra bo'r rheolau mewnol yn aros yn dawel. Nid yw cipiad a gymerwyd ar y ddyfais twnnel yn dangos dim o gwbl, sy'n synnu unrhyw un sy'n disgwyl gwylio'r trosglwyddiad yno. Yr anghymesuredd hwnnw yw'r ffordd gyflymaf i adnabod y llwybr byr o'r tu allan i'r daemon.
Y prawf rhifydd sy'n penderfynu pa lwybr a redodd
Atodwch rifydd at y rheol a ddylai fod yn berthnasol, rhedwch drosglwyddiad rhwng dau gleient y dylai'r rheol honno ei rwystro, a darllenwch y rhifydd wedyn.
sudo nft list ruleset
sudo nft add rule inet filter forward iifname "tun0" oifname "tun0" counter accept
sudo nft list chain inet filter forward
Os yw'r trosglwyddiad yn llwyddo ac mae'r rhifydd yn aros ar sero, ni wnaeth y cnewyllyn drin y pecynnau hynny erioed, ac ni fydd unrhyw faint o olygu rheolau yn newid hynny. Ailadroddwch yr un prawf yn erbyn gwasanaeth ar y gweinydd ei hun, oherwydd mae'r fflŵ hwnnw yn croesi stac y gwesteiwr ac mae ei rifydd yn symud. Cymharu'r ddau ganlyniad sy'n cynhyrchu'r ateb.
Mae dau fanylyn yn atal darlleniad ffug. Nid yw enw rhyngwyneb a ysgrifennwyd mewn label cadwyn yn hidlo dim ar ei ben ei hun, oherwydd mae cyfateb yn digwydd ar feysydd rhyngwyneb y tu mewn i reolau. Ac mae cynllun pontio haen 2 yn ymddwyn yn wahanol eto: yno mae'r cleientiaid yn rhannu un parth darlledu, felly mae darganfod cyfoedion yn ddisgwyliedig yn hytrach na nam llwybro.
Nid yw swits yn rhestr mynediad
Dyma'r rhan sy'n costio prynhawn. Mae anfon ymlaen rhwng cyfoedion yn un gosodiad ymlaen neu i ffwrdd, a thra bo ar ymlaen y daemon yw'r unig bwynt anfon ymlaen. Nid yw wal dân y gwesteiwr yn gallu mynegi pwy sy'n cael cyrraedd pwy, ac nid yw ffeiliau fesul cleient yn troi'r swits yn fatrics polisi.
Os oes arnoch angen rheolau fesul cyfoed, y dewis yw rhwng rhoi'r gorau i'r llwybr byr a rhoi'r gorau i wal dân y gwesteiwr fel y rheolaeth. Mae ei ddiffodd yn adfer anfon ymlaen drwy'r cnewyllyn, sy'n gofyn am anfon ymlaen IP ar y gweinydd a rheolau penodol ar gyfer y fflŵau rydych eu heisiau. Mae ei gadw ymlaen yn golygu bod y polisi yn byw yng nghyfluniad y daemon, sydd yn ymarferol naill ai pob cyfoed neu ddim cyfoed.
Mae prosesau gweinydd ar wahân gyda'u pyllau cyfeiriad a phorthladdoedd eu hunain yn y canolbwynt ymarferol. Mae pob proses yn cario un penderfyniad mynediad yn union, felly gall dau grŵp gael rheolau gwahanol heb fatrics polisi. Gall y gwesteiwr lwybro rhwng y pyllau pan fo hynny'n fwriad, ac yna mae'r wal dân yn gweld y fflŵau hynny oherwydd eu bod yn croesi'r gwesteiwr. Y gost yw porthladdoedd ychwanegol, tystysgrifau ychwanegol a phroffil fesul grŵp.
Dewis y pwynt anfon ymlaen
Dewiswch anfon ymlaen drwy'r cnewyllyn pan fo'r wal dân yn beiriant polisi, pan fydd arnoch angen cofnodi fesul fflŵ, neu pan fo cyfrifo yn bwysig. Y gost yw trwybwn drwy stac y gwesteiwr a mwy o reolau i'w cynnal. Y budd yw bod pob offeryn presennol, o rifyddion i allforwyr fflŵau, yn disgrifio'r traffig eto. Ar weinydd bach mae'r gost honno'n anweledig; ar rele sy'n brysur nid yw.
Dewiswch anfon ymlaen o fewn y broses pan fo traffig rhwng cyfoedion naill ai i gyd yn cael ei ganiatáu neu i gyd yn cael ei wahardd ac mae'r gweinydd wedi'i faintio ar ei gyfer. Y gost yw nad yw rhifyddion, disgyblaethau ciw a thracio cysylltiadau yn disgrifio'r fflŵau mewnol mwyach; mae hynny'n dderbyniol yn unig os nad oes neb yn dibynnu arnynt yn ddiweddarach.
Pa un bynnag a ddewiswch, ysgrifennwch ef wrth ymyl rheolau'r wal dân. Mae set o reolau sy'n ymddangos fel pe bai'n caniatáu traffig rhwng cyfoedion tra bo'r daemon yn penderfynu beth bynnag yn camarwain y person nesaf sy'n dadfygio trosglwyddiad aflwyddiannus. Bydd unrhyw un sy'n darllen y rheolau'n unig yn cymryd mai'r cnewyllyn yw'r giât.
Beth i'w wirio cyn newid rheolau
Darllenwch y cyfluniad a lwythodd y gweinydd mewn gwirionedd, nid y ffeil rydych yn cofio ei olygu, a chadarnhewch a yw'r opsiwn cyfoed yn bresennol. Os ydych wedi ei newid, gwnewch yn siŵr bod y gwasanaeth wedi ail-lwytho yn hytrach na dim ond ailysgrifennu ffeil ar y disg.
Yna ailadroddwch y prawf gyda fflŵ o gleient i weinydd i brofi bod y rheol yn cyfateb o gwbl, a gwiriwch y llwybrau a wthiwyd, oherwydd mae llwybr ar goll yn edrych yn union fel bloc wal dân o ochr y cleient. Newidiwch drefn y rheolau dim ond ar ôl i chi wybod pa bwynt anfon ymlaen sy'n berchen ar y penderfyniad.