La cible REJECT
fonctionne à la base comme la cible DROP, mais elle renvoie un
message d'erreur à l'hôte qui a envoyé le paquet. REJECT n'est valide que dans les
chaînes INPUT
, FORWARD
et OUTPUT
ou leurs sous-chaînes. Après tout, ce
sont les seules chaînes dans lesquelles il soit sensé de placer
cette cible. Notez que toutes les chaînes qui utilisent
REJECT ne peuvent
être invoquées que par INPUT
,
FORWARD
, et OUTPUT
, sinon elles ne fonctionnent pas. Il n'y
a qu'une option qui contrôle le fonctionnement de cette cible.
Tableau 11.14. Options de la cible REJECT
Option | --reject-with |
Exemple | iptables -A FORWARD -p TCP --dport 22 -j REJECT --reject-with tcp-reset |
Explication | Cette option indique à la cible
REJECT quelle réponse
envoyer à l'hôte qui a expédié le paquet qui a été rejeté. Quand
nous sommes en présence d'un paquet qui sélectionne une règle dans
laquelle nous avons spécifié cette cible, notre hôte envoie la
réponse associée, et le paquet est ensuite supprimé, comme pour la
cible DROP. Les types
suivants de rejet sont valides : icmp-net-unreachable , icmp-host-unreachable , icmp-port-unreachable , icmp-proto-unreachable , icmp-net-prohibited et icmp-host-prohibited . Le message d'erreur
par défaut expédie un port-unreachable à l'hôte. Tous
sont des messages d'erreur ICMP et
peuvent être paramétrés comme vous le voulez. Vous trouverez plus
d'information dans l'annexe Types ICMP. Enfin, il
existe une option supplémentaire appelée tcp-reset, qui peut être utilisée
seulement avec le protocole TCP. L'option tcp-reset qui indique le
REJECT envoie un
paquet TCP RST en réponse à l'hôte expéditeur. Les paquets TCP RST
sont utilisés pour clore les connexions TCP. Pour plus
d'information sur TCP RST voir la RFC 793 - Transmission Control
Protocol. Comme indiqué dans le manuel d'iptables, elle est principalement
utilisée pour bloquer les sondeurs d'identité. |
Note | |
---|---|
Fonctionne avec les noyaux Linux 2.3, 2.4, 2.5 et 2.6. |