Gall eich cynhwysydd wrando ar UDP 1195 tra bo’r gwesteiwr yn cyhoeddi 1194, ac mae hynny’n gywir cyn belled ag y mae’r mapio’n dweud felly. Mae’r rhifau’n ffurfio tabl cyfieithu: mae’r cleient yn ffonio porth y gwesteiwr, mae Docker yn ailysgrifennu’r gyrchfan i borth y cynhwysydd, ac mae OpenVPN yn ateb ar y porth y mae ei gyfluniad ei hun yn ei enwi. Mae anghysondeb yn unrhyw un o’r cysylltiadau hynny’n cynhyrchu methiant tawel sy’n edrych fel mur gwarchod. Mae tystysgrifau a seiffrau ymhellach i lawr ac ni allant ei drwsio.

Dilynwch un pecyn o’r cleient i’r broses cyn newid unrhyw beth am ddilysu.

Tri rhif, un cysylltiad

Y tri rhif yw’r gyrchfan bell y mae’r cleient yn ei defnyddio, y mapio cyhoeddedig ar y gwesteiwr, a’r gwrandawr y tu mewn i’r cynhwysydd. Nid oes rhaid iddynt fod yn gyfartal, ond rhaid iddynt gadwyno. Mae rhifau cyfartal yn achos arbennig sy’n digwydd bod yn un gyffredin, a dyna pam mae anghysondeb yn hawdd ei ysgrifennu unwaith ac yn anodd ei weld wedyn.

Ysgrifennwch y gadwyn ar un llinell cyn dadfygio: cyfeiriad a phorth y cleient, mapio’r gwesteiwr, gwrandawr y cynhwysydd, cludiant. Mae diffyg yn y gadwyn yn ymddangos fel rhif sy’n ymddangos ddwywaith gyda gwerthoedd gwahanol.

LocationExample
Remote client destinationHost address, UDP 1194
Published mappingHost UDP 1194 to container UDP 1195
Container listenerOpenVPN on UDP 1195

Beth mae’r gystrawen fer yn ei ddweud mewn gwirionedd

Yn y ffurf fer, yr ochr chwith yw porth y gwesteiwr a’r ochr dde yw porth y cynhwysydd, ac mae ôl-ddodiad slaes yn dewis y cludiant. Hepgorwch yr ôl-ddodiad ac mae Docker yn trin y mapio fel TCP, felly mae gwrandawr UDP y tu ôl i fapio heb brotocol yn wrandawr na all neb gyrraedd. Mae’r rhagosodiad hwnnw wedi’i ddogfennu ac mae’n dal i synnu pobl a gydweddodd y rhifau a’i alw’n gorffenedig.

Mae’r ffurf hir yn pinio’r cyfeiriad rhwymo a’r protocol yn benodol, sy’n werth y llinellau ychwanegol ar unrhyw beth sy’n wynebu rhwydwaith. Darllenwch y mapio cyhoeddedig yn ôl yn lle ymddiried yn y ffeil a’i cynhyrchodd.

ports:
  - 1194:1195/udp

Ble y gall y pecyn stopio

Gall cais gael ei ollwng cyn Docker, yn Docker, neu wrth y gwrandawr. O flaen Docker gall fod mur gwarchod cwmwl neu lwybrydd sy’n gwneud ei anfon ei hun, ac mae angen porth sy’n wynebu’r gwesteiwr a’r cludiant cywir ar y ddyfais honno. Y tu mewn i Docker, mae mapio i borth cynhwysydd anghywir yn anfon ymlaen i soced caeëdig.

Yna’r gwrandawr: mae cyfluniad OpenVPN yn enwi porth a phrotocol, ac mae cleient sy’n cyrraedd un gwahanol y tu mewn i’r cynhwysydd yn cyrraedd dim. Nid yw profi gwasanaeth UDP â TCP yn profi dim ar unrhyw un o’r camau hyn, felly defnyddiwch y cludiant y bydd y cleient yn ei ddefnyddio.

Cyfeiriadau rhwymo sy’n penderfynu cyrhaeddadwyedd

Mae mapio cyhoeddedig wedi’i rwymo i loopback yn gyraeddadwy o’r gwesteiwr yn unig, tra bo un wedi’i rwymo i bob rhyngwyneb yn gyraeddadwy lle bynnag y mae’r mur gwarchod yn caniatáu. Mae’r ddau’n edrych yn unfath mewn ffeil Compose sy’n hepgor y cyfeiriad, a rhagosodiad Docker yw’r un eang.

Penderfynwch pa amlygiad y mae’r defnydd yn ei fwriadu, yna ei ysgrifennu’n benodol. Gall prawf mewnol sy’n cysylltu dros loopback a chleient pell na all gysylltu fod yn ddisgrifiadau cywir ill dau o’r un cynhwysydd.

Darllenwch y cyflwr rhedegol

Archwilwch fapio effeithiol y cynhwysydd sy’n rhedeg a’r gwrandawr yn ei ofod enw rhwydwaith. Efallai bod ffeil Compose wedi’i golygu ar ôl i’r cynhwysydd ddechrau, gall metadata delwedd ddatgan porth heb ei gyhoeddi, ac efallai bod ail gynhwysydd eisoes yn dal porth y gwesteiwr. Nid yw datgan porth mewn delwedd yn ei gyhoeddi, ac nid yw’r naill na’r llall yr un peth â gwrando.

Tri chyflwr gwahanol, tair gorchymyn gwahanol, a dim ond yr un olaf sy’n cynnwys OpenVPN.

Ar ôl i’r mapio fod yn gywir

Unwaith y bydd y pecyn yn cyrraedd OpenVPN, ei gofnod yw’r lle i ddarllen am TLS a dilysu. Mae ailgynhyrchu tystysgrifau i drwsio pecyn na chyrhaeddodd erioed yn waith ofer sy’n ychwanegu ail newidyn. Cadwch y nodyn mapio wrth ymyl proffil y cleient fel bod y person nesaf yn darllen un llinell yn lle ailddarganfod y tri rhif. Mae un cipiad pecyn ar ochr y gwesteiwr yn setlo pa un o’r tri chysylltiad sy’n anghywir, ac mae’n costio llai nag adfywio tystysgrif.

Cyhoeddi drwy bont yw’r achos a ddisgrifir yma. Mae rhwydweithio’r gwesteiwr a chyfeiriadau cynhwysydd llwybriedig yn hepgor y cyfieithu, felly mae’r un rhifau’n golygu rhywbeth gwahanol yn y cynlluniau hynny.

Erthyglau cysylltiedig