Warum werden Pakete abgelehnt, obwohl es eine Regel gibt, die sie alle vorab akzeptiert?

7

Endlich lese ich nur noch über Iptables. Ich bin etwas verwirrt, weil die Eingabekette aus der Filtertabelle (wie installiert, Fedora 17) folgendermaßen aussieht:

target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     udp  --  anywhere             224.0.0.251          state NEW udp dpt:mdns
REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited

Nach dem, was ich gelesen habe, sollte die dritte Regel einfach alles akzeptieren, aber dies ist nicht der Fall (ich muss iptables deaktivieren, um den Zugriff auf sshd oder einen https-Server zu ermöglichen). Alle anderen Ketten für alle anderen Tabellen sind Richtlinien ACCEPT ohne Regeln, mit Ausnahme des Filters FORWARD, der alles ablehnt.

Was macht ACCEPT wirklich?

iptables -v -L

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
36625   38M ACCEPT     all  --  any    any     anywhere             anywhere             state RELATED,ESTABLISHED
    0     0 ACCEPT     icmp --  any    any     anywhere             anywhere            
    1    60 ACCEPT     all  --  lo     any     anywhere             anywhere            
    0     0 ACCEPT     udp  --  any    any     anywhere             224.0.0.251          state NEW udp dpt:mdns
  534 73926 REJECT     all  --  any    any     anywhere             anywhere             reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 REJECT     all  --  any    any     anywhere             anywhere             reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 31484 packets, 3973K bytes)
 pkts bytes target     prot opt in     out     source               destination

Das bedeutet für mich also, dass die dritte Regel tatsächlich nur für die Loopback-Schnittstelle gilt? [ja]

Goldlöckchen
quelle
Das iptables -LFazit scheint hier zu sein, dass es nur das Potenzial hat, den Benutzer zu verwirren, indem wesentliche Informationen weggelassen werden und somit zu falschen Schlussfolgerungen führen. besser immer machen iptables -L -v.
Lumi

Antworten:

8

Das ACCEPTZiel ist ein Abschlussziel, mit dem Pakete über NetFilter übertragen werden können. Das REJECTist ein Abschluss targetd dass effektiv Paket nicht zulässt , erhalten durch und bewirkt , dass die ICMP - Antwort auf das Paket Absender gesendet werden. Die dritte Regel in Ihrem Beispiel sieht höchstwahrscheinlich so aus, wenn Sie die Tabellen mit dem Befehl 'iptables -v -L' auflisten:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  639  304K ACCEPT     all  --  any    any     anywhere             anywhere             state RELATED,ESTABLISHED
    0     0 ACCEPT     icmp --  any    any     anywhere             anywhere            
  101  7798 ACCEPT     all  --  lo     any     anywhere             anywhere            

In der Spalte inbefindet sich eine Schnittstelle, auf der die Regel übereinstimmt. Bei der dritten Regel handelt es sich um die loSchnittstelle, sodass diese Regel jeglichen Datenverkehr auf der loopbackSchnittstelle zulässt. Dies ist korrekt, da Sie sonst über TCPoder UDPan der localhostAdresse nicht auf lokale Hostdienste zugreifen können .

Serge
quelle