Beiðnin kemur með IP-tölu göngunnar og fer úr sama gámi með tölu nágrannaljónustu. Milli þessara tveggja augnablika endurskrifaði DNAT áfangastaðinn og pakkinn hætti að vera inntak fyrir VPN-gáminn. Nú er þetta framsenda umferð sem önnur regla dæmir um. Þessi breyting skýrir hvers vegna eldveggjarregla sem lítur rétt út fyrir göngufangið hefur engin áhrif á þýddu tenginguna.

Fylgdu pakkanum eftir þýðinguna

Taktu biðlarahóp 10.90.0.0/24 og göngufang 10.90.0.1. Tveir gámar standa á einni brú: 192.0.2.2 keyrir VPN og 192.0.2.3 keyrir forritið. Biðlari tengist 10.90.0.1:8080 og DNAT-reglan í nafnrými VPN-gámsins endurskrifar það í raunverulegt fang og port forritsins. Síðan sendir leið pakkann yfir brúna. Þessi fang eru til skýringar, ekki uppskrift að uppsetningu.

Portið sem forritið hlustar í raun á getur verið annað en hvaða port sem er birt á hýsilnum. Lestu hlustandann inni í gáminum í stað þess að gera ráð fyrir að báðar tölurnar passi saman.

Heimildin tilheyrir framsendingarleiðinni

VPN-gámurinn þarf IP-framsendingu og framsendingarákvörðun sem er takmörkuð við biðlarahópinn, fang forritsins og fyrirhugað port. Staðfest svör þurfa sína eigin heimild. Regla sem passar við upphaflegt göngufang passar ekki eftir DNAT, því áfangastaðurinn hefur þegar breyst. INPUT-heimild er rangt krókur fyrir umferð sem er ekki lengur beint að þessum hýsil.

Haltu umfanginu þröngu: eitt upptökusvið, einn áfangastaður, ein þjónusta. Framsendingarregla sem leyfir mikið er auðveldari að skrifa og margfalt erfiðari að verja síðar.

docker exec vpn-container ip route get 192.0.2.3
docker exec vpn-container iptables -t nat -S
docker exec vpn-container iptables -S FORWARD

Keðjur Docker eru ekki keðjur gámsins þíns

Reglur inni í nafnrými gámsins eru ekki reglur Docker-hýsilsins. Þegar umferð fer af gönguviðmótinu yfir á brúna getur brúareldveggur hýsilsins tekið aðra ákvörðun. Með iptables-bakenda Docker eru skjalfestu framsendingarkeðjurnar og samsvörunarpunktarnir eftir DNAT þar sem þessi ákvörðun birtist.

Eldveggjaviðmiðun Docker lýsir þessum keðjum og samsvöruninni eftir DNAT. Ekki laga vantar samþykkt með því að slökkva á eldveggsstjórnun Docker eða gera hverja keðju leyfandi, því það fjarlægir mörkin sem þú ert að reyna að nota.

Gerðu afturleiðina að viljandi vali

Ef upptökufangið er varðveitt sér forritið 10.90.0.x og verður að beina svörum til baka um VPN-gáminn. Annars sendir venjuleg Docker-gátt þess þau á hýsilinn, sem á ekki gönguna. Hinn kosturinn er þröng upptakaþýðing í VPN-gáminum, sem einfaldar svarið en felur biðlarann fyrir forritinu. Veldu af ásettu ráði og skrifaðu niður hvort þú valdir.

Prófaðu nýja leyfða tengingu frá venjulegum biðlara og staðfestu síðan að ótengd port haldist lokuð. Þegar pakki hverfur skaltu skoða nafnrými VPN, nafnrými forritsins og eigin annál forritsins. Ping á brúargátt er ekki samþykkispróf fyrir þjónustuna.

Haltu reglunum í studdri ræsingarstillingu gámsins, því gagnvirkar breytingar hverfa þegar hann er endurskapaður. Útgáfa hýsilports er önnur leið fyrir váhrif og er ekki nauðsynleg bara vegna þess að þjónustan er aðgengileg gegnum gönguna.

Tengdir greinar