LINUX.ORG.RU
ФорумAdmin

[FreeBSD] очень интересный вопросец.

 


0

0

Привет всем. и так. решили запускать тестовый wifi для привлечения клиентов. на высоте стоит точка доступа dlink dap-3220. полностью open system. поднят dhcp сервер на ней. клиенты цепляются, июзают халявный интернет. вопрос: как зделать так, что бы при получении ip-адреса по dhcp они при открывании броузера и вбиве любого имени в адресную строку видели сначала страничку нашего сайта с пиаром тестового wifi, а потом уже серфили нахаляву? чтото типа popup-а или как бы это реализовать? предлагайте альтернативы. пока я вижу чтото вроде манипуляций с ДНС, что бы куда бы клиент не обратился, ему сначала открылся хост в броузере с рекламой нашего вайфая, а уже потом нормальный серфинг.

очень интересная задача, хотелось бы услышать подсказки.. Заранее всем спасибо!

То что ты ищешь называется captive portal, копай в эту сторону.

VinilNavigator
()

>пока я вижу чтото вроде манипуляций с ДНС

не пойдет, не факт что первые запросы идут от браузера

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

k0l0b0k ★★
()

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

kam ★★
()

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

kam ★★
()
Ответ на: комментарий от kam

но не факт что заработает, это просто мысли в слух

kam ★★
()

ДНС закешируется на клиенте и несколько минут он вооще не сможет попасть на сайт, который хотел.

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

legolegs ★★★★★
()
Ответ на: комментарий от kam

Я бы попробовал поступить именно средствами iptables с модулем xt_recent на шлюзе. Конкретно такой задачи не решал, но, по идее, это должно быть возможно, и это, пожалуй самое красивое и прямое решение из возможных.

azure ★★
()
Ответ на: комментарий от azure

а чорд! это же бсд! там есть что-то аналогичное xt_recent? :)

azure ★★
()

Я бы решил на уровне фаервола. При подключении все запросы клиента направлять на локальный вебсервер. А там уже cgi-ишкой убирать правило которое роутит.

true_admin ★★★★★
()
Ответ на: комментарий от kam

ды вот проблема в том, что у меня фряха как раз:((

redmoon
() автор топика
Ответ на: комментарий от azure

Не катит recent. Венда любит всякие левые запросы кидать, хотя бы те же обновления или wpad.dat. Единственный вариант - прозрачный сквид, как писалось выше.

FatBastard ★★
()

какой бы сайт пользователь не запросил, его кидает на форму регистрации с рекламой, он её проходит и инет ему открывается чудесным образом

dimon555 ★★★★★
()
Ответ на: комментарий от dimon555

вот именно это мне и надо. captive portal я нагуглил. но это катит, если моя фряха сама имеет в жопе wifi-карочку, и сама явзяется AP-точкой. у меня же эта фряха будет являться только шлюзом для юзеров, которых точка доступа моя dap-3220 прокинет до этой фряхи. вот юзер дошел до фряхи, теперь чтобы на ней такого поднять... что бы все было как выше описывалось. chillispot нагуглил еще .. он, как я понимаю - тоже решение для софтверной AP.....

redmoon
() автор топика
Ответ на: комментарий от azure

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

FatBastard ★★
()

Тут в любом случае нужно смотреть содержимое HTTP запроса.
По http ведь не только html-ки гоняется. А ежели юзер картинку запросит или rss-фид? - а ему там вылезет html-ка или картинка с рекламой.

Nao ★★★★★
()
Ответ на: комментарий от Nao

решение с capitive portal конечно же красивое... но железка у меня не поддерживает эту фичу. а вставлять в жопу фре карточку не хочу. похоже нужно правда форвардить все на какой-нить сквид и глубоко курить его маны, что бы по какому либо уникальному критерию, например мак-адресс, редиректить клиента ОДИН РАЗ на рекламу, а уже потом спакойно пускать в интернет...

redmoon
() автор топика

такая штука реализована у билайна в столичных забегаловках. прежде чем посидеть в инете, сначала заходишь на страничку билайна, тебе говорят, что за сессию ты можешь качнуть 15 мег, после чего нажимаешь «войти» и сидишь в инете.

интересная штука, тоже хотел бы знать как такую реализовать.

zup-rk27 ★★
()

Если задача только в рекламе, я бы сделал прозрачную проксю и заменял бы все банеры на свои.

madcore ★★★★★
()
Ответ на: комментарий от kam

Чем легче?
Берешь squidguard и базу на банеры, да редиректишь на своё

madcore ★★★★★
()
Ответ на: комментарий от zup-rk27

> интересная штука, тоже хотел бы знать как такую реализовать.

1. Ставим сквид в режиме transparent proxy

2. Пишем редиректор, который действует по такому алгоритму:

Если IP клиент есть в списке «известных клиентов», выполняем запрос клиента и обновляем в списке время последнего доступа, иначе редиректим клиента его на страницу с рекламой, и добавляем IP в список известных клиентов.
Автоматически удаляем из списка клиентов, которые не обращались 10 минут
Один скрипт на перле или авке строк этак на 50 максимум :-)

Nastishka ★★★★★
()
Ответ на: комментарий от Nastishka

так, мужыки. пока дошел до того,что через ipfw fwd завернул все на 127.0.0.1:3128. captive portal конечно штука красивая, но это на будущее. начал курить маны squid.conf... ахренел мягко говоря. куда хоть смотреть? в какую сторону? пока нужда - что бы - да, показывалась при открытии веб узла - страничка одному клиенту ОДИН раз. потом уже введем карточную платформу с полями логин и пароль, и скрипт будет access-листы на juniper и cisco вдувать.

redmoon
() автор топика
Ответ на: комментарий от redmoon

можно поднять второй днс, где все адреса разрешаются в твой сервак с формой регистрации, ну и все адреса всё равно недоступны, ну и заворачиваешь все запросы пользователя туды

dimon555 ★★★★★
()

Для всех с 80 порта редирект на апач с твоей рекламной страничкой. В страничке вызов CGI-скрипта (можно сделать хоть на баше, хоть на C) который будет по IP зашедшего добавлять для него строчку в iptables до строчки с редиректом а потом какой-нибудь javascript будет выкидывать людей с рекламной странички на mail.ru, допустим.

tx
()
Ответ на: комментарий от tx

tx дело говорит.

На сквиде или в фаерволе, сперва кидает клиентский запрос на 80 порт на твою страницу, а там кнопка большая, типо спасибо, посмотрел рекламу, прошёл таймер, жмёт на кнопку, выполняется скрипт, который уже этот MAС или ip выпускает в свободное плавание.

DALDON ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.