Перейти до

Предложение по внесению изменений в мануал


Рекомендованные сообщения

Вместо

 

OnConnect

 

fwcmd="/sbin/ipfw"
int_if="xl0"

ip=$2
login=$1
id=$4

# id - уникальный целочисленный идентификатор пользователя
# принимает значений от 0 до максимального кол-ва пользователей

${fwcmd} add `expr $id '*' 10 + 29000` fwd 127.0.0.1,3128 tcp from $ip to any 80 via ${int_if}
${fwcmd} add `expr $id '*' 10 + 29001` allow ip from $ip to any via ${int_if}

echo "connect $login " >> /usr/local/stargazer/var/log/connect.log

 

 

OnDisconnect

fwcmd="/sbin/ipfw"

id=$4

${fwcmd} delete `expr $id '*' 20 + 29000`
${fwcmd} delete `expr $id '*' 20 + 29001`

echo "disconnect $1" >> /usr/local/stargazer/var/log/connect.log

 

Сделать таким образом

 

Добавить в основной скрипт фаервола вместо

# Здесь оставляем окно в нумерации для исполнения скриптов юзеров

 

следующий код:

${fwcmd} add fwd 127.0.0.1,3128 tcp from "table(1)" to any 80 via ${int_if}
${fwcmd} add allow ip from "table(1)" to any via ${int_if}

 

тогда OnConnect примет вид

IP=$2
CASH=$3

/sbin/ipfw table 1 add ${IP}

echo "C `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /usr/local/stargazer/users/$LOGIN/connect.log

 

а OnDisconnect примет вид

IP=$2
CASH=$3

/sbin/ipfw table 1 del ${IP}

echo "D `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /usr/local/stargazer/users/$LOGIN/connect.log

 

Это решит данное недоразумение:

БС5. Обнаружена жутко неприятная фича под ОС: FreeBSD.

При удалении/создании пользователя происходит перестроение индексов, что приводит к следующей фишке: т.к. во FreeBSD добавление/удаление правил фаервола основывается на UserID то это приводит к тому что после отключения тех юзеров которые были онлайн на момент создания/удаления юзера их разрешающие правила из фаервола не удаляются.

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...