Come posso configurare iptables
su una macchina DMZ per inoltrare la porta 12345 a un altro computer collegato allo stesso router? È iptables
lo strumento sbagliato per questo lavoro?
Ho un server di casa nella DMZ del mio router, che ha ospitato un servizio sulla porta 12345. Ho spostato quel servizio sulla porta 12345 di una macchina più potente nella mia rete domestica e sono stato in esecuzione ssh -fNR 12345:localhost:12345 <home-server>
ad ogni avvio. Il servizio esegue un protocollo personalizzato, ovvero non riesco a utilizzare un proxy HTTP.
Le soluzioni che ho trovato tendono ad assumere che il computer in esecuzione iptables
sia il router (due interfacce, ecc.). (es: https://serverfault.com/a/140626/15756 , https://www.digitalocean.com/community/tutorials/how-to-forward-ports-through-a-linux-gateway-with-iptables , eccetera)
Comandi provati da vari tutorial:
iptables -A FORWARD -p tcp -d 192.168.1.5 --dport 12345 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 12345 -j DNAT --to 192.168.1.5:12345
- quanto sopra anche w /
iptables -t nat -A POSTROUTING -j MASQUERADE
- quanto sopra sopra w /
iptables -A FORWARD -p tcp -d 192.168.1.5 --dport 12345 -j ACCEPT