Sie verwechseln zwei Konzepte. Iptables übernimmt die Zugriffskontrolle für Ihr Netzwerk. Wenn Sie Eingangsdatenverkehr mit einem Ziel von TCP-Port 8008 akzeptieren, bedeutet dies nur, dass Sie das Internet Datenverkehr an diesen Port senden lassen. Es hat keine Auswirkung darauf, was, wenn überhaupt, am Port lauscht.
Um einen Port abzuhören, benötigen Sie ein Programm, das dafür eingerichtet ist. In Ihrem ursprünglichen Fall tomcat
war das Programm. Sie haben es angehalten, also lauscht jetzt nichts mehr an diesem Port. Um es wieder als Listener zu öffnen, müssen Sie tomcat
starten , oder jedes andere gewünschte Programm, um diesen Port abzuhören. Welches Programm Sie zum Abhören an diesem Port auswählen, hängt vollständig davon ab, welchen Dienst Sie an diesem Port bereitstellen möchten.
Die iptables-Befehle haben keinen Einfluss darauf, ob Ihr Programm zuhört oder nicht, es beeinflusst nur, ob Datenverkehr aus dem Internet mit diesem Programm kommunizieren darf oder nicht.
Wenn Sie nur einen Netzwerkport öffnen wollen, der alles ausgibt, was an ihn gesendet wird, ist das gewünschte Programm netcat
. Der Befehl
nc -l -p 8080
Dies veranlasst netcat, auf Port 8080 zu lauschen und alles, was an diesen Port gesendet wird, an die Standardausgabe auszugeben. Sie können seine Ausgabe in eine Datei umleiten, wenn Sie die an diesen Port gesendeten Daten speichern möchten. Wenn Sie etwas Anspruchsvolleres als einen Rohdaten-Dump wünschen, müssen Sie feststellen, welche spezifischen Programme Ihre Daten verarbeiten können, und stattdessen eines davon starten.
Du öffnest keinen Port. Sie führen ein Programm aus, und das Programm wartet auf Verbindungen an einem Port. Sie müssen also sicherstellen, dass keine anderen Programme Port 8080 abhören, dann müssen Sie Ihr Programm so konfigurieren, dass es Port 8080 abhört, und dann müssen Sie Ihr Programm ausführen.