Dau gleient OpenVPN ar un porth Linux: rhannwch y polisi
Gall y ddau dwnnel godi tra bo pob cleient yn defnyddio un. Penderfynwch yn ôl ffynhonnell, rhowch dabl ei hun i bob grŵp, yna caniatáu a chyfieithu ar y ddyfais a ddewiswyd.
Gall dau ddemonaid OpenVPN ill dau adrodd twnnel llwyddiannus tra bod y porth yn anfon pob cleient drwy’r un. Nid oes dim yn y cydlawenhau yn penderfynu pa dwnnel mae cleient yn ei ddefnyddio; y cnewyllyn sy’n penderfynu, un pecyn ar y tro, drwy gerdded y rheolau polisi ac yna’r tabl y mae pob rheol yn ei enwi. Unwaith y byddwch yn edrych arno felly, mae’r ffurfweddiad yn peidio â bod ynglŷn ag opsiynau OpenVPN ac yn dod yn fatrics llwybro â dau berchynnog.
Y cnewyllyn sy’n penderfynu, nid y demon
Mae pecyn a anfonir ymlaen yn cyrraedd y rhyngwyneb LAN ac mae’r cod llwybro yn gwerthuso’r rhestr rheolau yn nhrefn blaenoriaeth. Y rheol gyntaf y mae ei detholydd yn cyfateb iddi sy’n enwi tabl, a llwybrau’r tabl hwnnw sy’n dewis y ddyfais allbwn. Os nad oes gan y tabl lwybr cyfatebol, mae’r chwiliad yn parhau i’r rheol nesaf, a dyma’r manylyn sy’n gwneud i osodiad hanner-gorffenedig fethu’n dawel yn hytrach nag yn uchel.
Nid oes gan y broses twnnel unrhyw lais yn y gerdded honno. Mae’n creu rhyngwyneb ac yn gallu gosod llwybrau, ond mae p’un a yw pecyn cleient penodol yn mynd i mewn i’r rhyngwyneb hwnnw yn dibynnu’n gyfan gwbl ar y tabl yr anfonwyd ef iddo. Felly mae dau dwnnel â llwybrau mewnforio union yr un fath yn cystadlu, a’r un olaf i ysgrifennu sy’n ennill i bawb. Dyna pam y gall gosodiad edrych yn gytbwys yn y ffeiliau ffurfweddu ac eto anfon pob cleient drwy un demon.
Rhowch ei set adnoddau ei hun i bob enghraifft
Dechreuwch gydag enwau, oherwydd enwau a ailddefnyddir yw’r ffordd y mae’r ddau enghraifft yn rhannu cyflwr ar ddamwain. Neilltuwch ddyfeisiau twnnel gwahanol, ffeiliau ffurfweddu gwahanol, manylion mewngofnodi gwahanol ac unedau gwasanaeth gwahanol. Cofnodwch bwynt pen draw allanol a chyfeiriad twnnel pob enghraifft yn yr un tabl â’r matrics polisi, fel bod gan newid diweddarach un lle i edrych.
dev tun-office
route-nopull
pull-filter ignore "redirect-gateway"
dev tun-lab
route-nopull
route-nopull yn cadw llwybrau a wthir gan weinydd allan o’r tabl lleol, sef yr hyn a fynnwch pan ddylai’r tablau polisi fod yn eglur. Mae p’un a yw gweinydd penodol hefyd yn gwthio opsiwn redirect-gateway, a p’un a yw eich fersiwn cleient yn cefnogi’r ffurf hidlo, yn werth ei wirio yn y llawlyfr yn hytrach na thybio.
Ysgrifennwch y matrics: ffynhonnell, tabl, dyfais
Ar gyfer pob grŵp cleient, ychwanegwch reol sy’n dewis tabl yn ôl cyfeiriad ffynhonnell, yna rhowch y llwybr bwriadedig yn y tabl hwnnw:
ip rule add from 10.8.1.0/24 lookup 100 priority 1000
ip rule add from 10.9.1.0/24 lookup 200 priority 1000
ip route add default dev tun-office table 100
ip route add default dev tun-lab table 200
Mae ar y tabl angen y llwybrau cyrchfan y dylai’r grŵp eu cael, ynghyd ag unrhyw eithriadau lleol neu reolaethol sy’n cadw’r porth yn ddefnyddiadwy. Mae tabl sy’n cynnwys dim ond llwybr diofyn yn bolisi twnnel llawn ar gyfer y grŵp hwnnw, a allai fod yn hollol iawn, ond dylai fod yn benderfyniad yn hytrach nag yn hepgoriad.
Nid yw cludiant y twnnel ei hun mewn grŵp cleient
Mae pecynnau amgryptio pob demon yn deillio ar y porth ei hun, wedi’u cyfeirio at y cymar allanol. Mae rheol sy’n cyfateb dim ond i ragddodiad ffynhonnell cleient yn gadael y pecynnau hynny ar eu pen eu hunain, a dyna pam mae rheolau a gwmpesir gan ffynhonnell yn fwy diogel na rheolau sy’n cyfateb i bopeth. Gall rheol heb detholydd ddal cludiant y twnnel ei hun a’i anfon yn ôl drwy dwnnel, ac yna mae’r cysylltiad yn methu mewn ffordd sy’n edrych fel problem darparwr.
Cadwch y sesiwn rheoli lleol a llwybr yr haen isod yn eglur y tu allan i’r tablau polisi. Ysgrifennwch yr eithriadau hynny wrth ymyl y matrics; maent yn rhan o’r dyluniad, nid yn ateb dros dro sydd i’w ailddarganfod yn ystod digwyddiad.
Nid yw dewis llwybr yn ei ganiatáu
Mae caniatâd anfon ymlaen yn ail benderfyniad a wneir yn ddiweddarach ar y llwybr. Nid yw rheol wal dân sy’n derbyn pecynnau sy’n gadael drwy’r ail dwnnel yn gwneud i’r cod llwybro ei ddewis, ac nid yw tabl cywir yn rhoi caniatâd i anfon ymlaen. Rhaid i’r ddau fodoli, a bydd prawf sy’n profi dim ond un ohonynt yn eich camarwain am y llall. Pan fydd un grŵp yn gweithio a’r llall ddim, gwiriwch y ddau gam hyn ar wahân yn hytrach nag ailysgrifennu’r tablau.
Mae cyfieithu ffynhonnell yn drydydd penderfyniad, a dylid ei gwmpasu i’r grŵp ffynhonnell a’r ddyfais twnnel sy’n ei chludo mewn gwirionedd. Ychwanegwch gadwyn bwrpasol ar gyfer y ddau enghraifft yn hytrach na fflysio’r gadwyn postrouting, oherwydd gall gwasanaethau di-gysylltiad fod â chofnodion yno ac mae fflysio yn eu tynnu’n dawel.
Beth sy’n digwydd pan fydd un twnnel yn cwympo
Penderfynwch ar ymddygiad methiant ymlaen llaw. Pan fydd tabl twnnel yn colli ei lwybr, mae’r chwiliad yn syrthio trwodd i’r rheol nesaf, ac mae traffig y grŵp yn parhau drwy’r twnnel arall neu’r cysylltiad i fyny arferol heb unrhyw wall. Os nad yw hynny’n dderbyniol, ychwanegwch reol derfynu â rhif blaenoriaeth is sy’n dychwelyd canlyniad anghyraeddadwy ar gyfer y ffynhonnell honno, fel bod y golled yn weladwy yn hytrach na chael ei hamsugno.
Anfonwch gais newydd o bob grŵp ffynhonnell a chofnodwch bedwar ffaith: y tabl a ddewiswyd, y ddyfais allbwn, y ffynhonnell a gyfieithwyd, ac a ddaeth yr ateb yn ôl drwy’r un llwybr. Yna tynnwch un twnnel i lawr ac ailadroddwch. Mae dau ddyfais TUN mewn rhestr rhyngwyneb yn profi bod y ddau demon wedi cychwyn; nid ydynt yn dweud dim am ba un a ddefnyddiodd cleient penodol. Yr ail rediad, gydag un twnnel wedi mynd, yw’r un sy’n dangos a yw eich rheol wrth gefn yn gwneud yr hyn a fwriadwyd.