UFW yn gollwng gweinydd DNS y VPN unwaith y bydd y twnnel i fyny
Mae polisi gwadu diofyn UFW hefyd yn cwmpasu rhyngwyneb y twnnel. Trefnwch y traffig yn ôl cyfeiriad, caniatéwch y datryswr a wthiwyd ar tun0, yna agorwch y llwybr allanol.
Mae enwau'n stopio datrys ar yr eiliad y bydd y VPN yn cysylltu, tra bod ping i gyfeiriad cyhoeddus yn dal i ateb ac nid yw statws y mur tan yn dangos dim sy'n edrych yn anghywir. Nid oes dim wedi newid yn y polisi; yr hyn sydd wedi newid yw bod rhyngwyneb newydd wedi ymddangos, ac mae'r gwadiad diofyn yn ei gynnwys o'r pecyn cyntaf. Mae UFW yn penderfynu yn ôl cyfeiriad a rhyngwyneb, felly nid yw rheol a ysgrifennwyd ar gyfer y cysylltiad di-wifr yn dweud dim am draffig sy'n gadael y twnnel. Yr atgyweiriad yw llond llaw o reolau cul wedi'u cymhwyso mewn trefn benodol.
Dim ond ar ôl i'r twnnel fod i fyny y mae'r symptom yn ymddangos
Mae polisi gwadiad diofyn yn gwneud yn union fel y dywedwyd wrtho: gwrthodir unrhyw beth heb reol sy'n cyd-fynd, ar bob rhyngwyneb sy'n bodoli. Nid oedd y twnnel yn bodoli pan ysgrifennwyd y rheolau, felly ni all yr un ohonynt ei gynnwys, ac mae'r gwadiad a oedd yno erioed bellach yn berthnasol i ddatrys enwau. Gall traffig uniongyrchol i gyfeiriad llythrennol weithio o hyd pan fydd caniatâd ehangach yn ei gynnwys, a dyna pam mae ping i ddatryswr cyhoeddus yn llwyddo tra bod chwilio enw yn methu. Y bwlch yw rheol ar gyfer rhyngwyneb nad yw'r polisi erioed wedi'i weld.
Mae hynny hefyd yn esbonio pam mae'r methiant yn gwrthdroi'n lân: gollyngwch y twnnel ac mae enwau'n datrys eto, oherwydd mae'r ymholiad yn dychwelyd i ryngwyneb sydd â rheolau. Nid yw polisi sy'n methu dim ond tra bo'r twnnel i fyny yn broblem DNS, ac mae tiwnio'r datryswr ei hun yn gwastraffu'r mwyaf o amser yma. Darllenwch y rhestr ryngwynebau cyn darllen ffurfweddiad y datryswr.
Tri chyfeiriad, tair set wahanol o reolau
Mae un sesiwn yn cyffwrdd â rheolau mewn mwy nag un cyfeiriad, ac mae twnnel yn ychwanegu ail ryngwyneb at bron bob un ohonynt. Mae trefnu'r traffig yn ôl cyfeiriad a rhyngwyneb yn gyntaf yn gwneud y gweddill yn fecanyddol, oherwydd mae angen ei reol ei hun yn ei le ei hun ar bob rhes isod. Mae'r enghreifftiau'n defnyddio tun0 a phwll o 10.8.0.0/24, felly rhoddwch yr enwau a'r ystodau o allbwn y cleient ei hun yn eu lle.
| Direction | Example packet | Rule that admits it | Written on |
|---|---|---|---|
| Client to the pushed resolver | A DNS query to 10.8.0.1 | Destination port 53 over the tunnel | The client's tun0 |
| Client to the VPN server | A handshake to the server's public address | Server address and port on the physical link | The client's physical interface |
| Server to a service | SSH from the pool to port 22 | Source pool, destination port, tunnel interface | The server's tun0 |
| Anyone to the listener | The VPN listener itself | 1194/udp on the public side | The server's public interface |
Mae dwy res yn cael eu drysu'n aml oherwydd bod y ddwy yn sôn am y twnnel. Mae rheol ar gyfer y datryswr yn caniatáu'r traffig y mae'r cleient yn ei anfon i'r twnnel, tra bod rheol ar gyfer SSH yn caniatáu'r traffig y mae'r gweinydd yn ei dderbyn oddi yno; maent yn byw ar wahanol beiriannau ac yn methu'n annibynnol. Y rhes sy'n cael ei hanghofio amlaf yw'r ail, oherwydd ni all y cleient sefydlu'r twnnel o gwbl hyd nes y caniateir ei draffig i gyfeiriad cyhoeddus y gweinydd. Gweithiwch o'r brig i'r gwaelod ac mae gan bob methiant un achos posibl.
Mae datryswr sy'n cael ei wthio angen ei reol ei hun
Mae p'un a yw'r twnnel yn cario DNS yn dibynnu ar yr hyn y mae'r gweinydd yn ei anfon. Mae gweinydd sy'n gwthio opsiwn datryswr yn gosod cyfeiriad preifat yng nghyfluniad y cleient, ac nid yw'r cyfeiriad hwnnw'n llwyadwy ond trwy'r twnnel. Os nad yw'r gweinydd yn gwthio dim, mae'r cleient yn cadw'r datryswr a oedd ganddo eisoes ac nid oes gan y rheolau isod ddim i'w ganiatáu. Gwiriwch y cyflwr a wthiwyd a chanlyniad yr ymholiad presennol cyn ysgrifennu unrhyw beth:
dig +short @10.8.0.1 example.com
resolvectl status tun0
sudo ufw status numberedMae allbwn statws yn enwi'r datryswr sy'n cael ei ddefnyddio a'r cysylltiad y mae wedi'i rwymo iddo, ac mae'r chwiliad llwybr y tu ôl iddo yn dangos pa ryngwyneb fyddai'n cario ymholiad i'r cyfeiriad hwnnw. Pan fydd y datryswr ar gysylltiad arall, mae'r broblem yn gynharach na'r mur tan ac ni fydd unrhyw reol yn helpu. Pan fydd y ddau'n cytuno ar y twnnel, mae angen dwy reol, oherwydd UDP sy'n cario'r rhan fwyaf o ymholiadau ac mae TCP yn cymryd drosodd pan fydd ateb yn cael ei dorri'n fyr. Cofnodwch y ddau werth, oherwydd y rheini yw'r rhai y bydd y rheolau'n eu henwi:
sudo ufw allow out on tun0 to 10.8.0.1 port 53 proto udp comment 'pushed resolver'
sudo ufw allow out on tun0 to 10.8.0.1 port 53 proto tcp comment 'truncated answers'Agorwch y llwybr allanol cyn yr un mewnol
Rhaid i'r cleient gyrraedd cyfeiriad cyhoeddus y gweinydd cyn bod twnnel yn bodoli, felly mae ei reol yn eistedd ar y cysylltiad ffisegol ac mae'n rhaid iddi fod yn ei lle gyntaf. Mae polisi sy'n caniatáu'r datryswr ond yn anghofio'r gweinydd yn gadael y cleient yn hollol analluog i adeiladu'r twnnel, ac mae'r symptom hwnnw fel arfer yn cael ei feio ar kill switch. Yna caniatéwch y gwasanaethau yr oeddech chi eisiau eu gwirioneddol trwy'r twnnel, un rheol gul ar y tro, yn hytrach nag agor y rhyngwyneb yn gyfan gwbl. Y rheolau cul yw'r rheswm y gall y gwadiad aros yn ei le.
sudo ufw allow out to 198.51.100.10 port 1194 proto udp comment 'vpn server'
sudo ufw allow out on tun0 to any port 443 proto tcp comment 'web through tunnel'Mae trefn yn bwysig wrth brofi, oherwydd y rheol gyntaf yw'r hyn sy'n gadael i'r twnnel godi o gwbl. Ychwanegwch hi, cysylltwch, a chadarnhewch fod y twnnel i fyny cyn ychwanegu rheol y gwasanaeth, oherwydd mae gwneud y ddau ar unwaith yn golygu nad yw methiant yn dweud dim wrthych am ba hanner sy'n anghywir. Rhoddwch y pwynt terfyn y mae'r cleient wedi'i ffurfweddu i'w ddefnyddio yn lle'r cyfeiriad dogfennaeth uchod.
Gorffennwch ochr y cleient trwy ddatgysylltu'n fwriadol. Dylai'r gwadiad wrthod y traffig a eithriwyd gennych yn fwriadol o hyd, oherwydd mae datryswr sy'n ateb tra bo'r twnnel i fyny yn cwmpasu dim ond hanner polisi sy'n gwadu pan fydd amheuaeth.
Nid yw cleient sy'n cysylltu wedi'i dderbyn eto
Mae gan y gweinydd ei gyfeiriad ei hun i'w ystyried, ac ni all cleient sy'n cwblhau'r ysgwyd llaw gyrraedd unrhyw beth sy'n rhedeg ar y gweinydd hyd nes y bydd y gweinydd yn ei dderbyn. Nid yw rheol y gwrandawr cyhoeddus ond yn caniatáu i'r twnnel fodoli; nid yw'n gadael traffig y twnnel i mewn. Ar y gweinydd mae hynny'n ddwy reol ynghyd ag un gwiriad bod y gwasanaeth yn gwrando mewn gwirionedd:
sudo ufw allow 1194/udp comment 'openvpn listener'
sudo ufw limit in on tun0 from 10.8.0.0/24 to any port 22 proto tcp comment 'admin over tunnel'
ss -ltn | grep ':22'Rhaid i'r pwll yn y rheol fod yn hafal i'r ystod y mae'r gweinydd yn ei dyrannu, a rhaid i rif y twnnel gyfateb i'r un a grëwyd gan y gweinydd, oherwydd nid yw rheol ar gyfer rhyngwyneb gwahanol yn wahanol i fod heb reol. limit yn fwriadol ar gyfer porth weinyddol, oherwydd mae'n tagu cysylltiadau ailadroddus yn lle eu derbyn heb derfyn. Mae'r gwiriad gwrandawr yn gwahanu porth caeëdig oddi wrth becyn a ollyngwyd, sy'n edrych yr un fath o safbwynt y cleient. Nid yw rheolau wedi'u rhifo yn y darlun cyfan chwaith: mae rheolau before UFW ac unrhyw linellau nftables wedi'u hysgrifennu â llaw yn cyfateb yn gynt ac yn dal i allu gwrthod pecyn y mae'r rhestr yn ymddangos yn ei ganiatáu.