Pourquoi les packages sont-ils rejetés même s'il y a une règle qui les accepte tous avant?

Je lis juste sur iptables, enfin. Je suis un peu confus parce que la string d'input de la table de filter (telle qu'installée, fedora 17), ressemble à ceci:

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 

D'après ce que j'ai lu, la troisième règle devrait simplement accepter n'importe quoi, mais ce n'est pas le cas (je dois désactiver iptables pour autoriser l'access à sshd ou à un server https). Toutes les autres strings pour toutes les autres tables sont la politique ACCEPT, sans règles, sauf le filter FORWARD qui REJETTE tout.

Alors qu'est-ce que ACCEPT fait vraiment?

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 

Donc, cela implique pour moi que cette troisième règle s'applique uniquement à l'interface de bouclage? [oui]

La cible ACCEPT est une cible de terminaison qui permet au package de passer à travers NetFilter. Le REJECT est un targetd de terminaison qui empêche efficacement le package de passer et provoque l'envoi de la réponse ICMP à l'expéditeur de packages. La troisième règle de votre exemple ressemble probablement à ceci si vous listz les tables avec la command 'iptables -v -L':

 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 

Dans la colonne il y a une interface sur laquelle la règle est appariée. Pour la troisième règle, il s'agit de l'interface lo , donc cette règle autorise tout trafic sur l'interface de loopback et cela est correct, sinon vous ne pourrez pas accéder à des services locaux sur TCP ou UDP à l'adresse localhost .