Je suis désireux d'utiliser addrtype
en combinaison avec -src
en règle générale dans une de ma chaîne de filtres comme pour déposer quelques ips de bogon:
-A INPUT -p tcp --dport 80 -m addrtype --src-type UNICAST ! -s 127.0.0.0/8 -j WEB
La page de manuel dit ce qui suit
addrtype
Ce module fait correspondre les paquets en fonction de leur type d'adresse. Les types d'adresses sont utilisés dans la pile de mise en réseau du noyau et classent les adresses en différents groupes. La définition exacte de ce groupe dépend du protocole spécifique de la couche trois.Les types d'adresse suivants sont possibles:
- UNSPEC une adresse non spécifiée (ie 0.0.0.0)
- UNICAST une adresse unicast
- LOCAL une adresse locale
- DIFFUSER une adresse de diffusion
- ANYCAST un paquet anycast
- MULTICAST une adresse multicast
- BLACKHOLE une adresse blackhole
- UNREACHABLE une adresse inaccessible
- INTERDIT une adresse interdite
- JET FIXME
- NAT FIXME
- XRESOLVE
On ne sait pas quelles sont les définitions exactes et dit que cela dépend du protocole spécifique de la couche 3. C'est ce que je pense:
- UNICAST (! BROADCAST,! MULTICAST,! ANYCAST)
- LOCAL (
127.0.0.0/8
) - DIFFUSION (
*.*.*.255
) - ANYCAST (
*.*.*.*
) - MULTIDIFFUSION (
224.0.0.0/4
)
Quelqu'un a-t-il une idée claire de ce que cela signifie et comment il est mis en œuvre par iptables (par exemple, comment il sait où diable est BLACKHOLE)?
LOCAL
n'est certainement pas127.0.0.0/8
. J'ai découvert à la dure :( ... apparemment, une adresse locale fait référence à toute adresse affectée à une interface.127.0.0.0/8
est réservé spécifiquement au bouclage, mais LOCAL n'est pas limité à cette plage uniquement.Réponses:
Je pense que cela dépend de vous pour que le noyau sache quel est le type d'adresse blackhole.
Du fichier xt_addrtype.h dans le code source iptables, vous pouvez voir:
Et dans
rtnetlink.h
, vous verrez la même définition:Vous pouvez voir
iptables
utiliser la même définition de type d'adresse avec la pile de mise en réseau TCP du noyau.Puis de
man ip
:Ainsi, lorsque vous définissez une route vers un réseau par
ip
commande et la marquez comme une route de trou noir, le noyau fait maintenant ce type de trou noir d'adresse réseau:la source
blackhole
type d'adresse, pas tous les types d'adresse. Je montre que l'iptables
addrtype
extension utilise la même définition addrtype avec le noyau. Et la définition du type d'adresse du noyau peut voir dansman ip
.ip route list type local
mais tous les types produisent une chaîne vide à l'exception de la monodiffusion qui donnedefault via 192.168.1.1 dev eth0 proto static metric 1024 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.2
. Pouvez-vous fournir plus d'informations sur la façon de les interpréter? Merci.ip route add blackhole
par rapport au pare-feu pour bloquer ce sous-réseau particulier? Existe-t-il une différence fonctionnelle / de performance ou une manière différente d'atteindre le même objectif?