GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Iptables:-p udp --state ESTABLISHED

Lösung 1:

Also erinnert sich iptables grundsätzlich an die Portnummer, die für das ausgehende Paket verwendet wurde (was könnte es sich sonst noch für ein UDP-Paket merken?),

Ich bin mir ziemlich sicher, dass für UDP die Quell- und Zielports und -adressen gespeichert sind.

Wenn Sie die Zustandstabellen einsehen möchten, installieren Sie conntrack und/oder netstat-nat.

(Was würde passieren, wenn ich versehentlich versuchen würde, einen Dienst auf diesem Port innerhalb des Zeitrahmens zu starten - würde dieser Versuch abgelehnt/blockiert werden?)

Da Sie OUTPUT und INPUT verwenden, sprechen Sie von lokalen Diensten. Der Port wird bereits verwendet. Ich glaube nicht, dass Ihr System Ihnen erlaubt, einen anderen Dienst zu starten, da bereits etwas auf diesem Port lauscht. Ich denke, Sie könnten den ersten Dienst stoppen und einen anderen starten, wenn Sie es wirklich wollten, in diesem Fall würde die Antwort wahrscheinlich zu Ihrem Dienst gelangen. Was der Dienst mit dem Paket macht, hängt davon ab, was der Inhalt des Pakets ist und um welchen Dienst es sich handelt.

Lösung 2:

NB:Diese Antwort wurde bearbeitet.

Ungeachtet dessen, was die Handbuchseiten sagen, ESTABLISHED scheint "stateful" zu bedeuten. Für UDP bedeutet das einfach (wie Sie vorschlagen), sich jedes ausgehende UDP-Paket (das Tupel "src ip, src port dst ip, dst port") für eine Weile zu merken und seine Antworten zu erkennen.

FWIW, meine normalen Regeln für den DNS-Verkehr würden ungefähr so ​​​​aussehen:

# permit any outbound DNS request (NB: TCP required too)
iptables -A OUTPUT -p udp --sport 1024:65535 --dport 53  -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1024:65535 --dport 53  -j ACCEPT

# accept any packet that's a response to anything we sent
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

d.h. den Verkehr auf der OUTPUT steuern Kette, und lassen Sie dann die iptables Zustandsmodule erledigen alles andere auf INPUT Kette.

Siehe auch diese verwandte Frage.


Linux
  1. Leitfaden zum Öffnen von Ports in CentOS

  2. Leitfaden zum Öffnen von Ports in CentOS

  3. Dienstprogramme zur Paketvernichtung neben iptables?

  4. So öffnen Sie Port 2195 in iptables CentOS 6 zum Aktivieren des APNS

  5. AWS VPC + IPtables + NAT:Portweiterleitung funktioniert nicht

Warum erfordert NTP einen bidirektionalen Firewall-Zugriff auf UDP-Port 123?

scp ssh:Verbindung zu Host 10.0.0.109 herstellen Port 22:Keine Verbindung zum Host verloren

iptables leiten lokale Verbindungen zum entfernten System/Port um

FTP mit IPTables zulassen

Wenn ich iptables so eingestellt habe, dass ein Port umgeleitet wird, wie mache ich das rückgängig?

Wie protokolliere ich die IP-Adressen, die versuchen, eine Verbindung zu einem Port herzustellen?