Útgáfa Docker-porta og VPN-upptök: tvö samræmi sem þú missir af
IP-tala VPN-þjóns er ekki alltaf upptökin sem Docker sér, og portið eftir DNAT er ekki hið útgefna port. Berðu bæði staðreyndir saman við raunverulegu slóðina.
Reglan segir að leyfa skuli vistfang VPN-þjónsins að útgefnu þjónustunni, og samt dettur tengingin. Sú niðurstaða er algeng og er ekki villa í Docker. Tvö aðskilin samræmi eru röng: upptökin sem þú skrifaðir eru kannski ekki upptökin sem hýsillinn tekur við, og portið sem þú skrifaðir er kannski ekki portið sem sían sér. Að laga bæði krefst þess að skoða slóð pakkans í stað skýringarmyndar þjónustunnar.
Goðsögnin: leyfðu VPN-þjóninn og þú ert búinn
Beint VPN getur varðveitt gönguvistfang biðlarans alla leið að Docker-hýslinu. Hlið sem gerir upptakaþýðingu getur skipt því vistfangi út fyrir sitt eigið. Báðar hannanir eru lögmætar, og þær gefa mismunandi upptök fyrir sömu notendaaðgerð.
Þannig að orðalagið IP-tala VPN-þjóns lýsir forsendu, ekki athugun. Þar til þú veist hvor hönnunin er fyrir framan þig er reglan ágiskun.
Upptök: biðlarasafn eða þýdd hlið
Athugaðu fjóra hluti í röð. Fyrst biðlaravistfangasafnið, til dæmis 10.90.0.0/24. Annað, hvort hliðið þýðir það safn áður en það nær hýslinum. Þriðja, upptökin sem hýsillinn fylgist raunverulega með fyrir eina nýja tengingu. Fjórða, hvort auðkenning forritsins greinir einstaka notendur, því sameiginlegt þýtt vistfang getur það ekki.
Ef safnið varðveitist missir regla sem passar aðeins við opinbert vistfang hliðsins hvern biðlara. Ef hliðið þýðir viljandi leyfir heimild fyrir þýdda vistfanginu hvern notanda fyrir aftan það, sem getur verið ásættanlegt fyrir þjónustu með eigin innskráningu og óásættanlegt fyrir allt annað.
Port: DNAT breytir tölunni sem þú passar
Við venjulega Linux-brúarútgáfu með Docker iptables er hýsilvörpun frá 8443 yfir á port gámsins 443 þýdd áður en framsendingarsían keyrir. Pakkinn berst síunni með áfangaportinu 443. Regla sem passar við 8443 á þeim punkti virkjast aldrei, þótt 8443 sé það sem biðlarinn skrifaði.
Útgefna portið er enn til í tengingarakningu, þess vegna er hægt að passa upprunalega áfangann þar þegar þú þarft virkilega á því að halda.
Ákveddu hvaða tala tjáir ætlunina. Passaðu við port gámsins eftir DNAT þegar reglan verndar þjónustuna inni í gámnum. Passaðu við upprunalega áfangann með conntrack-valkostinum þegar reglan verður að lýsa því sem biðlarinn bað um, og samþykktu aukakostnaðinn við samræmingu og vandvirknina við röð reglnanna sem fylgir.
Keðja: DOCKER-USER, ekki INPUT
Leiðarvísir Docker um iptables setur framsendingarstefnu notenda í keðjuna DOCKER-USER, sem er metin á undan eigin framsendingarreglum Docker. Regla sem er afrituð úr hýsilþjónustu í keðjuna INPUT síar umferð sem er beint að hýslinum, ekki umferð sem er framsend í gám. Sú mistök framleiða reglu sem lítur rétt út og hefur engin áhrif á slóð gámsins.
Haltu upptakabilinu, árangursríka áfangaportinu, samskiptareglunni og inngangsviðmótinu saman í sömu reglu. Heimild eingöngu byggð á upptökum fyrir hvern framsendan áfanga er víðtækari en að leyfa eina útgefna þjónustu.
Staðfestu með nýjum tengingum
Prófaðu báðar áttir með nýjum tengingum: einn leyfðan VPN-biðlara og eina upptök sem á að vera áfram synjað. Núverandi tengingarstaða getur haldið lotu lifandi eftir að stefnan breyttist, svo gömul tenging sannar ekkert um nýju regluna. Athugaðu síðan svarssóðina, því gámurinn verður enn að beina aftur að upptökunum sem hann sér.
Leiðarvísir Docker um iptables skjalfestir röð keðjanna og hegðun portþýðingar að baki þessum athugunum. Lestu hann áður en þú afritar uppskrift, og staðfestu hvaða bakenda uppsetta Docker notar, því nftables-bakendinn samþættir stefnu á annan hátt.