Aku anyar karo docker, saiki pengin nyetel docker ing vps kanthi ngetutake tutorial iki [https://www.howtoforge.com/how-to-install-and-use-nginx-proxy-manager/ ](https://www.howtoforge.com/how-to-install-and-use-nginx-proxy-manager/) dadi rencana persiyapanku kaya mangkene: vps ubuntu 22.04, wireguard kanggo vpn, ufw kanggo firewall: nginx proxy manager (NPM) kanggo nangani http, https, sertifikat ssl (port 81 sing kapapar) portainer kanggo manajemen docker (port 9443 sing kapapar) hantu, wadhah liyane bakal nggunakake jaringan docker lan ngobrol langsung karo manajer proxy nginx kaya tutorial lan pemetaan menyang subdomain. Aku ora seneng mbabarake port 81, 9443 kanggo umum supaya aku nggawe aturan ufw lan mung ngidini ip vpn lokal sing bisa nyambung menyang port kasebut. masalahku wadhah docker misale jek nglirwakake aturan ufw lan nggawe port isih bisa diakses karo ip umum. Aku wis nyoba [https://github.com/chaifeng/ufw-docker](https://github.com/chaifeng/ufw-docker) lan ndandani masalah portainer lan NPM .. nanging hantu, lan wadhah liyane gagal. kanggo nyambung karo manajer proxy nginx yen kothak diwiwiti maneh utawa wadhah diwiwiti maneh. karyaku sak saiki wis kapapar memedi, wadhah liyane kanggo host port lan banjur map menyang NPM dening alamat ip. kerjane nanging rumangsa salah amarga jumlah wadhah mundhak, kabutuhan port uga bakal saya tambah. Apa solusi sing resik kanggo iki? matur nuwun Docker nglebokake aturan pisanan sing cukup awal ing iptables, ing nat PREROUTING. Sampeyan bisa ndeleng aturan kanthi: iptables -t nat -S ufw asring nempatake aturan ing INPUT yaiku sawise PREROUTING lan FORWARD! Ana rong panggonan ing PREROUTING sing sadurunge nat Nanging! mentahan dan mangle. Mangle bisa nindakake apa wae sing bisa ditindakake INPUT, supaya sampeyan bisa tetep mlebu menyang antarmuka umum supaya ora tekan jaringan docker kanthi nggawe aturan kanggo antarmuka pub kayata: iptables -t mangle -A PREROUTING -i eth0 -p tcp --dport 9443 -j TERIMA iptables -t mangle -A PREROUTING -i eth0 -p tcp --dport 81 -j TERIMA # Supaya sampeyan ora ngunci dhewe saka ssh: iptables -t mangle -A PREROUTING -i eth0 -p tcp --dport 22 -j TERIMA Banjur nyelehake tcp liyane sawise sampeyan nampa ing antarmuka pub (aja lali udp): iptables -t mangle -A PREROUTING -i eth0 -p tcp -j DROP Kanggo referensi kaya pandhuan, aturan sing padha karo INPUT bakal katon kaya: iptables -A INPUT -i eth0 -p tcp --dport 22 -j TERIMA assuming jeneng antarmuka umum iku eth0 mesthi. Ganti aturan yen perlu :) Alternatif yaiku apa sing disaranake hypgn0sis kanthi nggunakake chain DOCKER-USER. Nanging sing bakal kurang efisien lan paket isih tekan jaringan (kalebu FORWARD nampa). Uga ufw lan firewalld bakal ngganggu aturan iptables kajaba sampeyan mateni utawa instal.