Привет всем.[Вводная часть]
Есть CentOS 5.3 с OpenVPN. Клиенты получают адреса динамически. Хочется вести acl в виде:
RDP (разрешить tcp-соединения на RDP-порт, ip-адрес z): ip-адрес1, ip-адрес2, ...
site1 (разрешить tcp-соединения на порт x, ip-адрес y): ip-адрес3, ip-адрес4, ...
и т.д.
Первое решение: создать в цепочке FORWARD правила типа:
-p tcp --dport 3389 --dst z -j ACL_RDP
-p tcp --dport x --dst y -j ACL_SITE1
и динамически добавлять/удалять ip-адреса в цепочки ACL_*
Но imho это не совсем эстетично, существуют проблемы синхронизации правил в /etc/sysconfig/iptables-save и в ядре (netfilter): добавили вручную правило в /etc/sysconfig/iptables-save, загрузили (iptables-restore), все ACL_* очистились, клиентам нужно переконекчиваться, сохранили правила из netfilter в /etc/sysconfig/iptables-save (iptables-save), теперь правила в ACL_* будут постоянными (запишутся на диск). Вообщем, выглядит хрупким и чревато сложностями.
[Основная часть]
Хотелось бы иметь какие-то файлы в /proc (RDP.txt, site1.txt), куда скриптами добавлять/удалять ip-адреса, а в iptables будут неизменные правила типа
-p tcp --dport 3389 --dst z --проверить_в_файле RDP.txt -j ACCEPT
-p tcp --dport x --dst y --проверить_в_файле site1.txt -j ACCEPT
Вроде пакет ipset это делает, но в CentOS 5.3 его нет, а патчить пакеты из дистибутива не хочется (imho некошерно). Может кто знает аналогичные модули iptables (полдня провел в гугле, не смог ничего найти) или аналогично красивое решение для изначальной задачи (вести динамические acl с помощью iptables)?