Co dokładnie robi -A WEJŚCIE -j ODRZUCAJ - odrzuć z icmp-host-zabronioną linią Iptables?

35

Czytałem dokumentację redhat iptables, ale nie mogę zrozumieć, co robią następujące linie:

... -j REJECT **--reject-with icmp-host-prohibited**   
... -j REJECT **--reject-with icmp-host-prohibited** 
David
źródło

Odpowiedzi:

37

REJECTCel odrzuca paczkę. Jeśli nie określisz, z którym komunikatem ICMP chcesz odrzucić, serwer domyślnie odeśle port ICMP nieosiągalny (typ 3, kod 3).

--reject-withmodyfikuje to zachowanie, aby wysłać określoną wiadomość ICMP z powrotem do hosta źródłowego. Informacje na temat --reject-withdostępnych wiadomości o odrzuceniu można znaleźć w man iptables:

ODRZUCAĆ

Służy do wysyłania z powrotem pakietu błędów w odpowiedzi na dopasowany pakiet: w przeciwnym razie jest to DROP, więc jest to TARGET kończący, kończący przejście do reguły. Ten cel jest poprawny tylko w łańcuchach INPUT, FORWARD i OUTPUT oraz w łańcuchach zdefiniowanych przez użytkownika, które są wywoływane tylko z tych łańcuchów. Poniższa opcja kontroluje charakter zwróconego pakietu błędów:

--reject-with type

Podany typ może być:

  • icmp-net-unreachable
  • icmp-host-unreachable
  • icmp-port-unreachable
  • icmp-proto-unreachable
  • icmp-net-zabronione
  • icmp-host-zabroniony lub
  • icmp-admin-zabronione (*)

które zwracają odpowiedni komunikat o błędzie ICMP (domyślnie port nieosiągalny). Opcji tcp-reset można używać w regułach, które pasują tylko do protokołu TCP: powoduje to odesłanie pakietu TCP RST. Jest to przydatne przede wszystkim do blokowania sond ident (113 / tcp), które często występują podczas wysyłania poczty do hostów z uszkodzoną pocztą (które w przeciwnym razie nie zaakceptują twojej poczty).

(*) Użycie icmp-admin-zabronione w jądrach, które go nie obsługują spowoduje zwykłe DROP zamiast REJECT

Chris Down
źródło