WireGuard yn gweithio dim ond ar ôl i'r gweinydd anfon: gwybodaeth am bwynt terfyn
Mae llwyddiant sy'n dibynnu ar gyfeiriad fel arfer yn golygu na ddysgodd un cymar gyfeiriad y llall erioed. Cymharwch bwyntiau terfyn, yna gwiriwch a yw mapiad cyfieithu wedi dod i ben.
Mae'r twmnel yn ymddangos i weithio dim ond ar ôl i'r gweinydd anfon rhywbeth yn gyntaf. Dechreuwch o'r cleient ac nid oes dim yn digwydd, arhoswch ychydig eiliadau, rhowch gynnig arall ac mae'n llwyddo. Y diagnosis arferol yw NAT wedi torri, ac mae'r diagnosis arferol yn anghywir. Yr hyn a newidiodd yw bod un cymar wedi dysgu lle mae'r llall yn byw.
Gwybodaeth am bwynt terfyn, nid cyrhaeddiad
Ni fydd cymar WireGuard yn dechrau ysgydwad llaw nes ei fod yn gwybod i ble i'w anfon. Mae'r ffurfweddiad yn darparu hynny fel pwynt terfyn o gyfeiriad a phorthladd, ac mae'r cyflwr rhedegol yn olrhain y pwynt terfyn y mae'n credu ynddo ar hyn o bryd.
wg show yn argraffu dwy ochr y darlun hwnnw, ac ni all cymar heb bwynt terfyn yn yr allbwn ddechrau unrhyw beth, pa mor gywir bynnag yw ei allwedd gyhoeddus a'r rhagddodiadau a ganiateir. Cymharwch olwg y cleient â golwg y gweinydd cyn newid unrhyw reol, oherwydd yn aml nid ydynt yn cytuno pwy sy'n gwybod beth.
Sut mae cymar yn dysgu pwynt terfyn
Mae WireGuard yn dawel yn fwriadol. Pan fydd pecyn sydd wedi'i ddilysu'n gywir yn cyrraedd o gyfeiriad nad oedd y cymar yn ei ddisgwyl, mae'r gweithrediad yn diweddaru pwynt terfyn y cymar hwnnw i'r ffynhonnell newydd, a dyna sut mae crwydro'n gweithio ar liniadur sy'n newid rhwydweithiau. Mae'r ymddygiad hwnnw'n esbonio'r dibyniaeth ar gyfeiriad: os yw'r gweinydd yn anfon gyntaf ac mae ei becyn yn cyrraedd y cleient, mae'r cleient yn dysgu cyfeiriad presennol y gweinydd ac yn gallu ateb. Hyd nes hynny nid oes ganddo le i anfon. Mae'r mecanwaith yn grwydro dilysedig yn hytrach na llwybr byr o ymddiried ar yr edrychiad cyntaf, oherwydd roedd rhaid i'r pecyn fod yn ddilys cyn i'r pwynt terfyn symud.
Mae dogfennaeth offer wg yn disgrifio'r diweddariad hwnnw, ac mae'n werth ei darllen unwaith os ydych chi'n mynd i ddylunio o'i gwmpas.
Mae cyfieithu cyflwr yn ychwanegu ei gyfeiriad ei hun
Lle mae UDP yn mynd trwy borth sy'n cyfieithu, mae'r porth yn creu cyflwr ar gyfer y pecyn cyntaf y mae'n ei weld. Mae RFC 4787 yn disgrifio'r ymddygiad hwnnw a'r terfynau amser sy'n tynnu'r mapiad yn y pen draw. Mae mapiad segur yn dod i ben, ac yna mae pecyn sy'n dod i mewn o'r ochr bell yn cael ei ollwng gan y porth cyn iddo gyrraedd y gwesteiwr. Mae twmnel a weithiodd drwy'r bore yn rhoi'r gorau i ateb yn y prynhawn am yr union reswm hwn.
Mae hwn yn ail fecanwaith annibynnol sy'n cynhyrchu'r un symptom cyfeiriadol. Rhaid i wybodaeth am bwynt terfyn a chyflwr cyfieithu fod yn gywir ill dau, ac nid yw trwsio'r naill yn trwsio'r llall.
Ffurfweddwch y cyfeiriad yr ydych ei eisiau mewn gwirionedd
Ar gyfer cleient sy'n rhaid iddo ddechrau'r cysylltiad, rhowch bwynt terfyn y gweinydd yn adran cymar y cleient a'i gadw yno. Mae dibynnu ar i'r gweinydd anfon gyntaf yn dibynnu ar ddamwain yng nghyfnod y traffig a fydd yn newid ar rwydwaith tawel. Dylai'r ffurfweddiad ddatgan y cyfeiriad a fwriedir, nid ei ddarganfod.
Ar gyfer cymar y tu ôl i gyfieithu y mae'n rhaid iddo aros yn gyrhaeddadwy, galluogwch keepalive parhaus ar yr ochr honno. Keepalive bob 25 eiliad yw'r gwerth cychwynnol arferol, a'i ddiben yw cadw'r mapiad ar agor yn hytrach na phrofi'r twmnel. Dewiswch un ochr i'w gario, oherwydd mae ei alluogi ar y ddwy yn dyblu'r traffig a'r sŵn logiau heb wella'r canlyniad.
Cymharwch gyflwr cyn ac ar ôl y sbardun
Cofnodwch y ddwy olwg ar y foment y mae'n methu, yna eto ar ôl i'r gweinydd anfon. Mae'r gorchymyn cyntaf yn dangos pwyntiau terfyn ac oedran yr ysgydwad llaw. Mae'r ail yn dangos a oes cofnod cyfieithu ar gyfer y porthladd. Mae'r cofnod yn dangos pa gyfeiriad a groesodd y wifren mewn gwirionedd, ac mae'r gwiriad llwybr yn cadarnhau nad yw'r cleient yn anfon y traffig hwnnw i rywle hollol arall.
wg show conntrack -L -p udp 2>/dev/null | grep 51820 tcpdump -ni any -c 20 'udp port 51820' ip route get 198.51.100.7
Cofnodwch y golofn pwynt terfyn a'r cofnod cyfieithu gyda'i gilydd. Mae cymar heb bwynt terfyn a phorth heb fapiad yn ddau fai gwahanol. Dim ond un ohonynt sy'n cael ei drwsio gan keepalive.