Перейти к содержимому
Калькуляторы

Коммутатор автоматическое отключение абонента серверные решения

Видел в интернете статью, там на коммутатор Сisco настроены acl, суть этих acl в том что когда у абонента отрицательный баланс, то коммутатор перекидывает абонента в другую подсеть, и у абонента нет доступа к ресурсам сети, но статью эту потерял и найти пока смог, может кто подскажет насчёт этого решения

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

это специальный коммутатор-телепат, циско над ним долго работала, но наконец-то сделали.

Коммутатор-телепат уже на будущее знает какой абонент подключен к какому порту и когда точно его нужно выключить. Всё просто :)

 

Даже крупные операторы связи уже вовсю используют такие решения:

X475Du63.jpg

Изменено пользователем terrible

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Видел в интернете статью, там на коммутатор Сisco настроены acl, суть этих acl в том что когда у абонента отрицательный баланс, то коммутатор перекидывает абонента в другую подсеть, и у абонента нет доступа к ресурсам сети, но статью эту потерял и найти пока смог, может кто подскажет насчёт этого решения

guest vlan ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Да врёте вы всё, на картинке все провода подписаны! %)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Коммутатор-телепат уже на будущее знает какой абонент подключен к какому порту и когда точно его нужно выключить.
Да врёте вы всё, на картинке все провода подписаны! %)

а это коммутатор сам подписал, когда вы спали :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Недавно создавал топик на данную тему, если кому надо - набыдлокоженное на коленке, для 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))

 

Да, не буду даже отрицать, что костыль :)

Изменено пользователем GFORGX

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ничего смешного, это реально, в магнитогорске у провайдера реализовано, коммутатор работает по радиусу с билингом, при отрицательном балансе абонент перемещается в другую подсеть, там dhcp присваивает другой ip адрес ему, и ему ничего недоступно кроме личного кабинета, а при положительном, получает ip из рабочей сети и доступ к ресурсам, скореe всего guest vlan и acl эти правила организуют, статья есть полная найти бы её там описано создание vpn сервера и настройка cisco коммутатора, вообщем полезная штука, хотя организовать и на d-link можно тоже.

Изменено пользователем alexaaa

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ключевое слово "БИЛЛИНГ", т.е. не коммутатор принимает решение, а биллинг решает что абонент в минусе и переводит его в hold.

У уж как это сделать, на коммутаторе или просто переместить его IP из таблицы в таблицу - не принципиально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ничего смешного, это реально, в магнитогорске у провайдера реализовано, коммутатор работает по радиусу с билингом, при отрицательном балансе абонент перемещается в другую подсеть, там dhcp присваивает другой ip адрес ему, и ему ничего недоступно кроме личного кабинета, а при положительном, получает ip из рабочей сети и доступ к ресурсам, скореe всего guest vlan и acl эти правила организуют, статья есть полная найти бы её там описано создание vpn сервера и настройка cisco коммутатора, вообщем полезная штука, хотя организовать и на d-link можно тоже.

в лучшем случае в отдельный влан переводят (как вариант 802.1х + гвест влан или WAC (web auth) + гвест влан)- а скорее просто выдают адрес из другой подсети при негативном балансе и тд ! которая к локальным ресурсам доступ имеет а к миру - нет - и коммутатор тут тогда можна сказать ни причём! как вариант последней схемы - адрес могут выдавать тот же но на шейпере не пропускать в мир!

Изменено пользователем Lynx10

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Это свидетельствует только о неграмотной настройке биллинга.

Физически отключать абонента точно не нужно, достаточно погасить его порт.

 

З.Ы. Вот если свитчи неуправляемые на доступе, тогда ССЗБ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У нас сделано так (пока в тестовом виде).

 

Есть асимметричный vlan для заблокированных клиентов.

В этом vlan'е есть сервер, который имеет такой же IP, как шлюз клиента.

Все запросы на 53 порт он перенаправляет на себя и возвращает свой IP.

Все запросы на 80 порт он тоже перенаправляет на себя и выдаёт страницу "Дай денег".

 

Костыль к биллингу переносит заблокированных клиентов в этот vlan,

разблокированных возвращает в vlan, которому клиент принадлежит

согласно хранящемуся в биллинге списку подсетей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В этом vlan'е есть сервер, который имеет такой же IP, как шлюз клиента.

1. Все запросы на 53 порт он перенаправляет на себя и возвращает свой IP.

2. Все запросы на 80 порт он тоже перенаправляет на себя и выдаёт страницу "Дай денег".

При наличии второго, зачем первое ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Потому что ДНС тоже недоступен небойсь :))

У нас проще - клиенту без денег выдается IP вида 192.168.х.х

dhcp snooping не позволяет его сменить :)

Все запросы с 192.168 редиректятся на сервер биллинга.

Но включен НАТ для некоторых серверов - платежные системы в основном.

Ну и кредит на сутки раз в месяц доступен бесплатно.

Абонентка списывается ежедневно.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

При наличии второго, зачем первое ?
DNS в блок-vlan'e нужен в любом случае,

т.к. заблокированные клиенты в ответ на DNS-запросы должны получать какие-то ответы,

потому что иначе они вместо страницы "дай денег" получат страницу "DNS-сервер недоступен".

 

Можно было бы настроить на DNS блок-сервера полноценный форвардинг и возвращать настоящие IP,

но проще оказалось настроить вещь в себе, которая на все запросы возвращает IP самого блок-сервера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно было бы настроить на DNS блок-сервера полноценный форвардинг и возвращать настоящие IP,

но проще оказалось настроить вещь в себе, которая на все запросы возвращает IP самого блок-сервера.

А ещё бывают супер-пупер модные фаерволы, которые игнорируют TTL dns-записи и могут хранить ответ в своём кеше хоть неделю. Лучше всё-таки отдавать ставить dns, который будет отдавать настоящие IP, но трафик направлять на фейковый сервер, который будет переадресовывать все http-адресы, прикидываясь всеми IP адресами сразу. Единственный потенциальный минус такого решения - dns-тунели, но в принципе таких абонентов можно вычислять и что-нибудь предпринимать в их отношении.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.