Jump to content
Калькуляторы

А подскажите, есть ли возможность на LISG реализовать такое:

 

Клиент пытается выйти в интернет, получает переадресацию на https сервер с авторизацией, после успешной авторизации открывался доступ в интернет.

Видел такое на базе cisco, понравилось :)

Share this post


Link to post
Share on other sites

Не удаётся собрать:

 

# iptables -V
iptables v1.4.8

# ./configure
Kernel version: 2.6.34
Iptables binary version: 1.4.8 (detected from /usr/sbin/iptables)
Searching for iptables-1.4.8 sources..
Found iptables sources at ../../iptables-1.4.8
Checking iptables sources version: 1.4.8 (ok)
Iptables module path: /usr/lib/xtables (from library)
Creating Makefile.. done.

Now run: 'make' and (if everything is fine) 'make install'

# make
echo "" > build.h
printf "/* Compilation date.\n * Written by Makefile (userspace) */\n#define _BUILD_DATE \"%s %s\"\n" `date +'%F %T'` > build.h
make -C /lib/modules/2.6.34/build M=/usr/local/src/lISG-0.11.3-alpha/kernel modules
make[1]: Entering directory `/usr/src/linux-2.6.34'
  CC [M]  /usr/local/src/lISG-0.11.3-alpha/kernel/isg_main.o
  LD [M]  /usr/local/src/lISG-0.11.3-alpha/kernel/ipt_ISG.o
  Building modules, stage 2.
  MODPOST 1 modules
  LD [M]  /usr/local/src/lISG-0.11.3-alpha/kernel/ipt_ISG.ko
make[1]: Leaving directory `/usr/src/linux-2.6.34'
gcc -O2 -Wall -Wunused -I/lib/modules/2.6.34/build/include -I../../iptables-1.4.8/include -DIPTABLES_VERSION=\"1.4.8\" -DNEWSTYLE -fPIC -o libipt_ISG_sh.o -c libipt_ISG.c
libipt_ISG.c:87: warning: implicit declaration of function 'ALIGN'
libipt_ISG.c:87: error: initializer element is not constant
libipt_ISG.c:87: error: (near initialization for 'isg_info.size')
libipt_ISG.c:88: error: initializer element is not constant
libipt_ISG.c:88: error: (near initialization for 'isg_info.userspacesize')
make: *** [all] Error 1

Share this post


Link to post
Share on other sites

marikoda, можно реализовать. Только перенаправление будет на HTTP-сервер (ведь мы редиректим попытки пользователя зайти на www.yandex.ru, например). А там уж можно будет сделать либо редирект средствами HTTP (302), либо ссылочку разместить. Думаю, что в сентябре. Правда сначала это будет простой редирект (например, для тех кто не оплатил услуги), без возможности запустить сессию на портале после успешной авторизации.

 

shaytan, я погляжу в чем дело.

 

Share this post


Link to post
Share on other sites

shaytan, это баг в ядре 2.6.34 (в 2.6.34.2 он все еще присутствует). Предлагается использовать этот патч:

 

http://archives.free.net.ph/message/201004...c33e197.ca.html

 

 

 

Да, видимо у Вас в /usr/include лежали заголовки от версии ядра не 2.6.34.

Share this post


Link to post
Share on other sites

shaytan, это баг в ядре 2.6.34 (в 2.6.34.2 он все еще присутствует). Предлагается использовать этот патч:

 

http://archives.free.net.ph/message/201004...c33e197.ca.html

 

 

 

Да, видимо у Вас в /usr/include лежали заголовки от версии ядра не 2.6.34.

После сборки ядра делаю всегда make headers_install

По этому в /usr/include лежат правильные заголовки.

 

Это всё фигня на самом деле. Сейчас пытаюсь прикрутить к Бителовскому radius серверу.

 

PS: Дошло, имелось ввиду наверное то, что если собралось, то заголовки в /usr/include не от ядра 2.6.34 :)

Edited by shaytan

Share this post


Link to post
Share on other sites

