RSS
 

Терминируем клиентов

31 Mar

Итак, наша сеть работает, начинаем задумываться, как же мы будем принимать клиентов. Сразу хочу отметить, что мой подход – тотальный контроль за тем, что же происходит в сети. Это означает, что мы не должны иметь неконтролируемый трафик в принципе – все должно идти через устройства, которые могут его учитывать (NetFlow в идеале) и ограничивать при необходимости. Путей для этого несколько, и сегодня мы поговорим о “карательных” мерах.

Первое, что может быть полезно – ограничение количества mac-адресов со стороны клиента. Подходить к привязке mac-клиент я бы не стал, это достаточно затратно с точки зрения обслуживания сети (клиент поменял себе компьютер на ноутбук, поставил себе wi-fi роутер – зачем для этого ему звонить в техподдержку?), но банальное ограничение 1-2 mac на клиентский порт может сыграть добрую службу.

Про необходимость выключения spanning tree protocol на клиентских портах напоминать не нужно, потому как если stp не выключить, рано или поздно это о себе напомнит.

Изоляция портов. Имеется в виду не электрическая :) – речь о том, чтобы не разрешать обмен трафика напрямую между клиентскими портами. Да, это увеличит нагрузку на маршрутизаторы/layer3 свитчи, но позволит избежать недополучения прибыли – в абсолютном большинстве существующих сетей для того, чтобы начать “мелкий бизнес”, достаточно купить unlimited adsl у кого-то из провайдеров, поставить дома линукс/windows+kerio и продавать “свой интернет”. Наша же задача от этого уйти. Port Isolation у разных вендоров называется по-разному – у Cisco это switchport protected на интерфейсе (обмен трафиком между protected-портами запрещен), у того-же Edge-Core и многих других это называется Private VLAN. Но как бы эта функция не называлось – настоятельно рекомендуется к применению.

Теперь перейдем к непосредственно “приему” клиентов у себя на сервер (маршрутизатор) доступа. Мы изначально не рассматриваем “статику” – фиксированные адреса, прописываемые у клиента вручную, этот путь тупиковый и потенциально опасный из-за подмены адресов. Речь пойдет о “туннелировани”, и тут вариантов несколько – есть два популярных (PPtP и PPPoE) и один слабопопулярный (L2TP).

PPTP хорош в том случае, если для установления соединения клиент должен пройти через несколько маршрутизаторов – PPTP “работает” на уровне IP (фактически, это GRE IP tunnel). Но в этом есть несколько значительных минусов:

  • большая нагрузка на сервер доступа – пакеты нужно распаковать/запаковать;
  • клиент должен до начала установки соединения получить ip-адрес и роутинг до сервера доступа, а это автоматически сделать сложно (dhcp ?)
  • не все недорогие интернет-шлюзы поддерживают PPTP. D-Link DI-524UP, например, не умеет

PPPoE гораздо интереснее – для настройки клиенту нужно знать всего два параметра, логин и пароль. Процитирую немного ru.wikipedia.org и свое раннее, неопубликованное :)

PPPoE (англ. Point-to-point protocol over Ethernet) — сетевой протокол передачи кадров PPP через Ethernet. В основном используется DSL сервисами. Предоставляет дополнительные возможности (аутентификация, сжатие, шифрование).

Теперь расшифруем данное описание, позаимствованное с http://ru.wikipedia.org. Есть масса абонентов, которые включаются, фактически, через Ethernet. Это клиенты, подключенные через DSL-модемы, домашние пользователи (включенные в домовые ethernet-сети). Мы должны обеспечить следующий функционал:

  • авторизация пользователей из биллинга для включения/выключения услуги
  • динамическая установка ограничений по полосе пропускания (traffic-shaper)
  • упрощение настройки абонентской стороны
  • экономия IP-адресов

Для этого и используется PPPoE. Из биллинга с использованием протокола авторизации RADIUS выставляется скорость на интерфейсе абонента, для подключения достаточно знать только логин и пароль – остальное выдается автоматически. Адреса экономятся существенно – выдается только один адрес на абонента (при традиционном подключении с выделением отдельного VLAN – целых 4 адрес на абонента минимум).

Таким образом, PPPoE является стандартным протоколом для массового подключения абонентов.

Как происходит PPPoE соединение ? Клиентское устройство (компьютер, маршрутизатор, модем с функциями маршрутизатора) шлет широковещательный (broadcast) пакет PADI (PPPoE Active Discovery Initiation). Широковещательный потому, что клиентское устройство (далее – CPE) нек знает MAC-адрес других устройств в сети. PADI пакет имеет адрес получателя ff:ff:ff:ff:ff:ff.

