Jump to content

Recommended Posts

Posted (edited)

В последнее время озадачился данным вопросом. Интересно послушать, кто каким способом пользуется или что может посоветовать?

 

Изначально принимаю за основу наличие управляемых коммутаторов на доступе (des-3526), vlan на дом, абонентский ip или подсеть закрепляется за определённым портом с помощью acl, доступ к интернет - чистая маршрутизация. В каждом домовом vlan-е своя подсеть, всё сходится звездой на центральный маршрутизатор (dgs-3612) и дальше на сервер доступа (ещё один маршрутизатор, NAS, BRAS или как там его) в служебной подсети, на нём осуществляется контроль доступа, шейпинг, netflow, vpn, dhcp и пр. (универсальный солдат).

 

На данный момент всё ограничивается только лишь прекращением маршрутизации в интернет при исчерпании средств абонента.

 

Руководство и коллеги выразили недавно пожелание, что надо бы сделать так, что бы при блокировке у абонента отключалось всё (локальные сайты, хаб, пиринг внутри локальной сети) за исключением личного кабинета. Причём при попытке абонента зайти на какой-либо интернет ресурс через браузер, его перенаправляло на страницу входа в личный кабинет и там-же в шапке или подвале красовалась надпись о недостатке средств на счёте // пишу, аж самому смешно... //

Вот такая вот постановка задачи...

 

Что можно придумать? )))

 

1. Создать на всех коммутаторах условный гостевой vlan, допустим с номером 5. На сервере доступа создать интерфейс vlan5, натравить на него dhcp и выдавать в этом vlan-е большую подсеть со шлюзом на данный интерфейс. Тут же в iptables в таблице mangle делать подмену адреса назначения для 80 порта на адрес сервера с личным кабинетом, всё остальное блочить. Больше ничего в этом vlan-е не светить на третьем уровне, да и на всех остальных. При блокировке абонента по команде биллинга порт абонента переводится в vlan=5. Как бы вот такая мысль есть, но с реализацией имеем кучу различных проблем.

2. Делать подмену адреса назначения для 80 порта непосредственно на коммутаторах доступа с помощью acl, остальное всё блокировать. Тут даже не знаю, возможно-ли такое, но реализовать оное видится гораздо легче.

У меня пока всё...

Edited by lan-viper
  • Replies 96
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Posted

1. Создать на всех коммутаторах условный гостевой vlan, допустим с номером 5. На сервере доступа создать интерфейс vlan5, натравить на него dhcp и выдавать в этом vlan-е большую подсеть со шлюзом на данный интерфейс. Тут же в iptables в таблице mangle делать подмену адреса назначения для 80 порта на адрес сервера с личным кабинетом, всё остальное блочить. Больше ничего в этом vlan-е не светить на третьем уровне, да и на всех остальных. При блокировке абонента по команде биллинга порт абонента переводится в vlan=5. Как бы вот такая мысль есть, но с реализацией имеем кучу различных проблем.

Никаких проблем, у меня так и переключается, скриптом башевским. Только редирект делается циской.

 

2. Делать подмену адреса назначения для 80 порта непосредственно на коммутаторах доступа с помощью acl, остальное всё блокировать. Тут даже не знаю, возможно-ли такое, но реализовать оное видится гораздо легче.

У меня пока всё...

 

Не получится. Коммутатору мозгов не хватит для редиректа, к тому же надо не только адрес назначения сменить, надо еще и чтобы пакет обратно пришел и еще раз произошла подмена адреса. Иначе хост, пославший пакет на yandex.ru, ответ, пришедший от babla.net просто выкинет, он же его не заказывал )

Posted

В вашем случае варианта три:

1. Транслировать на NAT-железках

2. Гостевой VLAN

3. Закрывать по ACL, и использовать DNS для подмены адресов - но это не совсем хорошо

Posted (edited)

серые ип + нат, гостевой влан не юзаем, на маршрутизаторе после терминации по дефолту запрещен весь форвард, 3 правила в iptables разрешающих прохождение пакетов в тырнет и лок. ресурсам, если IP в ipset не стоит, блочится всё кроме ЛК, все запросы на dst port 80 редиректятся на "дай денег"

Edited by pppoetest
Posted (edited)

Cache-Control no-cache + expire, иногда не помогает, на страничке "дай денег" написано почему такое бывает и как с этим бороться. Бывают звонки 1-2 в месяц.

Edited by pppoetest
Posted

использовать DNS для подмены адресов - но это не совсем хорошо

 

