Существует ли Ruby API для управления цепочками фильтрации пакетов в виде iptables? - PullRequest
5 голосов
/ 21 января 2011

Я рухнул на домашней странице netfilter / iptables, а также умолял Google, но пока не повезло.

У меня есть приложение Rails, которое должно контролировать фильтрацию пакетов для своего хоста Linux. Это можно сделать, просто выгрузив правила в / etc / sysconfig / iptables и, конечно же, загрузив скрипт запуска iptables. Но было бы намного приятнее, если бы он мог без проблем выполнять вызовы через API.

Требования приложения на самом деле очень и очень просты; ему нужно только добавить и удалить правила ПРИНЯТЬ для данного исходного IP-адреса к указанному порту TCP на сервере, чтобы контролировать доступ к этой службе.

Я нашел ссылки на проект ruby-iptables, но он, похоже, несколько лет назад ушел в прошлое.

Если мне придется прибегнуть к необработанным вызовам getsocketopt () и т. П., Я просто использую метод текстового файла и перезапуска, который оскорбит мой датчик гладкости, но заставит моего клиента улыбаться, потому что ему нравится работающее программное обеспечение. лучше, чем действительно элегантное программное обеспечение, которое будет работать очень скоро.

1 Ответ

1 голос
/ 09 апреля 2011

Если вы ищете "ruby netfilter", это еще не все. NetFilter (http://netfilter.org/) - базовая структура, стоящая за iptables.

http://rubyipq.rubyforge.org/ (формирование трафика) https://github.com/johnl/netfilter.rb (DSL) http://rubyforge.org/projects/iptcext/ (интерфейс библиотеки IPTC)

Последнее больше всего похоже на то, что вы хотите, но пока есть код, похоже, нет реальной версии.

...