URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 2022
[ Назад ]

Исходное сообщение
"Программный запрет доступа машин из сети к моему хосту"

Отправлено Sammy FR , 28-Авг-03 10:37 
Требуется написать программу, которая будет разрешать/запрещать доступ определенным хостам в сети к моему компьютеру. Программа должна быть GUI. Сейчас я делаю так - для каждого хоста, у которого есть запрет, вызывается ipchains с помощью execlp(). Далее пользователь во время выполнения программы может менять настройки (запрещать/разрешать). Вопрос - можно ли это реализовать по другому, есть ли какие-нибудь библиотеки, аналогичные ipchains, но подключаемые нормально (#include <...>)?

Заранее спасибо.


Содержание

Сообщения в этом обсуждении
"Программный запрет доступа машин из сети к моему хосту"
Отправлено Soldier , 28-Авг-03 11:26 
>Требуется написать программу, которая будет разрешать/запрещать доступ определенным хостам в сети к моему компьютеру. Программа должна быть GUI. Сейчас я делаю так - для каждого хоста, у которого есть запрет, вызывается ipchains с помощью execlp(). Далее пользователь во время выполнения программы может менять настройки (запрещать/разрешать). Вопрос - можно ли это реализовать по другому, есть ли какие-нибудь библиотеки, аналогичные ipchains, но подключаемые нормально (#include <...>)?
>
>Заранее спасибо.

Встречный вопрос. А зачем это реализовывать по другому (или на хрена козе баян)? Это же Linux, а не Windows. По-моему самый идеальный вариант это некий конфигурационный файл (который можно редактировать хоть vi) со спискам IP адресов + небольшая shell-программа, которая просто перебирает эти адреса и вызывает ipchains (iptables) с соответствующими параметрами.

А ipchains и iptables - они непосредственно с ядром работают и по моему глубокому убеждению, лезть туда прикладному программисту следует только в самом крайнем случае


"Программный запрет доступа машин из сети к моему хосту"
Отправлено Sammy FR , 28-Авг-03 15:29 
>Встречный вопрос. А зачем это реализовывать по другому (или на хрена козе
>баян)? Это же Linux, а не Windows. По-моему самый идеальный вариант
>это некий конфигурационный файл (который можно редактировать хоть vi) со спискам
>IP адресов + небольшая shell-программа, которая просто перебирает эти адреса и
>вызывает ipchains (iptables) с соответствующими параметрами.

Периодически выползает глюк - например в списке пять хостов, всем доступ запрещен. В результате программа вызывает пять раз ipchains. Но! Если после этого посмотреть список правил (ipchains -L), то их там будет всего три (два, ни одного). Конфигурационный файл читается правильно, вызов ipchains тоже происходит правильно (execlp("xterm", "xterm", "-e", "ipchains", <параметры ipchains>, NULL)). В чем здесь баг - я не знаю. Поэтому ищу другие варианты.


"Программный запрет доступа машин из сети к моему хосту"
Отправлено Michael , 28-Авг-03 17:53 
>Периодически выползает глюк - например в списке пять хостов, всем доступ запрещен. В результате программа вызывает пять раз ipchains. Но! Если после этого посмотреть список правил (ipchains -L), то их там будет всего три (два, ни одного). Конфигурационный файл читается правильно, вызов ipchains тоже происходит правильно (execlp("xterm", "xterm", "-e", "ipchains", <параметры ipchains>, NULL)). В чем здесь баг - я не знаю. Поэтому ищу другие варианты.

а еще можно генерить свой shell-скрипт со всеми нужными командами ipchains и запускать его...


"Программный запрет доступа машин из сети к моему хосту"
Отправлено Soldier , 29-Авг-03 08:10 
>Периодически выползает глюк - например в списке пять хостов, всем доступ запрещен. В результате программа вызывает пять раз ipchains. Но! Если после этого посмотреть список правил (ipchains -L), то их там будет всего три (два, ни одного). Конфигурационный файл читается правильно, вызов ipchains тоже происходит правильно (execlp("xterm", "xterm", "-e", "ipchains", <параметры ipchains>, NULL)). В чем здесь баг - я не знаю. Поэтому ищу другие варианты.

Скорее всего вы все таки что-то неправильно делаете - если в ipchains bug, то вам уже ничего не поможет :) Через shell это дело проверяли?

Да, и зачем ipchains вызывать через xterm, почему не вызвать сразу?