Это очень плохо. Потом обладатели виндов, где применялись "улучшайзеры" вынесут весь мозг, т.к. там с кэшированием днс что-то страшное.

Posted

У меня реализована схема доступа - серый ip на интерфейс абонента + NAT на один реальник, пока так. Подсети у нас нет, что поделать? Как появится, реализую схему NAT 1:1.

 

Про iptables и mangle по моему я слегка погорячился. Когда-то пробовал делать так, что-бы пользователь, открыв любую ссылку, попадал на наш сайт, но я это делал с помощью NAT, надо бы уточнять.

Posted (edited)

По поводу надписи "Дай денег!". Личный кабинет можно повесить на два разных ip (алиасы интерфейса). Первый для обычного использования, второй для "гостевого" vlan. С кэшами браузера тогда не должно быть проблем.

 

UPD

И для второго ip алиаса в apache настроить какой-нибудь модуль, типа mod_banner (если таковой существует конечно), который будет выводить сообщения. Ну знаете, как на бесплатных хостингах делают, внизу или вверху страницы с твоей вёрсткой врезается их блок с текстом "Переходите на платные тарифы!"?

Edited by lan-viper
Posted

По поводу надписи "Дай денег!". Личный кабинет можно повесить на два разных ip (алиасы интерфейса). Первый для обычного использования, второй для "гостевого" vlan. С кэшами браузера тогда не должно быть проблем.

 

В варианте с подменой адреса через днс в кеше ресолвера остается значение yandex.ru = 192.168.дай.денег, и потом клиент мучается с этим адресом, пока кеш не сбросит. Два там адреса у личного кабинета или один - роли не играет. С правильным редиректом таких проблем нет.

Posted (edited)

А я пытаюсь полностью переосмыслить данную задачу в целом. Что-то в ней есть такое - неестественное...

 

Думаю, надо просто блокировать всё, кроме личного кабинета, без всяких выкрутасов. У абонента должна быть голова на плечах. Если яндекс не открывается + ты давно не ходил в кассу платить за инет => надо просто зайти в свой личный кабинет и прояснить ситуацию!

Тем более для Win7 я написал им гаджет для просмотра состояния счёта.

Edited by lan-viper
Posted

2 lan-viper Как показвает практика есть 10% абонентов, которые каждый месяц, когда у них заканчиваются деньги и у них просто отрубает интернет начинают звонить в ТП и сразу выносить мозг. Через пару десятков слов ТП конечно успевает вставить свое слово и сообщить, что незачем так орать, а достаточно заплатить. При внедрении редиректа количество таких звонков свелось к почти 0.

Еще неплохо там (куда редиректят) реализовать нечто типа обещанного платежа, чтобы абонент мог не напрягаться в 2 часа ночи поиском автомата оплаты, а оттянуть это на пару дней.

Posted (edited)

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

 

Я бы добавил туда еще всякие qiwi и прочие платежные системы с интернет-кошельками, у которых есть с вами договор на прием платежей.

Edited by bos9
Posted (edited)
нечто типа обещанного платежа
Есть такое. И думаю, что не удивлю Вас тем, что 9% идиотовабонентов из тех 10% понятия не имеют, как сделать обещанный платёж! // да и не такой маразм видели...
При внедрении редиректа количество таких звонков свелось к почти 0.
Это и привлекает. Знаю, что как минимум, хуже не станет. Edited by lan-viper
Posted

такие 9% из 10%, прочитав "нет денег" пойдут платить ногами :) По любому бывает 0.1%, которые вообще ничего не читают и не понимают. Таким ничто не поможет. Но отсеять звонки от 9.9% уже хорошо. Раньше в йцукен по моему номеру телефона мне сообщали, что у меня интернет не работает по причине проблем на линии (незнаю, может и сейчас сообщают, похоже про последние 2 проблемы они от меня узнали). Туда же, если есть система обработки входящих звонков достаточно умная, можно прикрутить говорящую тетю сообщающую "денег дай", а уже потом сбрасывающую на живую ТП, если не отключились.

Posted

По поводу надписи "Дай денег!". Личный кабинет можно повесить на два разных ip (алиасы интерфейса). Первый для обычного использования, второй для "гостевого" vlan. С кэшами браузера тогда не должно быть проблем.

 

В варианте с подменой адреса через днс в кеше ресолвера остается значение yandex.ru = 192.168.дай.денег, и потом клиент мучается с этим адресом, пока кеш не сбросит. Два там адреса у личного кабинета или один - роли не играет. С правильным редиректом таких проблем нет.

