Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование *NIX систем > отловить на маршрутизаторе обращение к сет. адресу


Автор: En_t_end 2.5.2008, 06:48
Slackware 10.2 2.4.31. Настроена как маршрутизатор через iptables.
Как сделать так чтобы по обращению к маршрутизатору для получения сервисов от некоторого сетевого адреса инициировался некоторый скрипт?

Автор: MAKCim 2.5.2008, 09:50
Цитата(En_t_end @  2.5.2008,  06:48 Найти цитируемый пост)
Slackware 10.2 2.4.31. Настроена как маршрутизатор через iptables.
Как сделать так чтобы по обращению к маршрутизатору для получения сервисов от некоторого сетевого адреса инициировался некоторый скрипт? 

боюсь, только через ключ --match в iptables и написание модуля ядра
в самом модуле через call_usermodhelper() запускать процесс, в контексте которого будет выполняться скрипт

Добавлено через 4 минуты и 18 секунд
http://www.netfilter.org/documentation/HOWTO//netfilter-hacking-HOWTO-4.html

Автор: En_t_end 2.5.2008, 18:04
MAKCim
спасибо

Добавлено через 4 минуты и 38 секунд
А если упростить задачу. Запускать скрипт по любому действию маршрутизатора(всмысле маршрутизация пакетов). 

Автор: MAKCim 2.5.2008, 20:00
Цитата(En_t_end @  2.5.2008,  18:04 Найти цитируемый пост)
А если упростить задачу. Запускать скрипт по любому действию маршрутизатора(всмысле маршрутизация пакетов).  

без разницы
iptables по-умолчанию определяет 4 типа TARGET: ACCEPT, DROP, QUEUE, RETURN
т. е для того, чтобы иметь возможность запускать внешнее приложение необходимо реализоваывать свой TARGET

Автор: bilbobagginz 2.5.2008, 23:54
Цитата(En_t_end @  2.5.2008,  18:04 Найти цитируемый пост)
А если упростить задачу.

думаю тебе лучше делать это не посредством iptables, a посредством netcat или nmap.
почитай о port-knocking, я так понимаю ты хочешь именно это реализовать.
если кровь из носу - через iptables, то пиши модуль.
посмотри на сл. ссылки:
http://jengelh.medozas.de/documents/Netfilter_Modules.pdf
и вот эти примеры:
git://dev.computergmbh.de/xtables-addons


иначе, может быть такой расклад: 
ай-питэйблс бежит, и кто-то просто стучит тебе на какой-то порт.
твой компутер назапускает этих скриптов и даже если у тебя будет в скрипте проверка на это, всё равно ресурсы аллоцированные на несколько еще не успевших побегать процессов возможно перегрузят систему.


Автор: En_t_end 3.5.2008, 06:58
Цитата(bilbobagginz @  3.5.2008,  03:54 Найти цитируемый пост)
если кровь из носу - через iptables

не кровь из носу, просто на iptables все уже работает smile

Цитата(bilbobagginz @  3.5.2008,  03:54 Найти цитируемый пост)
иначе, может быть такой расклад: 
ай-питэйблс бежит, и кто-то просто стучит тебе на какой-то порт.
твой компутер назапускает этих скриптов и даже если у тебя будет в скрипте проверка на это, всё равно ресурсы аллоцированные на несколько еще не успевших побегать процессов возможно перегрузят систему.

Пока не критично, но задумаюсь. Спасибо.

Автор: MAKCim 3.5.2008, 09:06
Цитата(bilbobagginz @  2.5.2008,  23:54 Найти цитируемый пост)
твой компутер назапускает этих скриптов и даже если у тебя будет в скрипте проверка на это, всё равно ресурсы аллоцированные на несколько еще не успевших побегать процессов возможно перегрузят систему.

решается созданием нового пользователя и установкой лимита количества процессов для него равным 1
также можно ограничить количество запусков скрипта из модуля, реализующего TARGET для iptables (лучший вариант)

Автор: bilbobagginz 3.5.2008, 22:32
Цитата(MAKCim @  3.5.2008,  09:06 Найти цитируемый пост)
также можно ограничить количество запусков скрипта из модуля

мне вообще как-то боязно какие-то скривпты запускать из модуля... чур их.
лучше уже свой модуль бинарненький забабахать.


Автор: MAKCim 4.5.2008, 09:37
Цитата(bilbobagginz @  3.5.2008,  22:32 Найти цитируемый пост)
мне вообще как-то боязно какие-то скривпты запускать из модуля... чур их.

все абсолютно безопасно
из ядра создается новый процесс, в контексте которого вызывается kernel_execve() для формирования линейного адресного пространства и отображения исполняемого файла (библиотеки)
есть стандартный интерфейс ядра, основанный на процессе ядра khelper и вызове call_usermodhelper() с указанием стандартных параметров (путь к программе, параметры командной строки, переменные окружения)

Добавлено через 1 минуту и 19 секунд
Цитата(bilbobagginz @  3.5.2008,  22:32 Найти цитируемый пост)
лучше уже свой модуль бинарненький забабахать.

для взаимодействия с iptables? как?

Автор: bilbobagginz 4.5.2008, 12:25
Цитата(MAKCim @  4.5.2008,  09:37 Найти цитируемый пост)
для взаимодействия с iptables? как? 

если не ошибаюсь xtables ссылки приводят примеры кастомизированных таргетов.
я понял что человеку надо реализовать port-knocking. Это можно без написания модуля, на основе уже готовых компонентов.


Автор: MAKCim 4.5.2008, 20:52
Цитата(bilbobagginz @  4.5.2008,  12:25 Найти цитируемый пост)
если не ошибаюсь xtables ссылки приводят примеры кастомизированных таргетов.

не гитовскую ссылку можно?

Автор: MAKCim 5.5.2008, 13:02
Цитата(bilbobagginz @  4.5.2008,  12:25 Найти цитируемый пост)
если не ошибаюсь xtables ссылки приводят примеры кастомизированных таргетов.

не нашел информации о них
требую ссылки!  smile 

Автор: bilbobagginz 5.5.2008, 14:30
качай гит. 

Автор: En_t_end 5.5.2008, 17:44
bilbobagginz
Цитата(bilbobagginz @  5.5.2008,  18:30 Найти цитируемый пост)
качай гит. 

Странно... я зашел на главную страницу и уже оттуда перешел к xtables, мне не понадобился клиент для репозитория.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)