Gwnaethoch ddilyn y rhestr wirio: gwrthod allan, caniatáu'r twnnel, galluogi ufw. Yna mae'r cleient yn aros wrth yr ysgwyd llaw ac yn byth yn cysylltu, neu mae'n cysylltu ac nid oes tudalen yn llwytho. Daw'r ddau fethiant o'r un bwlch. Mae'r rheol sy'n caniatáu i'r twnnel fodoli ar goll, oherwydd nid rhyngwyneb y mae eich pecynnau'n gadael ohono yw'r twnnel.

Pam nad yw caniatâd ar tun0 yn cyfateb i ddim ar y dechrau

Mae tun0 yn cael ei greu gan y cleient ar ôl i sesiwn fodoli. Pecynnau UDP cyffredin a gyfeirir at y darparwr ar borth 1194 yw'r datagramau sy'n adeiladu'r sesiwn honno, ac maent yn gadael drwy wlan0 neu eth0 gyda'r cyfeiriad ffynhonnell ffisegol. allow out on tun0 dim ond traffig y mae ei ryngwyneb allan yn tun0 y mae'n cyfateb iddo, felly yn ystod yr ysgwyd llaw nid yw'n cyfateb i ddim o gwbl.

Rhowch default deny outgoing ar ei ben ac mae'r pecynnau allanol yn cael eu gollwng cyn i'r rhyngwyneb ymddangos o gwbl. Mae'r cleient yn ceisio eto, yn goramseru, ac yn adrodd methiant TLS neu ysgwyd llaw, sy'n anfon pobl i hela drwy dystysgrifau a MTU tra bod y wal dân yn bwyta'r cysylltiad yn dawel. Mae'r rheol a oedd i fod i atal eich traffig rhag dianc yn atal y traffig hwnnw rhag cael ei atal.

Mae'r atgyweiriad adflêr yn gwneud y gollyngiad yn barhaol. sudo ufw allow out on wlan0, neu droi'r rhagosodiad yn ôl i ganiatáu, yn codi'r twnnel ac yn gadael y peiriant heb switsh atal: y tro nesaf y bydd y twnnel yn cwympo, mae popeth yn ailafael drwy'r addasydd ffisegol. Collais brynhawn i'r union bâr hwnnw o olygiadau cyn i mi ddatrys pa becyn roeddwn i'n ei hidlo mewn gwirionedd.

Beth sydd ei angen ar y ddau set o becynnau

Mae eich traffig yn croesi'r wal dân ddwywaith, mewn dwy siâp. Mae'r pecyn mewnol yn rhedeg o gyfeiriad y twnnel allan drwy tun0. Mae'r pecyn allanol yn rhedeg o'r cyfeiriad ffisegol i'r cymar, a dyna'r unig beth sy'n weladwy ar y wifren. Un rheol y siâp:

sudo ufw allow out on tun0
sudo ufw allow out to 203.0.113.10 port 1194 proto udp
sudo ufw allow out to 203.0.113.10 port 443 proto tcp comment 'tcp fallback'

Amnewidiwch y cyfeiriad a'r porth â'r rhai o'ch proffil eich hun. Mae cymar WireGuard fel arfer yn ateb ar 51820/udp; mae proffiliau OpenVPN sy'n teithio dros TCP 443 angen y porth hwnnw yn lle hynny. Mae'r manylion yn wahanol, nid y siâp: mae'r ddwy reol yn gul, ac gyda'i gilydd maent yn diffinio'r unig gyrchfannau y gall y peiriant eu cyrraedd tra bod y twnnel i lawr.

Trefn yw'r ail foes. Gyda iptables crai rydych yn darllen y gadwyn o'r top i'r gwaelod ac yn rhesymu pa reol sy'n ennill. Nid gorchudd tenau o amgylch y rhestr a deipiwyd gennych yw ufw; mae'n crynhoi eich rheolau i'w gadwyni ei hun ac yn dewis y pwyntiau mewnosod. ufw status yn eu hargraffu yn nhrefn ufw, nid eich trefn chi. Pan fydd rheol yn edrych fel petai'n cael ei hanwybyddu, cymharwch ufw show added â'r set gyflwynedig o iptables -S | grep ufw cyn ailysgrifennu unrhyw beth.

Rhaid i'r eithriad aros un cyfeiriad o led

