Yr un IP gweinydd, dau lwybr: marcio ffrwd allanol OpenVPN
Mae llwybr gwesteiwr sy'n esemptio'r gweinydd VPN hefyd yn esemptio HTTPS ato. Marciwch y casgliad amgryptiedig yn lle hynny, yna rhowch y twnnel i draffig heb ei farcio.
Yr amddiffyniad dolen arferol yw llwybr gwesteiwr: anfonwch draffig i gyfeiriad cyhoeddus y gweinydd VPN allan drwy'r cyswllt uwch fel na fydd y sesiwn amgryptiedig byth yn mynd i mewn i'w thwnnel ei hun. Mae hynny'n gweithio hyd at y foment rydych chi hefyd am gyrraedd gwasanaeth gwe ar yr un gweinydd drwy'r twnnel, oherwydd mae'r esemptiad wedi'i glymu wrth y cyrchfan ac mae'r gyrchfan yn union yr un peth. Y ffordd allan yw rhoi'r gorau i ddosbarthu yn ôl cyrchfan a dechrau dosbarthu yn ôl pa soced a anfonodd y pecyn.
Dechreuwch gyda'r ddwy ffrwd rydych chi am eu gwahanu
Un ffrwd yw'r cludiant OpenVPN amgryptiedig ei hun, sy'n gorfod gadael drwy'r cyswllt uwch, neu byddai'r twnnel yn cario ei gysylltiad allanol ei hun. Y llall yw cais HTTPS cyffredin i'r un cyfeiriad cyhoeddus, rydych chi am ei gael y tu mewn i'r twnnel fel ei fod yn cyrraedd y gwasanaeth o ffynhonnell twnnel. Yr un gyrchfan, yn aml yr un rhif porth, llwybr gofynnol gwahanol.
Ar gyfer y daith hon, cymerwch gleient ar 10.90.0.10 dros tun1, cyfeiriad cyhoeddus gweinydd o 198.51.100.25, a phrif dabl heb ei gyffwrdd y mae ei ddiofyn yn pwyntio at y cyswllt uwch arferol. Rhaid i ochr y gweinydd hefyd dderbyn y gwasanaeth gwe ar y llwybr mewnol ac anfon traffig yn ôl i ffynhonnell y twnnel; nid yw anfon pecyn i gyfeiriad cyhoeddus yn diystyru gwrandäwr na pholisi mur tân y gweinydd.
Cyn newid unrhyw beth, cofnodwch reolau presennol y gwesteiwr a dewiswch werthoedd nad oes neb arall yn eu defnyddio: marc, rhif tabl a thri blaenoriaeth rheol. Cadwch ffordd yn ôl i mewn i'r peiriant nad yw'n mynd dros y cysylltiad hwn, oherwydd mae camgymeriad yma'n tynnu eich mynediad o bell eich hun yn lle dim ond torri tab porwr.
Marciwch y soced sy'n cario'r casgliad
Mae ffurfweddiad y cleient yn cael marc ar gyfer ei becynnau allan amgryptiedig, ac yn rhoi'r gorau i osod llwybrau ei hun fel mai'r polisi amnewid yw'r unig beth sy'n penderfynu llwybrau:
mark 42
route-noexec
disable-dco
Degol 42 yw hecsadegol 0x2a, a'r ffurf hecs yw'r hyn y bydd y rheolau llwybro yn cyd-fynd ag ef. Mae cyfeirlyfr yr opsiynau cyswllt yn disgrifio mark fel rhywbeth sy'n berthnasol i becynnau allan amgryptiedig ar Linux, sef yn union y soced y mae angen i chi reoli ei lwybr. Mae diffodd dadlwytho'r sianel ddata yn cadw'r enghraifft hon ar lwybr gofod defnyddiwr, lle mae ymddygiad y marc yn yr un a ddisgrifir.
Mae route-noexec yn atal ychwanegu a dileu llwybrau awtomatig OpenVPN. Nid yw'n gosod unrhyw beth yn eu lle, felly o'r eiliad hon rhaid i berchennog y llwybrau gynnal pob llwybr sydd ei angen ar y twnnel. Os yw cyrchfan breifat yn diflannu ar ôl y newid, y polisi amnewid sydd ar goll yw hynny, nid diffyg yn y marc.
Peidiwch â chadw llwybr gwesteiwr ym mhrif dabl ar gyfer 198.51.100.25 wrth wneud hyn. Mae llwybr o'r fath yn ailgyflwyno'n union yr esemptiad y mae'r dyluniad yn ceisio ei gyfyngu, a bydd yn ennill ar gyfer y ffrwd HTTPS cyn i unrhyw un o'r polisïau isod gael ei ymgynghori.
Anfonwch bopeth arall i dabl y twnnel
Unwaith y bydd rhyngwyneb y twnnel yn bodoli ac yn dal ei gyfeiriad, mae'r polisi yn edrych fel hyn:
ip -4 route add default dev tun1 src 10.90.0.10 table 47100
ip -4 rule add priority 20000 lookup main suppress_prefixlength 0
ip -4 rule add priority 20001 not fwmark 0x2a lookup 47100
ip -4 rule add priority 20002 not fwmark 0x2a unreachable
Mae'r rheol gyntaf yn cadw llwybrau penodol y gwesteiwr yn weladwy, gan gynnwys unrhyw rwydwaith lleol a gymeradwywyd, tra'n gwneud llwybr diofyn y prif dabl yn anweladwy i'r chwiliad hwn. Mae'r gwahaniaeth hwnnw'n bwysig: nid yw atal y diofyn yr un peth â diystyru'r tabl, ac mae'r eithriadau lleol sydd eu hangen arnoch o hyd yn goroesi oherwydd hynny. Darllenwch yr eithriadau hynny un wrth un yn lle rhagdybio bod y canlyniad yn switsh stop cyffredinol.
Yna mae traffig heb ei farcio yn disgyn i dabl y twnnel, yn codi ffynhonnell y twnnel ac yn gadael drwy'r VPN. Mae traffig wedi'i farcio yn methu'r prawf fwmark ar y ddwy reol nesaf ac yn parhau i'r prif chwiliad arferol ymhellach i lawr y rhestr, lle mae diofyn y cyswllt uwch yn dal i fod. Y rheol unreachable derfynol sy'n atal ffrwd heb ei farcio rhag cwympo'n dawel yn ôl i'r cyswllt uwch pan fydd llwybr y twnnel ar goll. Y marc yw'r detholydd o'r dechrau i'r diwedd, ac nid yw cyfeiriad y gyrchfan byth yn dod i mewn i'r penderfyniad.
Cadwch y gard hwnnw yn ei le ar draws datgysylltiadau, a'i osod gyda gweddill y polisi yn hytrach nag â llaw. Nid polisi yw rheol sy'n diflannu gyda'r rhyngwyneb, mae'n gyd-ddigwyddiad. Mae dileu'r polisi pan fydd y twnnel yn cwympo yn newid y modd methu o “wedi'i rwystro” i “wedi gollwng”, ac mae llwybr twnnel hen ffasiwn sy'n dod i ben yn hwyrach yn broblem lawer haws ei hesbonio na thraffig a aeth allan drwy'r rhyngwyneb anghywir.
Gadewch i'r llwybr ôl weld yr un marc
Dim ond hanner y mecanwaith yw marciau allan, a dyma'r rhan y mae'r rhan fwyaf o atgynhyrchiadau yn ei hepgor. Mae atebion i'r sesiwn amgryptiedig yn cyrraedd ar y cyswllt uwch ac yn ddarostyngedig i ddilysu llwybr ôl, sy'n gofyn a fyddai'r ffynhonnell yn llwybro'n ôl yr un ffordd ag y daeth. Heb gymorth, mae'r chwiliad hwnnw'n cymhwyso eich polisi twnnel heb ei farcio ac yn dod i'r casgliad bod y pecyn ar y rhyngwyneb anghywir.
Mae'r cywiriad yn perthyn i berchennog y mur tân: arbedwch y marc ar y cysylltiad allan, adferwch ef ar becynnau mewnddod cyfatebol, a galluogwch drin marciau wedi'u dilysu gan ffynhonnell ar gyfer y llwybr perthnasol. Nid yw OpenVPN yn gosod marc soced yn gwneud yr un o'r tri pheth, ac mae rysáit nad yw ond yn rhestru opsiynau'r cleient yn anghyflawn. Gofynnwch am yr integreiddiad hwnnw'n ysgrifenedig, oherwydd dyma'r rhan leiaf weladwy o'r dyluniad a'r un hawsaf i'w cholli mewn ailadeiladu.
Nid yw gwirio llwybr ôl rhydd yn dirprwy chwaith. Mae modd rhydd yn dal i fod angen rhyw lwybr i'r ffynhonnell, ac mae'r gard unreachable a ychwanegoch yn tynnu un yn fwriadol ar gyfer chwiliadau heb eu marcio. Gwnewch yn siŵr bod integreiddiad marc y cysylltiad wedi'i orffen a'i adolygu cyn i chi ddibynnu ar y dyluniad hwn, a thriniwch hidlwyr gwesteiwr fel cwestiwn ar wahân: signal llwybro yw marc, nid caniatâd. Os yw'r integreiddiad ar goll, y symptom yw sesiwn sy'n sefydlu ac yna'n mynd yn dawel cyn gynted ag y bydd atebion yn dechrau cyrraedd.
Profwch hyn gyda dau chwiliad llwybr
Cymharwch beth mae'r cnewyllyn yn ei benderfynu ar gyfer y ddau gyd-destun, a darllenwch y meysydd dev a src yn hytrach na'r statws gadael:
ip -4 route get 198.51.100.25
ip -4 route get 198.51.100.25 mark 0x2a
Dylai'r chwiliad cyntaf ddatrys i tun1 gyda ffynhonnell y twnnel, a'r ail i'r cyswllt uwch. Chwiliadau synthetig yw'r rhain, felly maent yn profi'r polisi ac nid y broses fyw: cadarnhewch lwybr cludiant gwirioneddol y cleient sy'n rhedeg ar wahân, yna gwnewch gais HTTPS go iawn gyda gwirio tystysgrif yn dal ymlaen.
Ysgrifennwch beth nad yw'r dyluniad yn ei gwmpasu cyn datgan ei fod wedi gorffen. Mae angen eu penderfyniad eu hunain ar DNS, IPv6 a chylch bywyd y rheolau, ac mae hwn yn enghraifft llwybro IPv4 yn hytrach na ffurfweddiad preifatrwydd cyflawn. Ei werth yw'r detholydd: mae'r casgliad yn cael esemptiad y cyswllt uwch, ac nid oes rhaid i wasanaeth cyffredin ar yr un cyfeiriad ei etifeddu.