Nid oes dim o’i le gyda’r ap ac nid oes dim o’i le gyda’r twnnel, ac eto nid yw’r dangosfwrdd yn llwytho. Pan fydd gwasanaeth yn rhedeg gyda network_mode: service:vpn, mae’n rhannu gofod enwau rhwydwaith cynhwysydd y VPN, sy’n golygu bod ei wrandäwr a’i borthladdoedd cyhoeddedig yn perthyn i’r gofod enwau hwnnw yn hytrach na’r gwasanaeth. Mae tri phenderfyniad yn dilyn o hynny: ble mae’r ap yn rhwymo, pa gynhwysydd sy’n cyhoeddi’r porth, a pha mor gul yw’r llwybr rheoli. Eu gosod yn y drefn anghywir a bydd pob gosodiad unigol yn edrych yn gywir tra na all y cyfuniad weithio.

Pwy sy’n berchen ar ofod enwau’r porth

Mewn gofod enwau a rennir, nid yw ychwanegu cofnod ports: at y gwasanaeth dibynnol yn gwneud dim defnyddiol, ac nid yw sawl opsiwn rhwydwaith yn cael ei gefnogi ar ei gyfer yn ôl y cynllun. Cyhoeddwch ar y cynhwysydd sy’n berchen ar y gofod enwau yn lle hynny. Y cynhwysydd hwnnw hefyd yw’r un y mae ei gyfeiriad yn ymddangos ar y gwesteiwr, felly mae’r mapio’n darllen fel un cofnod yn hytrach nag un fesul gwasanaeth.

services:
  vpn:
    image: vpn-client-image
    cap_add: [NET_ADMIN]
    ports:
      - "127.0.0.1:8080:8080"
  app:
    network_mode: "service:vpn"

Sylwch ar y cyfeiriad ar ochr chwith y mapio. Mae rhwymo i 127.0.0.1 yn cadw’r porth cyhoeddedig ar loopback y gwesteiwr, sef fel arfer yr hyn y mae rhyngwyneb rheoli yn ei eisiau. Mae rhwymo i 0.0.0.0 yn ei amlygu ar bob rhyngwyneb gwesteiwr, ac mae hynny’n benderfyniad diogelwch gwahanol, nid yn gyfleustra.

Gwnewch i’r ap wrando lle mae’r gofod enwau’n disgwyl

Nid yw gwrandäwr a rwymwyd i 127.0.0.1 y tu mewn i’r gofod enwau ar gael ond o’r tu mewn i’r gofod hwnnw. Mae porthladdoedd cyhoeddedig y gwesteiwr yn dod o’r tu allan, felly rhaid i’r ap rwymo cyfeiriad ehangach er mwyn i’r mapio weithio. Mae hynny’n newid un llinell yn y rhan fwyaf o weinyddwyr, a dyma’r cam y mae pobl yn ei hepgor ar ôl copïo canllaw caledu a ysgrifennwyd ar gyfer defnydd heb gynhwysydd.

docker compose exec app ss -lntp
docker port vpn
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8080/

Mae’r rhestr gwrandawyr y tu mewn i’r ap yn dweud y gwir am y cyfeiriad rhwymo, ac mae docker port yn dweud beth a gyhoeddodd y perchennog mewn gwirionedd. Os yw’r cyntaf yn dangos 127.0.0.1 a’r ail yn dangos mapio gwesteiwr, rydych wedi dod o hyd i’r camgyfateb heb gyffwrdd â chyfluniad y VPN.

Dewiswch sut mae’r llwybr rheoli’n dod i mewn

Mae tri threfniad rhesymol. Cyhoeddwch ar gynhwysydd y VPN a chyrhaeddwch ef o’r gwesteiwr neu o’r LAN. Rhowch ddirprwy gwrthdro o flaen y gofod enwau a rhowch y porth agored yn unig i’r dirprwy. Neu cadwch y dangosfwrdd ar gael o du mewn y gofod enwau yn unig trwy sesiwn exec neu dwnnel SSH, sef yr amlygiad lleiaf a’r lleiaf o gyfleustra.

Mae pa un sy’n gweddu yn dibynnu ar bwy sydd angen y rhyngwyneb ac o ble. Mae un gweinyddwr ar yr un gwesteiwr yn cael ei wasanaethu gan rwymo loopback. Mae tîm sy’n ei gyrraedd dros y VPN angen llwybr bwriadol a pherchennog a enwir. Mae dewis yr opsiwn dirprwy yn prynu TLS a logiau mynediad i chi, ar gost cydran arall i’w chadw’n gyfredol.

Agorwch y porth rheoli heb agor popeth

Gall polisi mynediad lleol neu gloi’r cleient VPN ollwng cais rheoli sy’n dod i mewn hyd yn oed tra mae’r twnnel allanol yn gweithio’n berffaith. Caniatéwch un eithriad wedi’i nodi ar gyfer y ffynhonnell a’r porth arfaethedig, yna cadarnhewch fod amddiffyniad arferol y twnnel heb newid. Mae analluogi’r switsh diogelwch er mwyn i ddangosfwrdd lwytho yn masnachu rheolaeth go iawn am dab porwr.

Gadewch uwthnodiad yr ap ei hun wedi’i alluogi. Nid yw bod y tu mewn i stac sy’n gysylltiedig â VPN yn awdurdodi pob defnyddiwr lleol na phob dyfais a all gyrraedd y gwesteiwr, ac mae panel gweinyddol heb uwthnodiad y tu ôl i dwnnel yn dal i fod yn banel gweinyddol heb uwthnodiad.

Gwiriwch o’r ddyfais reoli, yna gwiriwch eto yn ddiweddarach

Profwch o’r peiriant a fydd yn rheoli’r gwasanaeth mewn gwirionedd, nid o’r gwesteiwr, ac yna gwiriwch lwybr rhyngrwyd gofynnol yr ap ar wahân. Mae llwyddiant rheoli yn profi un cyfeiriad ac nid yw’n dweud dim am allanfa.

Ailbrofwch ar ôl i’r stac gael ei ail-greu. Mae perchennog rhwydwaith a ddisodlwyd yn newid y gofod enwau y mae’r ap yn ymlynu wrtho, ac mae URL a oedd yn gweithio cyn diweddariad yn gallu peidio â phwyntio at ddim ar ei ôl. Ysgrifennwch y mapio cyhoeddedig a’r cyfeiriad rhwymo fel bod yr ailadeiladu nesaf yn wiriad o ddau funud yn hytrach nag ymchwiliad arall.

Erthyglau cysylltiedig