2012-11-29

как можно ограничить число устройств у абонента?

     эта проблема давно беспокоит всяких жадных провайдеров, ведь клиенты очень любят интернет использовать не просто на своем ноутбуке, но и на телефоне, на телевизоре, медиацентре, на виртуальных машинах, да и просто не привязывать себя к столу проводом а использовать вай-фай.
естественно провайдеру хочется что б клиент в этом случае платил за свои 2Мбит интернета за каждое "подключение" отдельно.

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

2. следующий шаг - использование аутентификации.
например - 802.1x или PPPoE/PPTP доступ в сеть.
решение - выполнять аутентификацию на роутере и с него же поднимать туннель.
не проблема для абонента.

3. тяжелая артиллерия - фильтрация по TTL :)
вешать на клиента список доступа, принимающие пакеты ровно с TTL=128(венда) или TTL=64(unix/linux/macos).
здесь все становится немного сложнее.
не все роутеры умеют такое бороть, но если роутер использует прошивку на линуксе (dd-wrt/openwrt/и т.д.), то там все решается предельно просто:
iptables -t mangle -A POSTROUTING -o -j TTL --ttl-set 128
большинство прошивок могут такую команду добавить а автозапуск.

4. сверх-тяжелая артелерия и приз зрительских симпатий - УСТАНОВКА TTL!
роутер провайдера на все пакеты идующие в сторону клиента ставит TTL=1.
если абонент подключил маршрутизатор, то он при пересылке пакета внутрь на проводную ил беспроводную либо даже виртуальную сеть уменшает TTL на единицу, и тут - упс, TTL=0, пакет нужно отбросить и отправить TTL exceeded!
на линуксе (dd-wrt/openwrt/и т.д.) все решается предельно просто, как и в прошлом варианте, только теперь на трафик полученный на wan интерфейсе:
iptables -t mangle -A PREROUTING -i -j TTL --ttl-set 128
большинство прошивок могут такую команду добавить а автозапуск.

если вы можете список дополнить - буду благодарен :)

6 коментарів:

Dmitry Litskevich сказав...

какие у вас провайдеры суровые :) у нас, к примеру (да да я из злого провайдинга минска), сейчас PPTP. однако роутеры, которые PPTP поднимают, зачастую очень капризны. не всегда кушают маршруты по dhcp, не всегда хотят любить iptv. и за натом не хочется абонентов держать, всякие косяки вылазят. сейчас у нас отличный isc-dhcp сервер со сломаным rfc, которому не нужно заботится о leas`ах. сколько абонету ip нужно - столько на порт отдадим. самое лучшее решение в модернизации - ISG/SSG, например. тогда вообще будет красота. пришел - воткнулся (чем угодно что в RJ что в WiFi, привязка то к порту по опции 82) - все работает. option 82 решает) плюс можно очень хорошо обеспечить контроль в сети всякими биндингами на портах, чтобы "умные" абоненты делов не натворили.

100grammist сказав...

Я где-то встречал, что такие провайдеры встречаются в арабских странах. Там прямо в договоре указано, что нельзя пользоваться каналом на нескольких ПК. И ловили как раз по TTL. Как я понимаю тут как раз поможет "iptables -t mangle -A POSTROUTING -o -j TTL --ttl-set 128".

А вы с таким сами столкнулись?

invalidCCIE сказав...

в сети общежитий КПИ, где я был абонентом добрые шесть лет, мне кажется только 802.1х не пробовали.
и статические арпы, и фильтрация по макам, в некоторых общежитиях PPPoE, интернет через прокси с аутентификацией, интернет через PPTP, фильтрация по TTL, и вот недавно мне товарищи показали новую фильтрацию установкой TTL=1.

100grammist сказав...

Ааа, студенты - за ними глаз да глаз.
На одном абоненте пол общаги может сидеть - местная социальная сеть :-)

Unknown сказав...

Конечно не так красиво как TTL ), но можно зарезать число tcp сессий и тогда пользователь будет испытывать дискомфорт при наличии нескольких девайсов или большого числа сессий с одного компа :)

invalidCCIE сказав...

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