The simplest way would be to have your ranges on their own interfaces.
You could then do it like:
Code:
iptables -I FORWARD -i eth0 -o eth1 \
-m iprange --src-range 192.168.0.100-192.168.0.200 \
-m iprange --dst-range 192.168.1.50-192.168.1.80 -j DROP
(Example assumes interface eth0 is on 192.168.0.0 while eth1 is on 192.168.1.0)
But if you're saying that all the clients are connected to the same interface then you'd need to do something like
acid_kewpie suggested. A quick work-around could be to use INPUT rules on the destination hosts themselves (if they are GNU/Linux), like:
Code:
iptables -I INPUT -m iprange \
--src-range 192.168.0.10-192.168.0.30 -j DROP