Кому нужен был рабочий рецепт с ipset:
Вот мой вариант работы через ipset:
На бордере есть четыре списка ipset - dropnets, dropnetsrunning, tofilternets, tofilternetsrunning
Для блокирования запрещенных ip работает такое правило:
iptables -A FORWARD -m set --match-set dropnetsrunning dst -j DROP
Для перенаправления трафика на сторонний сервер с nfqfilter используется Policy-Routing:
iptables -t mangle -A PREROUTING ! -s 1.2.3.4/32 -m set --match-set tofilternetsrunning dst -j MARK --set-mark 3
ip route add default via 10.10.10.10 table 3
ip rule add fwmark 3 table 3
На сервере с nfqfilter трафик nat-ится, 1.2.3.4 - это внешний интерфейс, 10.10.10.10 - внутренний интерфейс.
Для обновления списков ipset взял за основу скрипт от max1976, выбросил лишнее, и вот что получилось: