LINUX.ORG.RU
ФорумAdmin

iptables: как выявить на какой хост идет трафик?

 , , ,


0

1

Доброго времени суток, уважаемые форумчане. Исходные данные:

  • Роутер DIR300
  • прошивка: Firmware: DD-WRT v24-sp2
  • подключен к интернет и имеет постоянный внешний IP

Вопрос: можно ли с помощью правил в iptables как-то определить на какой хост (IP) идет трафик, если он

превышает определенное значение?

Ну например, если трафик на какой-то хост более 1Мб/сек, то сделать запись в лог (чтобы в логе можно было

увидеть, на какой IP этот трафик идет). Разумеется количество записей в лог можно ограничить, чтобы не

засорять. Хотя даже можно не байты считать, а количество пакетов в сек - и этого будет достаточно.

Насколько я понимаю, надо:

  • все пакеты с состоянием ESTABLISHED,RELATED как-то разделять: на каждый IP - своя метка
  • потом подсчитывать по каждой метке колич. пакетов за определенной время
  • потом уже записать в лог информацию кто и откуда льет трафик

Но как это реализовать с помощью правил не знаю. Может, кто что подскажет? Буду благодарен :)

p.s. Если с помощью IPtables это сделать нельзя, то, может быть, подскажете, какие другие варианты возможны?


Самое банальное — просто добавить ACCEPT-правило для определенного IP-адреса назначения или источника. iptables будет считать количество байт, которое прошло через это правило.

Также можно использовать модуль iptables hashlimit или, если подойдёт логирование каждой TCP-сессии, а не суммарного количества переданных данных на один IP-адрес, то connbytes.

ValdikSS ★★★★★ ()
Последнее исправление: ValdikSS (всего исправлений: 1)

Стандартными правилами iptables - считай нельзя.

Теоретически, с помощью ipset (набор типа ip:hash со счетчиком) можно подсчитывать трафик, но это IMHO не совсем удобно.

Если для dd-wrt есть ipt_NETFLOW, то можно попробовать использовать его, а дальше на коллекторе выявлять основных потребителей.

Вариант ValdikSS с добавлением правил - это лютый 3.14ц

Вариант с hashlimit теоретически может работать.

vel ★★★★★ ()

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

Busf ()