Número limite de pacotes recebidos por segundo para uma porta INPUT UDP [apenas por IP, não globalmente] [IPTables do Ubuntu]

1

Eu pesquisei e não consigo encontrar uma regra para limitar a contagem dos pacotes de entrada para uma porta INPUT UDP por segundo e por IP.

Eu preciso disso para todos os IPs que se conectam ao meu soquete , não para um específico .

Estou usando o iptables no Ubuntu 14.0.4 LTS amd64.

Estou familiarizado como o UDP funciona. No meu cenário, alguém pode criar um grande número de soquetes UDP usando portas diferentes.

Eu preciso apenas um soquete de um único IP pode se conectar à minha porta UDP.

Isso é possível com o iptables? Conheço o Netfilter e o C ++, posso fazer isso com isso?

    
por AssassiN 03.03.2016 / 15:05

1 resposta

1

Veja o que você pode fazer:

iptables -A INPUT -p udp -s 111.111.111.111 --dport 123 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT

Você precisa ter a extensão limit do iptables. O exemplo fornecido limita o máximo de 25 conexões por minuto. O limit-burst 100 indica que o limite / minuto será aplicado somente depois que o número total de conexões atingir o limite de burst.

Do manual:

-s, --source address[/mask][,...]
              Source specification. Address can be either a network name, a hostname, a network IP address (with  /mask),  or  a  plain  IP
              address.  Hostnames  will be resolved once only, before the rule is submitted to the kernel.  Please note that specifying any
              name to be resolved with a remote query such as DNS is a really bad idea.  The mask can be either an ipv4 network  mask  (for
              iptables) or a plain number, specifying the number of 1's at the left side of the network mask.  Thus, an iptables mask of 24
              is equivalent to 255.255.255.0.  A "!" argument before the address specification inverts the sense of the address.  The  flag
              --src  is an alias for this option.  Multiple addresses can be specified, but this will expand to multiple rules (when adding
              with -A), or will cause multiple rules to be deleted (with -D).
    
por 03.03.2016 / 16:09