кстати, по поводу ipset-ов, это штука не такая простая как кажется. если на сервере есть nat, то уже установившиеся сессии будут работать
Это никак не связано с NAT - он не влияет на таблицу filter. Если первыми идут правила с set blocked_users -j DROP все работает как нужно