LostSoul, на текущем TIP можно. Правда я не тестировал, как это будет работать. Но от тех, кому собрать удалось, жалоб не было.

 

Share this post


Link to post
Share on other sites

marikoda, можно реализовать. Только перенаправление будет на HTTP-сервер (ведь мы редиректим попытки пользователя зайти на www.yandex.ru, например). А там уж можно будет сделать либо редирект средствами HTTP (302), либо ссылочку разместить. Думаю, что в сентябре. Правда сначала это будет простой редирект (например, для тех кто не оплатил услуги), без возможности запустить сессию на портале после успешной авторизации.
У нас неплательщиков редиректит, сначала делали 302 редирект, но некоторые браузеры (ie некоторых версий) кэшируют редирект.

В итоге стали выдавать страничку, у которой установлены no-cache, с javascript и дополнительной ссылкой.

 

 

Share this post


Link to post
Share on other sites

Я вообще-то говорил про редирект с HTTP на HTTPS. :) Потому что перебросить пользователя, который лезет на http://yandex.ru средствами DNAT (вообще не важно как, смысл в подмене destination IP-address - L4 redirect) сразу на https://stat.bigprov.ru никак нельзя. Но правильные заголовки, чтобы отбить желание браузера что-то закешировать, нужны в любом случае.

Share this post


Link to post
Share on other sites

Я вообще-то говорил про редирект с HTTP на HTTPS. :) Потому что перебросить пользователя, который лезет на http://yandex.ru средствами DNAT (вообще не важно как, смысл в подмене destination IP-address - L4 redirect) сразу на https://stat.bigprov.ru никак нельзя. Но правильные заголовки, чтобы отбить желание браузера что-то закешировать, нужны в любом случае.

ну это само собой понятно.

Share this post


Link to post
Share on other sites

А можно ли добавить следующее:

 

Если в AUTHENTICATION_ACCEPT не прищёл Framed-IP-Address, то отдать этот атрибут в ACCOUNTING_REQUEST START пакете.

Это позволит зарегистрировать этот ip на встроеном в радиус сервер, NetFlow коллекторе и вести по нему аккаунтинг.

Edited by shaytan

Share this post


Link to post
Share on other sites

shaytan, не совсем понял, что требуется. Отдавать Framed-IP-Address в аккаунтинге? Про скрещенный Netflow коллектор и RADIUS-сервер вообще в первый раз слышу. Любопытно.
Edited by Умник

Share this post


Link to post
Share on other sites

shaytan, не совсем понял, что требуется. Отдавать Framed-IP-Address в аккаунтинге? Про скрещенный Netflow коллектор и RADIUS-сервер вообще в первый раз слышу. Любопытно.

Верно, но при условии, что lISG его не получил из AUTHENTICATION_ACCEPT пакета.

Алгоритм регистрации ip для сессии http://www.bgbilling.ru/v5.1/doc/ch03s07.html

Скрещенный Netflow коллектор и RADIUS-сервер http://www.bgbilling.ru/v5.1/doc/ch03s10.html

Edited by shaytan

Share this post


Link to post
Share on other sites

shicoy, есть несколько коммитов, я просто их пока не push-ил на bitbucket. Но в любом случае на будущей неделе будет 0.12 с CoA-интерфейсом для управления сервисами. L4 редирект будет в 0.13 (в сентябре).

 

Share this post


Link to post
Share on other sites

Шаблон cacti для отображения количества сессий с помощью ISG.pl. (на локальной машине)

cacti_isg.tar.gz

 

post-74595-1283531788_thumb.png

Edited by archim

Share this post


Link to post
Share on other sites

Баг или моя ошибка?

Пытаюсь сделать так, чтоб сессия начиналась как при запросе изнутри, так и снаружи. Делаю:

 

-A FORWARD -s x.x.x.x/29 -j ISG --session-init --init-mode src

-A FORWARD -d x.x.x.x/29 -j ISG --session-init --init-mode dst

-A FORWARD -d x.x.x.x/29 -j ISG

 

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

Ревизия 25

Edited by EvilShadow

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.