Dim ond wrth iddo enwi'r cyfeiriad y mae'r cleient yn ei ddeialu y mae rheol cymar yn gywir. Mae darparwyr yn cylchdroi pennau terfynol, a bydd proffil sy'n datrys enw gwesteiwr yn dilyn newid DNS i gyfeiriad newydd tra bod y rheol yn parhau i bwyntio at yr hen un. Pan fydd twnnel a weithiodd am fisoedd yn peidio â chodi, cymharwch y cyfeiriad yn y rheol â'r un y mae'r cleient yn chwilio amdano cyn ehangu unrhyw beth.

Mae ehangu i isrwyd gyfan, neu i bob cyrchfan ar borth 1194, yn troi'r polisi yn ôl yn wal dân â thwll. Yr eithriad yw'r switsh atal; ar ôl iddo fod yn eang, nid oes dim ar ôl i'w atal. Cadwch ef ar un cyfeiriad a gadewch sylw yn enwi'r proffil a'r darparwr y mae'n perthyn iddo, oherwydd mewn chwe mis bydd y cyfeiriad yn edrych yn fympwyol.

Mae datrys enwau yn haeddu ei linell ei hun. Mae'r chwiliad yn digwydd cyn bod y twnnel yn bodoli, dros y rhyngwyneb ffisegol, felly gall polisi gwrthod allan llym adael y cleient yn methu â dod o hyd i'w weinydd ei hun. Caniatáu porth 53 i gyfeiriad eich datryswr, neu ddatrys unwaith a phinio'r cyfeiriad yn y proffil. Mae caniatáu DNS ar bob rhyngwyneb yn benderfyniad, nid yn rhagosodiad.

Adeiladwch y polisi cyn bod angen y twnnel

ufw enable yn cymhwyso'r polisi cyfan ar unwaith ac yn ail-lwytho ei gadwyni, ac mae newid polisi rhagosodedig ar wal dân sy'n rhedeg yn eu hail-lwytho hefyd. Mae'r llawlyfr ufw yn rhybuddio y gall hyn ollwng cysylltiadau sy'n bodoli fel SSH. Felly mae'r gorchmynion yn mynd yn y drefn hon, gyda'r rheol SSH cyn y galluogi a sesiwn consol ar agor:

sudo ufw default deny incoming
sudo ufw default deny outgoing
sudo ufw allow out on tun0
sudo ufw allow out to 203.0.113.10 port 1194 proto udp
sudo ufw allow 22/tcp
sudo ufw enable
sudo ufw status verbose

ufw reset yn cael ei adael allan o'r bloc hwnnw yn fwriadol. Mae'n dileu pob rheol ac yn analluogi'r wal dân, ac ar westeiwr o bell y galluogi dilynol sy'n gollwng eich sesiwn. Os byddwch yn ailosod, ychwanegwch y rheol SSH a chadarnhewch ail ffordd yn ôl drwy consol cyn mynd ymhellach.

Nid yw'r dilyniant yn gosmetic. Nid yw rheolau a ychwanegir tra bod ufw yn rhedeg yn fflysio dim, ond y funud y byddwch yn troi polisi rhagosodedig mae'r cadwyni'n ail-lwytho, ac mae sesiwn a ganiatawyd gan yr hen bolisi yn mynd gyda nhw. Gwnewch y rhagosodiadau, y caniatadau a'r galluogi mewn un pas, tra bod gennych ffordd i mewn nad yw'n dibynnu ar y peiriant.

Profwch y cyflwr wedi'i rwystro, a chadwch y dadwneud

Mae switsh atal heb ei brofi yn ddyfaliad. Datgysylltwch y cleient yn fwriadol a cheisiwch lwytho tudalen: rhaid iddi fethu. Ailgysylltwch a rhaid iddi wella heb gyffwrdd â rheol. sudo ufw status verbose yn cadarnhau'r rhagosodiadau a'r cyflwr cofnodi, ac mae ufw status numbered yn dangos pa reol brawf i'w dileu pan fydd yn goroesi ei phwrpas.

Cadwch y sgript wrthdro wrth ymyl yr un ymlaen. Ni all peiriant â gwrthod allan a thwnnel marw lawrlwytho ei atgyweiriad ei hun, felly rhaid i'r dadwneud fod ar y disg a bod yn ddarllenadwy o consol:

sudo ufw reset
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable

Rhedwch ef pan fydd y twnnel eisoes i lawr a'r rheolau'n gorfod dod i ffwrdd, nid fel cam rheolaidd. Cyn i chi gau'r terfynell, dylai pedwar peth fod yn wir: mae'r rheol cymar yn enwi un cyfeiriad yn union, mae gan DNS eithriad a enwir, daeth y galluogi ar ôl y caniatadau, ac mae tynnu'r twnnel yn lladd traffig cyffredin heb ladd y cleient am byth.

Erthyglau cysylltiedig