Un gwesteiwr cyhoeddus ar gyfer VPN a'r we: sut i rannu'r rolau
Gall un IP gyhoeddus derfynu twneli, gwasanaethu HTTPS a chyrraedd dau LAN preifat. Penderfynwch yn gyntaf pwy sy'n berchen ar y cyfeiriad, pob porth a'r polisi anfon ymlaen.
Gall un peiriant ateb y tair angen ar unwaith: terfynu twneli, ateb HTTPS, ac anfon ymlaen rhwng dau LAN preifat. A yw hynny'n synhwyrol yn dibynnu ar dri pheth y gallwch eu setlo ar bapur: pwy sy'n berchen ar y cyfeiriad cyhoeddus, pwy sy'n berchen ar bob pâr porth a phrotocol, a pha broses sy'n cael anfon pecynnau ymlaen. Gwnewch y rhain yn iawn ac nid yw'r gwesteiwr a rennir yn ddim byd arbennig. Gwnewch nhw'n anghywir a byddwch yn treulio penwythnos ar wasanaeth sy'n cychwyn yn lân ac na fydd byth yn ateb.
Yr hyn sy'n dilyn yw gweithdrefn benderfynu, nid taflen adeiladu. Mae pob cam yn gorffen gyda'r gwiriad sy'n profi bod y rôl yr ydych newydd ei hychwanegu wedi'i hynysu go iawn.
Dewiswch berchennog y cyfeiriad cyn y pyrth
Gall pen twnnel a gweinydd gwe rannu un cnewyllyn; rhannu un cyfeiriad, porth a phrotocol ar yr un pryd yw'r hyn sy'n methu. Mae WireGuard fel arfer yn cymryd UDP 51820, OpenVPN yn cymryd UDP 1194 neu TCP 443, ac mae gweinydd gwe yn cymryd TCP 443. Y pâr sy'n brifo yw OpenVPN dros TCP 443 wrth ymyl HTTPS, oherwydd bod y ddau eisiau'r un soced ac mae'r cnewyllyn yn ei roi i'r un a ymrwymodd gyntaf. Dim ond demultiplecsydd o'u blaen, fel sslh neu brocsi sy'n deall TLS, sy'n gadael iddynt rannu'r borth honno, ac mae'n ychwanegu cydran y mae ei methiant yn edrych yn union fel problem mur tân.
Edrychwch ar y perchnogion cyn newid unrhyw beth: ss -lntup yn argraffu'r cyfeiriad lleol, y borth a'r broses ar gyfer pob soced sy'n gwrando. Mae dwy res yn dangos 0.0.0.0:443 yn golygu na ymrwymodd yr ail wasanaeth erioed, waeth pa mor llawen oedd ei sgript init. Mae pontio yn symud y perchennog hefyd. Pan fydd eth0 yn ymuno â br0, mae'r IP yn symud i br0 ac mae pob rheol mur tân sy'n enwi eth0 yn stopio cyfateb, felly rhwymwch wasanaethau ar y bont a chadarnhewch â ip -br addr.
Mae'r un rheol berchnogaeth yn esbonio syndod sy'n ymddangos gyda pheiriannau rhithwir. Mae gweinydd twnnel sy'n rhedeg y tu mewn i westai ar yr un LAN yn cadw cyfeiriad y gwestai, felly mae cysylltiadau at gyfeiriad y gwesteiwr ei hun yn aros ar y gwesteiwr ac nid yw twnnel y gwestai byth yn eu gweld, beth bynnag mae'r proffil cleient yn ei awgrymu.
Llwybrwch rhwng y dau LAN neu wnewch NAT ar un ochr
Gall dau LAN nad ydynt yn gweld ei gilydd ddeialu'r gwesteiwr cyhoeddus, sydd wedyn yn anfon ymlaen rhwng y twneli. Mae angen tri pheth ar y cynllun llwybredig hwnnw: anfon ymlaen wedi'i alluogi, llwybr at bob rhagddodiad o bell, a pholisi anfon ymlaen sy'n gadael y tramwyfa drwodd. sysctl -w net.ipv4.ip_forward=1 yn gorchuddio'r cyntaf, ip route add 10.20.0.0/24 dev wg1 yr ail, a llinell nftables fel nft add rule inet filter forward iifname "wg0" oifname "wg1" accept y trydydd.
Mae NAT ffynhonnell yn haws ei gysylltu ac yn anoddach ei dadfygio. Mae cuddwisgo yn ailysgrifennu cyfeiriad y cleient, felly mae'r ochr bell yn gweld yr hyb yn hytrach na'r gwesteiwr go iawn, ac mae ei reolau mynediad a'i logiau yn peidio â bod yn ddefnyddiol ar gyfer priodoli. Pan fydd y ddwy rwydwaith yn eiddo i chi, llwybrwch. Pan fydd un ochr yn eiddo i drydydd parti na fydd yn ychwanegu llwybr dychwelyd, NAT yw'r opsiwn sy'n llongio'r wythnos hon. Naill ffordd neu'r llall, ysgrifennwch y cynllun cyfeiriadau, oherwydd ni ellir llwybro dau /24 sy'n gorgyffwrdd ag unrhyw faint o ffurfweddiad.
Nid oes dim ynghylch gweithredu fel allfa rhyngrwyd i liniadur yn atal yr un blwch rhag terfynu twneli sy'n dod i mewn. Dim ond cyfeiriadau sy'n gorgyffwrdd sy'n gwneud hynny, a dyna pam mai'r cynllun cyfeiriadau yw'r ddogfen sy'n cyfrif.
Profwch y rhaniad tra bydd dwy rôl wedi'u stopio
Y prawf defnyddiol yw tynnu: stopiwch ddwy rôl a chadarnhewch fod y drydedd yn dal i ateb. Dylai cais gwe gwblhau gyda'r gwasanaeth twnnel i lawr, a dylai ysgwyd llaw twnnel gwblhau gyda'r gweinydd gwe wedi'i stopio. Os ydych yn gweithio dim ond pan fydd popeth yn rhedeg, mae gennych ddibyniaeth ddamweiniol: tabl mur tân a rennir, llwybr crwydrol, neu enw'n pwyntio at y cyfeiriad anghywir.
Mae tri gorchymyn yn gwneud y prawf hwnnw'n concrit. curl -sk --resolve example.test:443:203.0.113.10 https://example.test/ yn profi bod y gwrandäwr lleol yn ateb heb DNS allanol, wg show ar y cleient yn profi bod yr ysgwyd llaw wedi cwblhau, a tcpdump -ni any port 51820 ar yr hyb yn gwahanu problem llwybro oddi wrth broblem allwedd. Mae ysgwyd llaw nad yw byth yn ymddangos yn y ddalfa wedi marw cyn y gwesteiwr: mur tân y darparwr, cyfeiriad cyhoeddus anghywir, neu reol NAT ar y ffordd.
Ailadroddwch y tynnu ar gyfer y LAN a anfonir ymlaen. Gydag un cymar wedi'i ddatgysylltu, dylai ping ar draws yr hyb fethu; gyda'i ailgysylltu, dylai'r ping adfer heb gyffwrdd â rheol. Mae ping sy'n adfer dim ond ar ôl ailgychwyn y twnnel yn pwyntio at bolisi yn hytrach na chyrhaeddiad, a chyfrifiad gwahanol yw hwnnw.
Cadwch y set rheolau'n ddarllenadwy wrth dynnu rolau. nft list ruleset dylai ddangos un rheol dderbyn i bob cyfeiriad sydd ei angen arnoch, ac nid yw cadwyn anfon ymlaen sy'n derbyn popeth yn rhaniad, mae'n demo sy'n gweithio.
Llinellau mynediad IPv6 yn unig a gwasanaethau IPv4
Mae rhai llinellau mynediad yn rhoi cyrhaeddiad IPv6 yn unig, ac mae'n rhaid cyhoeddi gwasanaethau dros IPv4 o hyd. Mae'r twnnel ei hun yn teithio dros ba deulu bynnag sy'n dal i basio traffig, tra bod y gwasanaeth cyhoeddedig yn eistedd ar gyfeiriad y tu mewn i'r twnnel. Mae hynny'n gwrthdroi'r rhagdybiaeth arferol ac yn torri monitro'n dawel: mae rheol mur tân neu wiriad uptime a ysgrifennwyd ar gyfer y llwybr IPv4 nawr yn gwylio rhyngwyneb nad yw'n cario dim.
Profwch bob teulu ar ei ben ei hun gyda curl -4 a curl -6, oherwydd nid yw un cais llwyddiannus yn dweud dim am y llwybr na wnaethoch ei roi ar brawf. Nid yw perchnogaeth porth yn newid ar draws teuluoedd, ond mae'r gwrandäwr yn newid: ss -lntup yn rhestru socedi IPv4 ac IPv6 fel rhesi ar wahân, ac 0.0.0.0:443 nid yw'n gorchuddio [::]:443 oni bai bod y broses wedi gofyn am soced deu-stac.
Mae gwasanaeth sy'n ateb ar un teulu ac yn gwrthod ar y llall fel arfer yn broblem gwrandäwr, nid problem llwybro. Cyn gallu dweud bod y cynllun wedi'i orffen, cadarnhewch fod pob rôl yn berchen ar ei chyfeiriad neu ei phorth ei hun, bod anfon ymlaen wedi'i alluogi a'i ganiatáu, a bod pob rôl yn dal i ateb gyda'r ddau arall wedi'u stopio.