Jump to content

Скрипты OnConnect, OnDisconnect и 3 канала


Recommended Posts

Доброго времени суток!

 

Есть роутер с FreeBSD и 3 каналами в интернет. На нем вертется старгазер.

Задача:

Нужно средства ipfw fwd раскидывать юзеров по каналам, т.е. первый подключился - ушел на первый канал, второй - на второй, третий - на третий, четвертый - снова на первый, пятый - на второй и т.д.

 

Как такое реализовать?

 

Понимаю, что нужно писать скрипт с условиями взависмости от ID, но как именно пописать это все пока не догадался.

Link to post
Share on other sites

Не id, а ip или логин. ID меняется самим СТГ периодически.

Посмотрите в сторону скрипта OnConnect. Его примеров тут масса.

По аналогии с ним попробуйте.

if [ $trf = 'b2048' ]
then
${fwcmd} table 18 add ${ip}
${fwcmd} add `expr $id '*' 10 + 11000` pipe 20400 all from table\(49\) to $ip
${fwcmd} add `expr $id '*' 10 + 11001` pipe 20410 all from $ip to table\(49\)
echo "C `date +%Y.%m.%d-%H.%M.%S``arp $ip` $cash" >> /var/stargazer/users/$login/connect.log
   exit 1

Link to post
Share on other sites

Вы немножко не поняли. Как раз по ID. Это даже плюс, что он меняется.

Т.е. если ID=1 - форвардим юзера в первый канал.

ID=2 - форвардим юзера во второй канал

ID=3 - фовардим юзера в третий

ID=4 - форвардим опять в первый

ID=5 - во второй и т.д.

Link to post
Share on other sites

Не id, а ip или логин. ID меняется самим СТГ периодически.

Посмотрите в сторону скрипта OnConnect. Его примеров тут масса.

По аналогии с ним попробуйте.

if [ $trf = 'b2048' ]
then
${fwcmd} table 18 add ${ip}
${fwcmd} add `expr $id '*' 10 + 11000` pipe 20400 all from table\(49\) to $ip
${fwcmd} add `expr $id '*' 10 + 11001` pipe 20410 all from $ip to table\(49\)
echo "C `date +%Y.%m.%d-%H.%M.%S``arp $ip` $cash" >> /var/stargazer/users/$login/connect.log
   exit 1

В процессе работы не меняется.

Link to post
Share on other sites

Сделал вот так как здесь описал, но сомнения гложат. :D

Выложите пожалуйста образец OnConnect и OnDisconnect для IPFW NAT, на основе таблиц. И кусочек скрипта фаерволла, относящегося к этому вопросу. Для самопроверки.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...