iptables
fonctionne sur la couche 3 de l'OSI, de sorte qu'il ne sait absolument rien sur les adresses MAC.
En fait, il possède un module mac , qui ne contient cependant que le filtre suivant --mac-source
: cela est dû au fait que les paquets Ethernet qui arrivent portent l’adresse MAC de leur source. Cependant, une telle adresse MAC n’existe pas pour les paquets entrant en Wi-Fi et n’est pas pertinente pour les paquets sortants. La référence ci-dessus indique:
Notez que cela n'a de sens que pour les paquets provenant d'un périphérique Ethernet et entrant dans les chaînes PREROUTING, FORWARD ou INPUT.
En ce qui concerne ebtables
, tout d’abord, il ne peut être utilisé qu’avec les trames Ethernet, car les trames wifi manquent une adresse MAC. Deuxièmement, les adresses source MAC, comme je l’ai dit plus haut, n’existent pas dans les paquets IP.
Si vous vouliez contrôler les paquets ARP, vous découvririez rapidement qu’il existe une instruction
arp-mac-dst [!] adresse [/ masque]
La spécification de l'adresse de destination MAC (R) ARP
mais, encore une fois, cela est becausethe protocole ARP ne pas utiliser les adresses MAC, contrairement au protocole IP.
ebtables -t nat -A PREROUTING -p arp --arp-mac-dst bc:5f:f4:aa:bb:cc -j mark --mark-set 0x2003
etebtables -t nat -L --Lv
ne montre aucun match ..iptables --mac-source
fonctionnent bien avec elles. La page de manuel devrait probablement