2016-10-24 6 views
0

В настоящее время я пытаюсь ограничить трафик ARP с помощью nftables. Я использую следующие правила:Предел скорости для запросов ARP с использованием nftables

table arp filter { 
     chain input { 
       limit rate 15/second accept # handle 3 
     } 

     chain output { 
     } 
} 

Однако они не оказывают никакого эффекта. Что я делаю неправильно? Я также попытался удалить все пакеты, не соответствующие первому правилу.

table arp filter { 
     chain input { 
       limit rate 10/second accept # handle 3 
       drop # handle 4 
     } 

     chain output { 
     } 
} 

EDIT: Я добавил следующие строки в цепях:

type filter hook input priority 0; policy accept; 

Это оставляет меня со следующей конфигурацией:

table arp filter { 
     chain input { 
       type filter hook input priority 0; policy accept; 
       limit rate 10/second accept # handle 3 
       drop # handle 4 
     } 

     chain output { 
       type filter hook output priority 0; policy accept; 
     } 
} 

Это прекрасно работает, но почему?

+0

Пожалуйста, переведите свое обновление на английский: http://meta.stackoverflow.com/questions/297673/how-do-i-deal-with-non-english -поперечник –

ответ

0

Я считаю, что это связано с тем, что в цепочках nftables не связаны автоматически со столом, поэтому мы должны явно определить крючок для активации цепочки. Обратите внимание, что в каждом семействе адресов есть другой набор крючков: https://www.mankier.com/8/nft#Address_Families