Dau safle symudol heb byrth sy'n dod i mewn: adeiladu canolfan sy'n gweithio
Pan nad yw'r naill safle na'r llall yn derbyn cysylltiad IPv4 sy'n dod i mewn, gadewch i'r ddau gychwyn tuag at ganolfan gyrraeddadwy. Rhedwch y camau llwybro, anfon ymlaen a chynllun wrth gefn yn y drefn hon.
Mae dau safle ar gyswllt symudol yn wynebu'r un broblem i'r ddau gyfeiriad: ni all y naill na'r llall dderbyn cysylltiad IPv4 heb ei ofyn, felly ni all y naill na'r llall chwarae'r gweinydd mewn tiwnel uniongyrchol. Mae'r bensaernïaeth sy'n gweithio yn rhoi trydydd parti cyrraeddadwy yn y canol: mae pob safle yn deialu allan ac mae'r canol yn anfon ymlaen dim ond y traffig a gymeradwywch. Gall y canol hwnnw fod yn llwybrydd rydych yn ei weithredu neu'n gynnyrch sy'n cyflwyno cyfoedion, ac nid yw'r ddau beth yn un. Mae'r camau isod wedi'u trefnu fel bod pob un yn cynhyrchu tystiolaeth cyn i'r nesaf ddibynnu arno.
Ni ellir deialu'r naill safle na'r llall, felly rhaid i'r ddau ddeialu allan
Cadarnhewch y cyfyngiad cyn dylunio o'i amgylch. Os yw'r cludwr yn rhoi cyfeiriad preifat i ryngwyneb WAN, ni fydd unrhyw anfon porth ymlaen ar lwybrydd y safle ei hun yn ei wneud yn gyrraeddadwy, gan fod y cyfieithu yn digwydd i fyny'r llif. Gall cyfeiriad IPv6 cyhoeddus fod ar yr un cyswllt a newid y dyluniad yn gyfan gwbl, a dyna pam mae'r gwiriad yn cwmpasu'r ddau deulu. Ysgrifennwch yr ateb ar gyfer pob safle, gan fod y ddau'n anaml yn rhannu'r un cyfyngiadau hyd yn oed pan fyddant yn rhannu cludwr.
Mae'r achos symudol arferol yn edrych fel cyfeiriad o ystod gyfieithiedig y cludwr gyda llwybr diofyn drwyddo. Nid nam i'w drwsio yw hwn; dyma'r rheswm bod y ganolfan yn bodoli. Yr hyn rydych yn chwilio amdano yw unrhyw gyfeiriad y gall trydydd parti ei gyrraedd heb i'r safle siarad gyntaf.
Mae dau orchymyn yn ateb y cwestiwn cyfeirio ar gyfer y safle rydych yn sefyll o'i flaen. Rhedewch nhw ar lwybrydd y safle, nid ar liniadur y tu ôl iddo:
ip -4 addr show scope global
ip -6 addr show scope globalPwy sy'n cyflwyno cyfoedion, a phwy sy'n cario'r pecynnau
Mae cyflwyno a chludo yn dasgau ar wahân y mae cynnyrch yn aml yn eu bwndelu heb wneud y llinell yn weladwy. Mae mecanwaith cyfarfod yn helpu dau gyfoed i ddod o hyd i lwybr ymgeisydd; mae relái yn cario eu pecynnau pan nad oes llwybr uniongyrchol. Nid yw prynu gwasanaeth sy'n cyflwyno cyfoedion yn rhoi llwybrydd i chi, ac mae'r gwahaniaeth hwnnw'n penderfynu a oes angen canolfan ar y dyluniad o gwbl.
Mae gan drawsgludo ei eirfa ei hun, ac mae'r geiriau'n disgrifio rolau yn hytrach na gwarantau. Manyleb ICE yn disgrifio ymgeiswyr a gwiriadau cysylltedd, mae STUN yn disgrifio un ffordd o ddysgu am gyfieithu cyfeiriadau, ac mae TURN yn disgrifio cludiant trwy relái ar gyfer cymwysiadau sy'n ei weithredu. Nid oes unrhyw un o'r mecanweithiau hynny'n ymddangos mewn porth cyffredin oherwydd ichi ei bwyntio at gyfeiriad darganfod. Gwiriwch drawsgludo fel gallu cynnyrch, a chymerwch yn ganiataol ei fod yn relái nes bod prawf yn dangos fel arall.
Un llwybr y safle, yn eiddo i gyfoed
Mae angen un tiwnel ar y ganolfan ar gyfer pob safle, prefix LAN gwahanol y tu ôl i bob un, a llwybr ar gyfer pob prefix sy'n enwi ei berchennog. Yn yr enghraifft y ganolfan yw 10.61.0.1, safle A yw 10.61.0.11 gyda LAN 10.60.10.0/24, a safle B yw 10.61.0.12 gyda LAN 10.60.20.0/24. Mae pob llwybr isod yn pwyntio at y cyfoed sy'n berchen ar y prefix yn hytrach nag at ryngwyneb y tiwnel:
ip route add 10.60.10.0/24 via 10.61.0.11 dev wg0
ip route add 10.60.20.0/24 via 10.61.0.12 dev wg0
sysctl net.ipv4.ip_forward
ip route get 10.60.20.55 from 10.60.10.77Rhaid galluogi anfon ymlaen, neu mae'r pecynnau'n stopio yn y ganolfan heb wall sy'n nodi'r achos. Mae'r gorchymyn olaf yn ateb y cwestiwn go iawn, gan ei fod yn gofyn pa lwybr y byddai pecyn yn ei gymryd o LAN safle A i LAN safle B gyda'r ffynhonnell wedi'i chynnwys yn y chwiliad. Triniwch chwiliad sy'n enwi rhyngwyneb y tiwnel fel tystiolaeth, ac un sy'n cwympo'n ôl i'r llwybr diofyn fel llwybr coll yn hytrach na dirgelwch. Yna cyfyngwch y tramwy'n fwriadol, gan fod canolfan sy'n anfon ymlaen rhwng pob cyfoed yn troi dau safle'n rhwydwaith gwastad ac mae'r polisi mynediad roeddech yn meddwl oedd gennych yn peidio â chymhwyso.
Penderfynwch hefyd ble mae'r amgryptio'n gorffen. Pan fo'r ganolfan yn dal dau derfyniad y tiwnel, mae gweithredwr y peiriant hwnnw a'i lwyth gwaith yn ymuno â'r model ymddiriedaeth ac argaeledd, ac mae ei led band yn dod yn rhan o'r llwybr.
Cadwch bob mapiad yn fyw drwy'r cludwr
Mae pob safle'n cychwyn ei diwnel ei hun, a rhaid i bob un gadw'r mapiad cyfieithu'n fyw neu bydd y cludwr yn ei anghofio. Mae neges cadw'n fyw ar yr ochr sy'n cychwyn yn cadw'r mapiad hwnnw rhwng ysgydwadau llaw. Cyfyngwch y prefixau a ganiateir i gyfeiriad y ganolfan a'r LAN pell, fel na all cyfoed sydd wedi'i gyfaddawdu hawlio prefix nad yw'n berchen arno:
[Peer]
PublicKey = <hub public key>
Endpoint = 192.0.2.10:51820
AllowedIPs = 10.61.0.1/32, 10.60.20.0/24
PersistentKeepalive = 25Adlewyrchwch y bloc ar y safle arall gyda'i prefix pell ei hun, a gwrthsefyll yr ysfa i ganiatáu holl ystod y tiwnel. Mae ysgydwad llaw sy'n stopio ac yn ailddechrau o borth ffynhonnell newydd yn llofnod mapiad sydd wedi darfod, ac mae stampiau amser yr ysgydwad llaw yn dystiolaeth iddo ddigwydd. Mae cyfwng sy'n fyrrach na therfyn amser y cludwr yn atal y darfodiad yn lle ei drwsio wedyn. Pan fydd y cludwr yn newid ei ymddygiad cyfieithu, disgwyliwch i'r amseriadau hynny newid gydag ef.
Profwch y ddau gyfeiriad, yna profwch adferiad
Mae gwirio'n gyfeiriadol, felly mae ping o A i B yn profi hanner y dyluniad a dim am y llwybr dychwelyd. Gwiriwch lwybr yr ateb gyda'r un chwiliad sy'n ymwybodol o'r ffynhonnell ar y ganolfan, yna ailadroddwch y prawf o'r ochr arall. Mae ysgydwadau llaw ffres yn perthyn i'r dystiolaeth hefyd, gan y gall tiwnel segur am awr fod yn profi mapiad hen:
wg show wg0 latest-handshakes
ping -c 3 10.60.20.55
traceroute -n 10.60.20.55Yna profwch y methiant rydych yn ei ddisgwyl yn hytrach na'r llwyddiant rydych ei eisiau. Ailgychwynnwch gyswllt un safle a chadarnhewch fod y tiwnel yn dychwelyd heb i neb gyffwrdd ag unrhyw ben, gan nad yw dyluniad sy'n angen gweithredwr ar ôl pob newid gan y cludwr yn gyflawn. Cofnodwch y llwybr sylfaenol, yr amgen IPv6 pan fo un, a'r ymddygiad pan nad yw'r ganolfan ar gael. Mae'r ganolfan bellach yn rhan o'ch model argaeledd, felly ysgrifennwch hynny yn lle ei ddarganfod yn ystod diffyg.