PPPoE сервер, получив данный запрос, отвечает пакетом PADO (PPPoE Active Discovery Offer). В данном пакете PPPoE сервер указывает свой MAC-адрес для дальнейшего обмена данными.

После этого CPE шлет запрос PADR (PPPoE Active Discovery Request). В данном запросе указывается логин/пароль и прочая необходимая информация для начала сессии. Данный пакет шлется в режиме unicast – на конкретный, не широковещательный адрес PPPoE сервера, который пришел CPE в пакете PADO.

PPPoE сервер, получив PADR, проводит авторизацию, создает интерфейс с необходимыми параметрами и отвечает пакетом PADS (PPPoE Active Discovery Session-confirmation). Сессия создана и полностью работоспособна.

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

Подводя небольшой итог: хотите высокопроизводительную сеть и не желаете терять средства из-за “бизнесменов с adsl” – пользуйте port isolation и поставьте пару маршрутизаторов для терминации PPPoE-подключений.

 

Tags:

Leave a Reply

You must be logged in to post a comment.

  1. ukrainka

    апреля 1, 2008 at 09:15

    точка зрения имеет право на жизнь :-)
    но очень спорна.
    хотя с моей точки зрения VPN или pppoe в СВОЕЙ собственной сети лишены смысла.
    - современные коммутаторы доступа оснащены богатым функционалом безопасности. тот же 3526 умеет практически все! фплоть до фильтрации packet_content
    - DHCP снимает проблему настройки клиента полностью – даже если переставил винду получил все автоматом.
    - как быть с приоритезацией на уровне доступа если используется pppoe ?? чтоб в телефоне не хрюкало и не квакало когда юзер качает фильм.

    дополнительно pppoe добавляет проблем
    - потерял логин/пароль, винду переставил – вызывай мастера (домохозяйка pppoe не настроит)
    - появление левых pppoe серверов нужно фильтровать. это накладывает теже требования на коммутатор доступа что и в первом варианте.
    - если в сети есть DC или медиа сервера, то необходимо вручную прописывать маршрутизацию на них, т.к. VPN или PPPOE поднимает дефолт и куку.

     
  2. Дмитрий

    апреля 2, 2008 at 16:52

    Привет!
    а DHCP проблем не добавляет :) Сетевуху заменил – и все, расскажи клиенту, как mac посмотреть. С логином и паролем проще, да и если можешь клиента идентифицировать по телефону, можно и продиктовать.

    Хотя, если “своя собственная” сеть в квартире – можно и не пользовать :) Мне дома DI-524UP хватает :)

    Далее – я же говорил о тотальном контроле. Да, и dc++ гонять через pppoe – не сильно это накладно при современном развитии этого дела. QoS – в кошках работает в т.ч. при PPPoE, совершенно нормально можно policy сделать.

    Левые pppoe – а для этого и port isolation/private vlan/etc. Клиент на этапе установления подключения видит только твой сервер, а не сотню коллег по сети.

    Еще раз подчеркну – речь идет о масштабных сетях, и вышеперечисленные решения мы или используем или планируем использовать, т.к. хомутов наловили. К тому же мы не совсем домашняя сеть, так сказать :)

     
  3. Евгений

    июня 20, 2008 at 18:13

    Привет!
    долго думал в комментарий какого из постов написать) решил сюда, вроде как по “теме” подходит)
    Предыстория:
    “Я живу на пер.Пятигорского, который напротив бульвара Б.Хмельницкого, подключен к сети от провайдера Велта Ко., небольшого провайдера, имеющего каналы инетные и kh-ix от УкрСата. Альтернатив у меня в плане выбора сети нет, так как другие сети не хотят сюда приходить – дома маленькие и полны бабушек :) Качество инета у провайдера ужасное, заплаченные 256 кбит в жизни не видел, а больших по скорости тарифов нет :) kh-ix хороший, бывает до 10 мбит.”
    Вопрос собственно следующий:
    “Могу ли я у ИТЛ покупать интернет по ВПН? возможно у вас для клиентов стоят публичные впн-сервера, смотрящие в kh-ix? Пробовал найти вашу вай-фай точку, но как ноут так и КПК ничего не нашел. Звонил в кол-центр, обещали перезвонить, но так и не дождался”

    P.S.: извини, если не туда написал, просто пробовал зарегистрироваться на форуме и написать в соответствующую тему, на ящик письмо с активацией аккаунта так и не пришло (2 разных ящика указывал)
    Ответь по возможности быстрее)

     
  4. Дмитрий

    июня 21, 2008 at 09:00

    Я бы не хотел обсуждать тут уж явно “дела абонентские”. Тем не менее – VPN-доступ мы поддерживаем со всего интернета, так что если Ваш провайдер не будет против – можно пробовать :) Я Вам в почту отпишу, куда обратиться за тестом.

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