Se você deseja permitir intervalos arbitrários em vez de sub-redes inteiras, pode usar o módulo iptables 'iprange':
iptables -P INPUT DROP
iptables -A INPUT -m iprange --src-range 192.168.1.30-50 -j ACCEPT
por exemplo, permitirá o tráfego proveniente de todas as máquinas com endereços entre 192.168.1.30 e 192.168.1.50.
Se você deseja permitir o tráfego de entrada e saída no mesmo intervalo de IPs, sugiro que você crie uma cadeia específica que permita esses IPs e direcione todos os destinos de entrada e saída para ele:
--define as políticas padrão a serem eliminadas no everithing:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
- crie a nova cadeia:
iptables -N allowed_ips
- se a fonte fizer parte do intervalo permitido, aceite
iptables -A allowed_ips -m iprange --src-range 192.168.1.30-50 -j ACCEPT
- caso contrário, retorne à cadeia de chamadas para continuar processando
iptables -A allowed_ips -j RETURN
- faça todo o tráfego entrar e sair da máquina passar por nossa nova cadeia
iptables -A INPUT -j allowed_ips
iptables -A OUTPUT -j allowed_ips
e é isso! é claro que você pode precisar de regras adicionais, como uma que permita todo o tráfego da / para a interface lo, etc.