OVH Community, votre nouvel espace communautaire.

iptables et bit DF (don't fragment)


webnet
31/12/2014, 12h49
Merci guigui.
Je n'ai pas testé ta solution mais j'ai trouvé la solution entre temps :
Pour savoir si le flag DF est présent : iptables ... -m u32 --u32 "3&0x40>>6=1" ...
Et si non présent : iptables ... -m u32 --u32 "3&0x40>>6=0" ...

guiguiabloc
31/12/2014, 12h32
Citation Envoyé par webnet
Bonjour,
Je cherche la règle iptables qui me permettrait de vérifier que le bit DF est bien présent.

J'ai besoin d'autoriser ce genre de connexion :
SRC=* DST=* LEN=* TOS=0x00 PREC=0x00 TTL=* ID=* DF PROTO=TCP SPT=* DPT=80 WINDOW=8192 RES=0x00 SYN URGP=0

J'ai déjà ça pour le protocole (tcp), le port (80), le window (8192 => 0x2000)...
iptables -A INPUT -i eth0 -p tcp --dport 80 --syn -m u32 --u32 "6&0xFF=0x6 && 0>>22&0x3C@12&0xFFFF=0x2000" -j ACCEPT

Mais je ne trouve rien pour vérifier que la connexion contient bien le bit DF... Merci d'avance.
iptables -A INPUT ! -f -j DROP

Du MAN:
Code:
[!] -f, --fragment
              This means that the rule only refers to second and further frag-
              ments of fragmented packets.  Since there is no way to tell  the
              source  or  destination  ports  of such a packet (or ICMP type),
              such a packet will not match any rules which specify them.  When
              the  "!"  argument  precedes  the  "-f" flag, the rule will only
              match head fragments, or unfragmented packets.

webnet
30/12/2014, 17h37
Bonjour,
Je cherche la règle iptables qui me permettrait de vérifier que le bit DF est bien présent.

J'ai besoin d'autoriser ce genre de connexion :
SRC=* DST=* LEN=* TOS=0x00 PREC=0x00 TTL=* ID=* DF PROTO=TCP SPT=* DPT=80 WINDOW=8192 RES=0x00 SYN URGP=0

J'ai déjà ça pour le protocole (tcp), le port (80), le window (8192 => 0x2000)...
iptables -A INPUT -i eth0 -p tcp --dport 80 --syn -m u32 --u32 "6&0xFF=0x6 && 0>>22&0x3C@12&0xFFFF=0x2000" -j ACCEPT

Mais je ne trouve rien pour vérifier que la connexion contient bien le bit DF... Merci d'avance.