Se si desidera consentire intervalli arbitrari piuttosto che intere sottoreti, è possibile utilizzare il modulo iptables 'iprange':
iptables -P INPUT DROP
iptables -A INPUT -m iprange --src-range 192.168.1.30-50 -j ACCEPT
ad esempio, consentirà il traffico proveniente da tutte le macchine con indirizzo tra 192.168.1.30 e 192.168.1.50.
Se si desidera consentire il traffico in entrata e in uscita verso lo stesso intervallo di IP, suggerirei di creare una catena specifica che consenta tali IP e targetizzi tutti i target di input e output:
--definisci i criteri predefiniti per eliminare tutto:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
--creare la nuova catena:
iptables -N allowed_ips
--se la fonte fa parte dell'intervallo consentito, accetta
iptables -A allowed_ips -m iprange --src-range 192.168.1.30-50 -j ACCEPT
- In caso contrario, tornare alla catena del chiamante per continuare l'elaborazione
iptables -A allowed_ips -j RETURN
- fai passare tutto il traffico in entrata e in uscita dalla macchina attraverso la nostra nuova catena
iptables -A INPUT -j allowed_ips
iptables -A OUTPUT -j allowed_ips
e basta! ovviamente potresti aver bisogno di regole adizionali, come quella che consente tutto il traffico da / verso l'interfaccia lo, ecc.