Útgáfa Docker-porta gegn VPN: hvert fer svarið
Útgefinn gámur svarar frá eigin vistfangi áður en öfugt NAT á sér stað. Tvær hönnun geta haldið því svari á opinberu leiðinni, með mismunandi kostnaði.
Hýsillinn heldur áfram að svara SSH eftir að VPN með fullri göng hefur ræst, á meðan þjónusta sem gefin er út með Docker á sömu vél þagnar. Ekkert er að hlustandanum: gámurinn er í gangi, portvörpunin er til staðar og pakkinn berst. Gámurinn er heilbrigður og beiðnin nær sannarlega til hans. Það sem er öðruvísi er hvar svarið byrjar þegar Linux velur leið sína, og sá munur ræður því hvort af tveimur hönnununum hér að neðan þú þarft.
Fylgdu tuple í gegnum áfangastaðar-NAT
Taktu hýsil á 192.0.2.10 sem gefur út TCP 2222 á gám á 172.30.240.5:22. Beiðni frá 198.51.100.25 er þýdd áður en hún nær gámnum, og gámurinn svarar sem hann sjálfur.
WAN request: 198.51.100.25 -> 192.0.2.10:2222
after DNAT: 198.51.100.25 -> 172.30.240.5:22
container reply: 172.30.240.5:22 -> 198.51.100.25
Við leiðarákvörðun hýsilsins ber svarið enn upprunavistfang gámsins. Öfug þýðing endurheimtir útgefna tuple síðar, og þess vegna lítur pakkinn rangt út á nákvæmlega þeirri stundu sem leiðin er valin.
Hvers vegna regla eingöngu fyrir hýsilinn sleppir því
Regla sem velur WAN-töfluna aðeins fyrir pakka frá 192.0.2.10 nær yfir eigin daemon hýsilsins og sleppir þessu framsendu svari algjörlega. Upprunavistfang svarisins er 172.30.240.5, ekki hýsillinn.
Ofleiðréttingin er að beina öllu frá gámnum í gegnum WAN, sem undanþiggur einnig ótengdar útleiðartengingar gámsins frá VPN. Það er önnur stefna en sú sem beðið var um, og það kemur venjulega einhverjum á óvart síðar.
Samsvörun eftir DNAT er annar hook
Docker-skjölin um eldveggi taka fram að venjuleg notendasíun sjái áfangastaðinn eftir DNAT, þannig að að passa útgefna portið 2222 í venjulegri reglu er ekki það sama og að passa gámportið 22. Ef upprunalega tuple skiptir máli, notaðu studda upprunalega-áfangastaðar-aðferð í stað þess að giska á hvaða port sé sýnilegt.
Þessi hook-ruggl skapar reglur sem líta rétt út og passa aldrei. Athugaðu teljarana á reglunni sjálfri áður en þú skrifar stefnuna upp á nýtt. Regla án nokkurra högga segir þér að hún sé metin einhvers staðar þar sem pakkinn nær aldrei.
Hönnun A: bera ákvörðunina sem tengistöðu
Tengingarmerki getur borið inngangsákvörðunina í gegnum þýðinguna, en það verður að endurheimta það á pakkann fyrir þá leiðarleit sem skiptir máli. Skrefin eru:
- Taktu frá merkjareit og regluforgang sem rekast ekki á Docker, VPN eða annan stefnueiganda.
- Greindu aðeins ætlaða nýju WAN-tengingu á punkti fyrir DNAT þar sem tengingarakning er tiltæk.
- Skráðu ákvörðunina á tengingarmerkið, án þess að þvinga upprunalegu beiðnina sjálfa inn í WAN-töfluna.
- Í svaráttinni skaltu aðeins endurheimta þín eigin merkisbit á pakkann fyrir leiðarstýringu.
- Veldu heildstæða WAN-töflu nógu snemma svo VPN-regla geti ekki unnið fyrst.
Sú tafla þarf raunverulegar tengdar leiðir og gáttina. Hún þarf líka skilgreinda hegðun þegar leiðin vantar. Hljóðlát fall í göngin er versta útkoman, því uppsetningin lítur enn út fyrir að virka. Bilaðu lokað í staðinn og skráðu það.
Hönnun B: ljúka á hýsilnum
Viljandi stillt framenda á hýsilhlið, svo sem TCP proxy eða öfugt proxy fyrir framan gáminn, heldur svarinu upprunnið frá vistfangi hýsilsins. Reglur skrifaðar fyrir hýsilinn hegða sér þá eins og búist er við, og gámurinn heldur sig á einkanetinu sínu.
Kostnaðurinn er enn einn hreyfanlegur hlutur með eigin uppsetningu, meðferð upprunavistfanga og aðgangsstýringar. Það er venjulega einfaldari studda mörkin, og það er oft rétta svarið þegar leiðarstefnan yrði viðhaldið af einum manni sem gæti farið.
Staðfestu breytinguna, ekki áformið
Opnaðu nýja heimilaða tengingu frá opinberu hliðinni og staðfestu að svarið fari út um ætlaða tengið. Athugaðu síðan að ótengd beiðni sem gámurinn hefur frumkvæði að fylgi VPN enn.
Tæmdu ekki tengitöflu vélarinnar til að prófa eina reglu: núverandi færslur halda fyrri vörpun sinni, og tæmingin brýtur allt annað á hýsilnum. Útgáfa ports skilgreinir aðgengi. Hún skilgreinir ekki svarleiðina. Skrifaðu valda hönnun niður með töflunöfnum hennar, svo næsti maður þurfi ekki að uppgötva hana aftur í atviki.