Так, а если установить прозрачный прокси (squid, nginx, etc) на интерфейсе vlan5 и настроить его как нам нужно? Он ведь отдаёт браузеру корректные http заголовки, что типа запрос был перенаправлен? Заранее извиняюсь, если несу чушь, т.к. прокси ни разу не приходилось настраивать.

Posted

использовать DNS для подмены адресов - но это не совсем хорошо

 

Это очень плохо. Потом обладатели виндов, где применялись "улучшайзеры" вынесут весь мозг, т.к. там с кэшированием днс что-то страшное.

Месяц назад ввели как доп. блокировку - пока жалоб нет. Кеш надо ставить минимальный. Абонентам на страничке можно давать рекомендации вида: 1. Оплатить. 2. Перезагрузить компьютер.

Posted
У абонента должна быть голова на плечах. Если яндекс не открывается + ты давно не ходил в кассу платить за инет =>
... опять у этих криворуких красноглазиков интернет не работает! Говно, а не провайдер! Надо менять провайдера!
Posted (edited)

Я щитаю - есть тока один правильный вариант : )

 

Есть правило на NAS/BRAS - если юзерский IP попал в список адресов "balance_negative" по событию из биллинга, то хрен ему, а не форвард трафика в мир.

И 80 TCP порт редиректить на страничку "Превышен лимит. И описание тысячи сиксильярдов способов оплаты. Инструкции, контакты суппорта etc".

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

 

С кешами браузера проблем не видел, как только денежки пришли на счет - юзерский IP тут же удаляется из списка "balance_negative" по событию из биллинга и юзерский трафик снова течет в мир, и не подпадает под правило редиректа.

Все манипуляции происходят без обрыва соединения юзера (речь идет о тунелях - если они юзаются), никакие адреса юзеру не меняются, VLANы тоже.

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

 

Все остальные варианты с днс, выдачей адресов из "плохого пула", загоном в "плохие VLAN" - это как-то не камильфо : )

И реализуется редирект легко и просто централизованно на любом NAS/BRAS.

Edited by white_crow
Posted
С кешами браузера проблем не видел, как только денежки пришли на счет - юзерский IP тут же удаляется из списка "balance_negative" по событию из биллинга и юзерский трафик снова течет в мир, и не подпадает под правило редиректа.

Сто раз уже говорили: откроет такой абонент фаерфокс/оперу с кучей вкладок, и на всех будет одно и тоже, если ещё и адреса там похерятся в итоге то вообще матов куча.

Posted

Ivan_83

Есть вариант когда не делается http-redirect, т.е. на bras для неплательщиков устанавливается свой next-hop(на сервер должников), а на нём уже tcp/80 через prerouting заворачивается на лупбэк, т.е. можно прикидываться любым сайтом, при этом не подменяя DNS-записи. После закрытия и повторного открытия браузера адреса во вкладках будут старые

Posted

Есть вариант когда не делается http-redirect, т.е. на bras для неплательщиков устанавливается свой next-hop(на сервер должников), а на нём уже tcp/80 через prerouting заворачивается на лупбэк, т.е. можно прикидываться любым сайтом, при этом не подменяя DNS-записи. После закрытия и повторного открытия браузера адреса во вкладках будут старые

 

Это да. Правда тут встает в полный рост проблема "отравленного кэша браузера". В первый день месяца примерно 60% обращений в ТП именно из-за "залипшего" браузера, когда приходится чистить кэш вручную.

Posted

taf_321

Поставьте вы нормальные http-хедеры и html-хедеры и даже опера, которая кеширует всё что можно и нельзя не будет запихивать вашу страничку "дай денег" в кеш

Posted
С кешами браузера проблем не видел, как только денежки пришли на счет - юзерский IP тут же удаляется из списка "balance_negative" по событию из биллинга и юзерский трафик снова течет в мир, и не подпадает под правило редиректа.

Сто раз уже говорили: откроет такой абонент фаерфокс/оперу с кучей вкладок, и на всех будет одно и тоже, если ещё и адреса там похерятся в итоге то вообще матов куча.

Да вроде как бы без проблем. Проверил, все нормально отрабатывает (см. картинку - так выглядит попытка зайти сюда с заблокированного клиента).

После снятия блокировки ссылки не исчезают и не "портятся".

Реализовал следующим образом:

при блокировке клиенту выдается как и обычно серый IP, но только из другой подсети, которая не NAT-ится в Интернет, а заворачивается DNAT-ом в личный кабинет, где на моменте логина проверяется src IP. Если IP от DNAT-а, то просим денег, если другой - обычная страница логина.

lk.jpg

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.


×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.