alexaaa Опубликовано 28 января, 2011 · Жалоба Видел в интернете статью, там на коммутатор Сisco настроены acl, суть этих acl в том что когда у абонента отрицательный баланс, то коммутатор перекидывает абонента в другую подсеть, и у абонента нет доступа к ресурсам сети, но статью эту потерял и найти пока смог, может кто подскажет насчёт этого решения Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
terrible Опубликовано 28 января, 2011 (изменено) · Жалоба это специальный коммутатор-телепат, циско над ним долго работала, но наконец-то сделали. Коммутатор-телепат уже на будущее знает какой абонент подключен к какому порту и когда точно его нужно выключить. Всё просто :) Даже крупные операторы связи уже вовсю используют такие решения: Изменено 28 января, 2011 пользователем terrible Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Lynx10 Опубликовано 28 января, 2011 · Жалоба Видел в интернете статью, там на коммутатор Сisco настроены acl, суть этих acl в том что когда у абонента отрицательный баланс, то коммутатор перекидывает абонента в другую подсеть, и у абонента нет доступа к ресурсам сети, но статью эту потерял и найти пока смог, может кто подскажет насчёт этого решения guest vlan ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kazakru Опубликовано 28 января, 2011 · Жалоба у меня при постановке в паузу клиента отрабатывает ACL на доступе и клиент может общаться только с сервером... там впринципе свой чат, сайт и тп.. но зато никакой локалки и инета. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 28 января, 2011 · Жалоба Коммутатор-телепат уже на будущее знает какой абонент подключен к какому порту и когда точно его нужно выключить. Да врёте вы всё, на картинке все провода подписаны! %) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ingress Опубликовано 28 января, 2011 · Жалоба Коммутатор-телепат уже на будущее знает какой абонент подключен к какому порту и когда точно его нужно выключить.Да врёте вы всё, на картинке все провода подписаны! %) а это коммутатор сам подписал, когда вы спали :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
GFORGX Опубликовано 28 января, 2011 (изменено) · Жалоба Недавно создавал топик на данную тему, если кому надо - набыдлокоженное на коленке, для UTM5 RFW, правда, но, думаю, переписать можно под что угодно. Да, для D-Link. #!/usr/bin/python # -*- coding: utf-8 -*- import os import sys import MySQLdb cfg_db_user = 'XXX' cfg_db_pass = 'XXX' cfg_vci_db_name = 'virtual_circuit_data' cfg_utm_db_name = 'XXX' cfg_db_host = 'XXX' cfg_snmp_community = 'XXX' # Connect to MySQL database to fetch user's virtual circuit information vci_db = MySQLdb.connect(cfg_db_host, cfg_db_user, cfg_db_pass, db=cfg_vci_db_name).cursor() utm_db = MySQLdb.connect(cfg_db_host, cfg_db_user, cfg_db_pass, db=cfg_utm_db_name).cursor() utm_db.execute('SELECT ip_group_id FROM ip_groups WHERE ip = inet_aton("%s") AND is_deleted = 0;' % sys.argv[4]) ip_group_id = int(utm_db.fetchone()[0]) utm_db.execute('SELECT id FROM iptraffic_service_links WHERE ip_group_id = %i and is_deleted = 0;' % ip_group_id) id = int(utm_db.fetchone()[0]) utm_db.execute('SELECT user_id FROM service_links WHERE id = %i and is_deleted = 0;' % id) user_id = int(utm_db.fetchone()[0]) utm_db.execute('SELECT login FROM users WHERE id = %i and is_deleted = 0;' % user_id) login = utm_db.fetchone()[0] try: vci_db.execute('SELECT vc_circuit_building, vc_circuit_number, vc_circuit_id FROM vc_circuit_id WHERE vc_circuit_username = "%s";' % login) vc_circuit_building, vc_circuit_number, vc_circuit_id = vci_db.fetchone() os.system("echo %s/%s:%s: done >> /tmp/log" % (vc_circuit_building, vc_circuit_number, vc_circuit_id)) except: sys.exit(0) vci_db.execute('SELECT vc_remote_id FROM vc_remote_id WHERE vc_remote_building = "%s" AND vc_remote_number = "%s";' % (vc_circuit_building, vc_circuit_number)) vc_remote_id = vci_db.fetchone()[0] vci_db.execute('SELECT vc_circuit_username FROM vc_circuit_id WHERE vc_circuit_building = "%s" AND vc_circuit_number = "%s" AND vc_circuit_id = "%s";' % (vc_circuit_building, vc_circuit_number, vc_circuit_id)) if len(vci_db.fetchall()) > 1: os.system("echo %s/%s:%s: port is a hub! >> /tmp/log" % (vc_circuit_building, vc_circuit_number, vc_circuit_id)) sys.exit(0) # Get proper Internet VLAN ID using SNMP through VLAN name internet_vid = int(os.popen('snmpwalk -v2c -c %s %s 1.3.6.1.2.1.17.7.1.4.3.1 | grep INTERNET_0 | cut -d " " -f1 | cut -d "." -f9' % (cfg_snmp_community, vc_remote_id)).read()) if sys.argv[2] == '1': vlan_id = internet_vid else: vlan_id = 4000 # Update PVID os.system('snmpset -v2c -c %s %s 1.3.6.1.2.1.17.7.1.4.5.1.1.%i u %i' % (cfg_snmp_community, vc_remote_id, vc_circuit_id, vlan_id)) # Update port description os.system('snmpset -v2c -c %s %s 1.3.6.1.2.1.31.1.1.1.18.%i s %s' % (cfg_snmp_community, vc_remote_id, vc_circuit_id, login)) # Save settings to NVRAM os.system('snmpset -v2c -c %s %s 1.3.6.1.4.1.171.12.1.2.6.0 i 3' % (cfg_snmp_community, vc_remote_id)) Да, не буду даже отрицать, что костыль :) Изменено 28 января, 2011 пользователем GFORGX Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
alexaaa Опубликовано 28 января, 2011 (изменено) · Жалоба Ничего смешного, это реально, в магнитогорске у провайдера реализовано, коммутатор работает по радиусу с билингом, при отрицательном балансе абонент перемещается в другую подсеть, там dhcp присваивает другой ip адрес ему, и ему ничего недоступно кроме личного кабинета, а при положительном, получает ip из рабочей сети и доступ к ресурсам, скореe всего guest vlan и acl эти правила организуют, статья есть полная найти бы её там описано создание vpn сервера и настройка cisco коммутатора, вообщем полезная штука, хотя организовать и на d-link можно тоже. Изменено 28 января, 2011 пользователем alexaaa Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Deac Опубликовано 28 января, 2011 · Жалоба Ключевое слово "БИЛЛИНГ", т.е. не коммутатор принимает решение, а биллинг решает что абонент в минусе и переводит его в hold. У уж как это сделать, на коммутаторе или просто переместить его IP из таблицы в таблицу - не принципиально. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
alexaaa Опубликовано 29 января, 2011 · Жалоба Биллинг отключает только интернет, а локальная сеть доступна, да и полностью отключить абонента от коммутатора приходиться физически, а если неотключать, то абонент локальной сетью пользуется, тут и конфликт адреса и замыкание на порту может быть. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Lynx10 Опубликовано 29 января, 2011 (изменено) · Жалоба Ничего смешного, это реально, в магнитогорске у провайдера реализовано, коммутатор работает по радиусу с билингом, при отрицательном балансе абонент перемещается в другую подсеть, там dhcp присваивает другой ip адрес ему, и ему ничего недоступно кроме личного кабинета, а при положительном, получает ip из рабочей сети и доступ к ресурсам, скореe всего guest vlan и acl эти правила организуют, статья есть полная найти бы её там описано создание vpn сервера и настройка cisco коммутатора, вообщем полезная штука, хотя организовать и на d-link можно тоже. в лучшем случае в отдельный влан переводят (как вариант 802.1х + гвест влан или WAC (web auth) + гвест влан)- а скорее просто выдают адрес из другой подсети при негативном балансе и тд ! которая к локальным ресурсам доступ имеет а к миру - нет - и коммутатор тут тогда можна сказать ни причём! как вариант последней схемы - адрес могут выдавать тот же но на шейпере не пропускать в мир! Изменено 29 января, 2011 пользователем Lynx10 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Deac Опубликовано 29 января, 2011 · Жалоба Биллинг отключает только интернет, а локальная сеть доступна, да и полностью отключить абонента от коммутатора приходиться физически, а если неотключать, то абонент локальной сетью пользуется, тут и конфликт адреса и замыкание на порту может быть. Это свидетельствует только о неграмотной настройке биллинга. Физически отключать абонента точно не нужно, достаточно погасить его порт. З.Ы. Вот если свитчи неуправляемые на доступе, тогда ССЗБ. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 29 января, 2011 · Жалоба У нас сделано так (пока в тестовом виде). Есть асимметричный vlan для заблокированных клиентов. В этом vlan'е есть сервер, который имеет такой же IP, как шлюз клиента. Все запросы на 53 порт он перенаправляет на себя и возвращает свой IP. Все запросы на 80 порт он тоже перенаправляет на себя и выдаёт страницу "Дай денег". Костыль к биллингу переносит заблокированных клиентов в этот vlan, разблокированных возвращает в vlan, которому клиент принадлежит согласно хранящемуся в биллинге списку подсетей. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
st_re Опубликовано 29 января, 2011 · Жалоба В этом vlan'е есть сервер, который имеет такой же IP, как шлюз клиента.1. Все запросы на 53 порт он перенаправляет на себя и возвращает свой IP. 2. Все запросы на 80 порт он тоже перенаправляет на себя и выдаёт страницу "Дай денег". При наличии второго, зачем первое ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Skylaer Опубликовано 29 января, 2011 · Жалоба Потому что ДНС тоже недоступен небойсь :)) У нас проще - клиенту без денег выдается IP вида 192.168.х.х dhcp snooping не позволяет его сменить :) Все запросы с 192.168 редиректятся на сервер биллинга. Но включен НАТ для некоторых серверов - платежные системы в основном. Ну и кредит на сутки раз в месяц доступен бесплатно. Абонентка списывается ежедневно. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 29 января, 2011 · Жалоба При наличии второго, зачем первое ?DNS в блок-vlan'e нужен в любом случае,т.к. заблокированные клиенты в ответ на DNS-запросы должны получать какие-то ответы, потому что иначе они вместо страницы "дай денег" получат страницу "DNS-сервер недоступен". Можно было бы настроить на DNS блок-сервера полноценный форвардинг и возвращать настоящие IP, но проще оказалось настроить вещь в себе, которая на все запросы возвращает IP самого блок-сервера. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 29 января, 2011 · Жалоба Можно было бы настроить на DNS блок-сервера полноценный форвардинг и возвращать настоящие IP,но проще оказалось настроить вещь в себе, которая на все запросы возвращает IP самого блок-сервера. А ещё бывают супер-пупер модные фаерволы, которые игнорируют TTL dns-записи и могут хранить ответ в своём кеше хоть неделю. Лучше всё-таки отдавать ставить dns, который будет отдавать настоящие IP, но трафик направлять на фейковый сервер, который будет переадресовывать все http-адресы, прикидываясь всеми IP адресами сразу. Единственный потенциальный минус такого решения - dns-тунели, но в принципе таких абонентов можно вычислять и что-нибудь предпринимать в их отношении. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...