Pletete si dva pojmy. Iptables se stará o řízení přístupu k vaší síti. Když přijmete vstupní provoz s cílem portu TCP 8008, znamená to, že necháte internet posílat provoz na tento port. Nemá to žádný vliv na to, co, pokud vůbec něco, na portu poslouchá.
Chcete-li poslouchat na portu, potřebujete k tomu nastavený program. Ve vašem původním případě tomcat
byl ten program. Zastavili jste to, takže teď na tomto portu nic neposlouchá. Chcete-li jej otevřít zpět jako posluchač, musíte spustit tomcat
, nebo jakýkoli jiný program, který chcete, poslouchat na tomto portu. Jaký program zvolíte k poslechu na tomto portu, zcela závisí na tom, jakou službu chcete na tomto portu poskytovat.
Příkazy iptables neovlivňují, zda váš program naslouchá, či nikoli, pouze ovlivňují, zda provoz z internetu může nebo nemůže hovořit s tímto programem.
Pokud chcete pouze otevřít síťový port, který ukládá vše, co je na něj odesláno, požadovaný program je netcat
. Příkaz
nc -l -p 8080
To způsobí, že netcat bude naslouchat na portu 8080 a ukládat vše, co je odesláno na tento port, na standardní výstup. Jeho výstup můžete přesměrovat do souboru, pokud chcete uložit data odeslaná na tento port. Pokud chcete něco sofistikovanějšího než výpis nezpracovaných dat, budete muset určit, které konkrétní programy jsou schopny zpracovat vaše data, a místo toho spustit jeden z nich.
Neotevíráte port. Spustíte program a program naslouchá připojení na portu. Musíte se tedy ujistit, že žádné jiné programy nenaslouchají portu 8080, potom musíte nakonfigurovat svůj program tak, aby naslouchal portu 8080, a poté musíte spustit svůj program.