Как контролировать трафик интернета через роутер
Мониторинг домашнего роутера
Знакома ли вам ситуация «инет никакой»?
Обычно попытка исправления подразумевает:
— обход членов семьи (ну да, я качаю новый сезон «Доктор Хаус». А кому это может мешать?)
— перезагрузить роутер (ну завис я, завис — сутками всякую дрянь качаете..)
— не качаются ли обновления (приятная новость — новый Acrobat Reader. )
— нет ли у нас блошек (нашему ботнету сегодня дали большое домашнее задание)
— звонок провайдеру (наш канал работает как часы с самого основания компании)
— эм. может еще раз роутер?
…
Все получится, если ваш роутер поддерживает протокол SNMP — специальный протокол для телеметрии сетевых устройств и приложений. Разбираемся по инструкции к роутеру или веб-интерфейсу, есть ли у вас поддержка SNMP. В некоторых случаях появляется при установке неофициальных прошивок. Ищем его в веб интерфейсе, включаем. Запоминаем, как называется community name — это пароль, по которому показания SNMP вашего роутера доступны в сети (по умолчанию обычно public).
Рис. 1. Здесь все просто. Или поддержка SNMP есть, или ее нет.
Чтобы не потерять много времени впустую, давайте сделаем экспресс-проверку. Скачиваем библиотеку NET-SNMP. Из директории bin выполняем команду:
public — пароль для доступа к SNMP (community name)
192.168.1.1 — ip адрес роутера
Устанавливаем MRTG. На сайте подробное руководство по установке для UNIX и Windows. Для работы под Windows требуется PERL. Наиболее распространенный бесплатный дистрибутив PERL для Windows — это ActivePerl. Отдельной инструкции для Mac не сайте видел, однако поскольку MRTG — это не более чем программа на PERL, тоже должно работать.
Короткий путь начать мониторить траффик на сетевых интерфейсах роутера — это создать конфигурационный файл MRTG командой cfgmaker. Например, мой роутер ASUS WL-500g premium имеет 8 сетевых интерфейсов, и это позволяет видеть траффик со стороны провайдера, со стороны WiFi устройств (телефон и ноутбук), со стороны рабочей станции через Ethernet
Рис. 2. Из сопоставления графиков на разных интерфейсах видно, откуда идет траффик.
Рис. 3. Обычно нагрузка процессора на нуле. Она растет, когда качают несколько процессов на большой скорости. Используемая память меняется слабо.
Разумеется запускать mrtg вручную каждые 5 минут не нужно, а нужно создать задачу cron (Unix) пример:
Возможно, возможности вашего роутера значительно шире, и вы можете получать значительно больше информации — МАС адреса клиентов, траффик по MAC адресам, и так далее. Да поможет вам Google!
P.S. Данная заметка, разумеется, не ориентирована на специалистов по сетевой инфраструктуре. Просто я совершенно случайно открыл для себя букавы SNMP и уверен, что не одинок в этом. Возможно, кому-то это поможет при выборе нового роутера.
В комментариях открыл для себя суперпрошивку DD-WRT. Теперь вот думаю…
Ограничение и контроль интернет трафика на роутере
Читайте о функции контроля Интернет трафика на роутере. А также, как ограничить пропускную способность Интернета на Wi-Fi роутере, на примере TP-LINK. Рассмотрим способы ограничения трафика как для всех устройств, так и для какого-то отдельного.
Нередко бывают ситуации, когда нужно ограничить скорость интернета на роутере. И в этом видео я подробно покажу, как ограничить скорость подключения к Интернет на примере роутера TP-LINK Archer C20. Рассмотрим два случая: ограничение скорости подключения абсолютно для всех устройств, и ограничение скорости для отдельного или нескольких устройств. Например, для нескольких компьютеров, телефона, планшета и т. д.
Контроль пропускной способности
Итак, прежде чем перейти к настройке пропускной способности роутера, необходимо включить функцию контроля пропускной способности, и задать исходящую и входящую скорость, которую предоставляет интернет-провайдер.
Перейдите в настройки роутера. Как это сделать я детально рассказывал в одной из предыдущих статей о базовых настройках роутера.
В настройках роутера перейдите на вкладку “Контроль пропускной способности” и поставьте галочку возле пункта «Включить контроль пропускной способности».
Задайте Исходящую пропускную способность и Входящую пропускную способность. Это та скорость, которую вам даёт интернет-провайдер. Например, если провайдер дает 100 Мбит/с на загрузку и на выгрузку, то нам нужно эти 100 Мбит/с перевести в Кбит/с, и указать в соответствующих полях. Перевести очень просто: 100 Мбит/с умножаем на 1024 Кбит/с = 102 400 Кбит/с. Эти данные и вносим.
Нажмите «Сохранить», для фиксирования внесённых изменений.
Теперь осталось только задать настройки ограничения скорости, которые нам необходимы. Как я говорил, мы рассмотрим настройки ограничения для всех устройств, которые подключены к роутеру, и способ ограничения только для определенных устройств.
Ограничение скорости передачи по Wi-Fi сети
Чтобы ограничить скорость по Wi-Fi сети для всех устройств:
Зайдите в настройки роутера. Перейдите на вкладку “DHCP”, и посмотрите, какой диапазон IP адресов там задан. Нас интересуют поля «Начальный IP-адрес» и «Конечный IP-адрес». Можете их запомнить или скопировать.
После этого, перейдите на вкладку «Контроль пропускной способности». Здесь нужно создать новое правило контроля пропускной способности. Для этого нажмите кнопку «Добавить».
Отметьте галочкой «Включить». И укажите диапазон IP-адресов, которые мы смотрели на вкладке “DHCP”, в соответствующем поле.
Поле Диапазон портов оставляем пустым.
Протокол – выбираем “ВСЕ”.
Приоритет. По умолчанию стоит 5, можно так и оставить.
Укажите максимальную исходящую и входящую пропускную способность. Минимальное значение, обычно ставиться минимально допустимое – 1. Максимальное, я поставлю 10 Мегабит. То есть – 10 240 Килобит в секунду.
Такой же устанавливаю и Входящую пропускную способность. Это та скорость, с которой устройство будет получать информацию с интернета. Но можно указать как большее, так и меньшее значение.
Теперь, ко ВСЕМ подключаемым к роутеру устройствам будет применено правило, которое мы создали в настройках управления пропускной способностью. А именно входящая и исходящая скорость будет ограничена 10 (десятью) мегабитами.
Ограничение скорости интернета для отдельных устройств
Этот способ более сложный. Но, в настройках роутера можно установить максимальную скорость для каждого устройства. Привязываются эти настройки по IP-адресу.
Поэтому, сначала нам нужно привязать выдаваемый роутером IP-адрес к MAC-адресу устройства, для которого мы хотим огранить скорость. Это нужно для того, чтобы определенное устройство всегда получало один и тот же IP-адрес, для которого будут заданы настройки пропускной способности.
Как привязать IP-адрес к MAC-адресу устройства?
Чтобы привязать IP-адрес к MAC-адресу устройства, нужно перейти в настройки роутера, на вкладку «DHCP» / «Список клиентов DHCP».
Здесь вы увидите список устройств, которые сейчас подключены к роутеру. Нам нужно посмотреть и скопировать MAC-адрес нужного устройства. Также, можете обратить внимание на IP-адрес, который в данный момент присвоен устройству.
Если устройство, для которого нужно задать настройки пропускной способности на данный момент не подключено к роутеру, то его MAC-адрес можно посмотреть в настройках, где-то в разделе “Об устройстве” (если это мобильное устройство).
Как узнать MAC-адрес Android устройства?
Например, в Андроид смартфоне перейдите в Настройки / О телефоне / Статус. MAC-адрес устройства указан в пункте MAC-адрес.
Как узнать MAC-адрес Windows ПК?
В Windows, перейдите в Параметры сети и Интернет / Настройки параметров адаптера.
Кликните правой кнопкой мыши на сетевом адаптере с помощью которого осуществляется подключение, и выберите Состояние / Сведения.
Физический адрес – это и будет MAC-адрес сетевого адаптера компьютера.
Как зарезервировать за устройством IP-адрес по его MAC-адресу?
MAC-адрес нужного устройства мы уже знаем. Теперь:
Переходим на вкладку «DHCP» / «Резервирование адресов». На данной странице указывается статический IP-адрес, назначенный DHCP-сервером. Внизу можно настроить соответствующие параметры резервирования IP-адресов.
Нажимаем «Добавить» и вводим MAC-адрес нашего устройства.
Затем, указываем IP-адрес, который будет закреплен за этим устройством (можно использовать адрес со страницы «Список клиентов DHCP»), или, например, указать 192.168.1.120 (если у вас IP-адрес роутера 192.168.0.1, то адрес будет 192.168.0.120).
Ставим состояние «Включено» и сохраняем настройки.
Таким способом можно привязать необходимое количество устройств. Или удалить/отредактировать созданное правило. Главное, запомните IP-адрес, который мы задали. По нему мы будем задавать максимальную скорость для этого устройства.
Полную версию статьи со всеми дополнительными видео уроками смотрите в источнике.
Контроль трафика в локальной сети: особенности и рекомендации
Практические рекомендации по контролю сетевого трафика в компаниях и организациях. Для чего нужен мониторинг и отслеживание трафика? Как лучше всего реализовать? Boodet.online.
Контроль интернет-трафика в сети
Если не контролировать интернет-трафик в рабочей сети, часть пользователей обязательно воспользуется этим в личных целях. Периодически отвлекаться во время работы — это физиологическая потребность организма. Проблема в том, что не всегда работники выбирают для этого маломощные ресурсы. Даже посмотрев небольшой видеоролик, можно существенно увеличить нагрузку на рабочую сеть, если это видео в HD. Эта нагрузка может оказаться критичной, если в соседнем отделе выгружают отчеты в 1С или бэкап, деплоят приложение.
Контролировать трафик в сети нужно обязательно. Обычно этим занимается системный администратор. Специалисты Boodet.Online расскажут, как отслеживать и мониторить трафик в локальной сети.
Для чего это нужно?
Зачем контролировать трафик в корпоративной сети? Даже если компания подключена к корпоративному тарифу, нецелевое использование интернета может нанести ущерб бизнесу.
Основные причины ограничений:
снижение пропускной способности канала;
эффективное использование рабочего времени;
обеспечение безопасности корпоративной информации;
снижение вероятности простоя сетевых сервисов.
Администрировать активность пользователей можно с помощью специализированных сервисов и программ. Несмотря на обилие сервисов, контроль трафика — это сложная комплексная задача. Если ее не решить, то даже кратковременная остановка сети спровоцирует серьезные финансовые потери для бизнеса. Потери для государственных организаций могут быть намного серьезнее — вплоть до утраты критически важных данных.
Принципы организации учёта IP-трафика
Любой администратор рано или поздно получает инструкцию от руководства: «посчитать, кто ходит в сеть, и сколько качает». Для провайдеров она дополняется задачами «пустить кого надо, взять оплату, ограничить доступ». Что считать? Как? Где? Отрывочных сведений много, они не структурированы. Избавим начинающего админа от утомительных поисков, снабдив его общими знаниями, и полезными ссылками на матчасть.
В данной статье я постараюсь описать принципы организации сбора, учёта и контроля трафика в сети. Мы рассмотрим проблематику вопроса, и перечислим возможные способы съема информации с сетевых устройств.
Это первая теоретическая статья из цикла статей, посвящённого сбору, учёту, управлению и биллингу трафика и IT-ресурсов.
Структура доступа в сеть Интернет
В общем случае, структура доступа в сеть выглядит следующим образом:
Сетевой трафик
Для начала необходимо определить, а что же подразумевается под «сетевым трафиком», и какую полезную статистическую информацию можно извлечь из потока пользовательских данных.
Доминирующим протоколом межсетевого взаимодействия пока остается IP версии 4. Протокол IP соответствует 3му уровню модели OSI (L3). Информация (данные) между отправителем и получателем упаковывается в пакеты – имеющие заголовок, и «полезную нагрузку». Заголовок определяет, откуда и куда идет пакет (IP-адреса отправителя и получателя), размер пакета, тип полезной нагрузки. Основную часть сетевого трафика составляют пакеты с полезной нагрузкой UDP и TCP – это протоколы 4-го уровня (L4). Помимо адресов, заголовок этих двух протоколов содержит номера портов, которые определяют тип службы (приложения), передающего данные.
Для передачи IP-пакета по проводам (или радио) сетевые устройства вынуждены «оборачивать» (инкапсулировать) его в пакет протокола 2го уровня (L2). Самым распространенным протоколом такого типа является Ethernet. Фактическая передача «в провод» идет на 1м уровне. Обычно, устройство доступа (маршрутизатор) не занимается анализом заголовков пакетов на уровне, выше 4го (исключение – интеллектуальные межсетевые экраны).
Информация из полей адресов, портов, протоколов и счетчики длин из L3 и L4 заголовков пакетов данных и составляет тот «исходный материал», который используется при учёте и управлении трафиком. Собственно объем передаваемой информации находится в поле Length («Длина пакета») заголовка IP (включая длину самого заголовка). Кстати, из-за фрагментации пакетов вследствие механизма MTU общий объем передаваемых данных всегда больше размера полезной нагрузки.
Суммарная длина интересных нам в данном контексте IP- и TCP/UDP- полей пакета составляет 2. 10% общей длины пакета. Если обрабатывать и хранить всю эту информацию попакетно, не хватит никаких ресурсов. К счастью, подавляющий объем трафика структурирован так, что состоит из набора «диалогов» между внешними и внутренними сетевыми устройствами, так называемых «потоков». Например, в рамках одной операции пересылки электронного письма (протокол SMTP) открывается TCP-сессия между клиентом и сервером. Она характеризуется постоянным набором параметров . Вместо того, чтобы обрабатывать и хранить информацию попакетно, гораздо удобнее хранить параметры потока (адреса и порты), а также дополнительную информацию – число и сумму длин переданных пакетов в каждую сторону, опционально длительность сессии, индексы интерфейсов маршрутизатора, значение поля ToS и прочее. Такой подход выгоден для ориентированных на соединение протоколов (TCP), где можно явно перехватить момент завершения сессии. Однако и для не ориентированных на сессии протоколов можно проводить агрегацию и логическое завершение записи о потоке по, например, таймауту. Ниже приведена выдержка из SQL-базы собственной системы биллинга, осуществляющей протоколирование информации о потоках трафика:
Необходимо отметить случай, когда устройство доступа осуществляет трансляцию адресов (NAT, маскарадинг) для организации доступа в Интернет компьютеров локальной сети, используя один, внешний, публичный IP-адрес. В этом случае специальный механизм осуществляет подмену IP-адресов и TCP/UDP портов пакетов трафика, заменяя внутренние (не маршрутизируемые в Интернете) адреса согласно своей динамической таблице трансляции. В такой конфигурации необходимо помнить, что для корректного учета данных по внутренним хостам сети съём статистики должен производиться способом и в том месте, где результат трансляции ещё не «обезличивает» внутренние адреса.
Методы сбора информации о трафике/статистике
Снимать и обрабатывать информацию о проходящем трафике можно непосредственно на самом устройстве доступа (ПК-маршрутизатор, VPN-сервер), с этого устройства передавая ее на отдельный сервер (NetFlow, SNMP), или «с провода» (tap, SPAN). Разберем все варианты по-порядку.
ПК-маршрутизатор
Рассмотрим простейший случай – устройство доступа (маршрутизатор) на базе ПК c ОС Linux.
Libpcap
В первом случае копия пакета, проходящего через интерфейс, после прохождения фильтра (man pcap-filter) может быть запрошена клиентской программой на сервере, написанной с использованием данной библиотеки. Пакет поступает вместе с заголовком 2го уровня (Ethernet). Можно ограничить длину захватываемой информации (если нас интересует только информация из его заголовка). Примерами таких программ могут быть tcpdump и Wireshark. Существует реализация libpcap под Windows. В случае применения трансляции адресов на ПК-маршрутизаторе такой перехват можно осуществлять только на его внутреннем интерфейсе, подключенном к локальным пользователям. На внешнем интерфейсе, после трансляции, IP-пакеты не содержат информации о внутренних хостах сети. Однако при таком способе невозможно учесть трафик, создаваемый самим сервером в сети Интернет (что важно, если на нем работают веб– или почтовый сервис).
При передаче пакета через выбранный интерфейс, после прохождения фильтра эта функция получает буфер, содержащий Ethernet, (VLAN), IP и т.д. заголовки, общим размером до snaplen. Поскольку библиотека libcap копирует пакеты, заблокировать их прохождение при ее помощи невозможно. В таком случае программе сбора и обработки трафика придется использовать альтернативные методы, например вызов скрипта для помещения заданного IP-адреса в правило блокировки трафика.
Межсетевой экран
Поскольку IP-пакет не копируется, а пересылается в программное обеспечение для анализа, становится возможным его «выброс», а следовательно, полное или частичное ограничение трафика определенного типа (например, до выбранного абонента локальной сети). Однако в случае, если прикладная программа перестала отвечать ядру о своем решении (зависла, к примеру), трафик через сервер просто блокируется.
Необходимо отметить, что описанные механизмы при существенных объемах передаваемого трафика создают избыточную нагрузку на сервер, что связано с постоянным копированием данных из ядра в пользовательскую программу. Этого недостатка лишен метод сбора статистики на уровне ядра ОС, с выдачей в прикладную программу агрегированной статистики по протоколу NetFlow.
Netflow
Этот протокол был разработан фирмой Cisco Systems для экспорта информации о трафике с маршрутизаторов с целью учета и анализа трафика. Наиболее популярная сейчас версия 5 предоставляет получателю поток структурированных данных в виде UDP-пакетов, содержащих информацию о прошедшем трафике в виде так называемых flow records:
Объем информации о трафике меньше самого трафика на несколько порядков, что особенно актуально в больших и распределенных сетях. Конечно же, блокировать передачу информации при сборе статистики по netflow невозможно (если не использовать дополнительные механизмы).
В настоящее время становится популярным дальнейшее развитие этого протокола – версия 9, основанная на шаблонной структуре flow record, реализации для устройств других производителей (sFlow). Недавно был принят стандарт IPFIX, который позволяет передавать статистику и по протоколам более глубоких уровней (например, по типу приложения).
Реализация netflow-источников (агентов, probe) доступна для ПК-маршрутизаторов, как в виде работающих по описанных выше механизмам утилит (flowprobe, fprobe, softflowd), так и непосредственно встроенных в ядро ОС (FreeBSD: ng_netgraph, Linux: ipt_neflow). Для программных маршрутизаторов поток статистики netflow можно принимать и обрабатывать локально на самом маршрутизаторе, или отправлять по сети (протокол передачи – поверх UDP) на принимающее устройство (коллектор).
Программа — коллектор может собирать сведения от многих источников сразу, имея возможность различать их трафик даже при пересекающихся адресных пространствах. При помощи дополнительных средств, таких как nprobe возможно также проводить дополнительную агрегацию данных, раздвоение потоков или конвертацию протоколов, что актуально при управлении большой и распределенной сетью с десятками маршрутизаторов.
Функции экспорта netflow поддерживают маршрутизаторы Cisco Systems, Mikrotik, и некоторые другие. Аналогичный функционал (с другими протоколами экспорта) поддерживается всеми крупными производителями сетевого оборудования.
Libpcap “снаружи”
Отдельно стоит рассмотреть случай доступа пользователей к сети путем явного установления соединения к серверу доступа. Классическим примером может служить старый добрый dial-up, аналогом которого в современном мире являются VPN-службы удаленного доступа (PPTP, PPPoE, L2TP, OpenVPN, IPSEC)
Устройство доступа не только маршрутизирует IP-трафик пользователей, но также представляет из себя специализированный VPN-сервер, и терминирует логические туннели (часто зашифрованные), внутри которых передается пользовательский трафик.
Для учета такого трафика можно пользоваться как всеми средствами, описанными выше (и для глубокого анализа по портам/протоколам они хорошо подходят), так и дополнительными механизмами, которые предоставляют средства управления VPN-доступом. В первую очередь речь пойдет о протоколе RADIUS. Его работа – достаточно сложная тема. Мы же кратко упомянем, что контролем (авторизацией) доступа к VPN-серверу (RADIUS-клиенту) управляет специальное приложение (RADIUS-сервер), имеющее за собой базу (текстовый файл, SQL, Active Directory) допустимых пользователей с их атрибутами (ограничения по скорости подключения, назначенные IP-адреса). Помимо процесса авторизации, клиент периодически передает серверу сообщения аккаунтинга, информацию о состоянии каждой текущей работающей VPN-сессии, в том числе счетчики переданных байт и пакетов.
Заключение
Сведем все описанные выше методы сбора информации о трафике воедино: