Назад | Перейти на главную страницу

постоянно контролировать ip_conntrack для отслеживания просмотра на маршрутизаторе NAT

Итак, у меня есть сервер, который также выполняет NAT (маскировку) для моей локальной сети и перенаправляет весь интернет-трафик на шлюз.

Мне нужно знать, кто какие сайты посещает в моей локальной сети. Я не хочу проходить весь маршрут прокси-сервера SQUID.

Я (очень удивительно?) Не смог найти ни одного программного обеспечения, которое бы с этим легко справлялось.

AFAICT, / proc / net / ip_conntrack должен содержать всю необходимую мне информацию, потому что все подключения к моей локальной сети проходят через NAT.

Поэтому я собрал небольшой скрипт, который просто разрешает DNS все записи в ip_conntrack и регистрирует их.

Мой план состоял в том, чтобы просто сделать «tail -f / proc / net / ip_conntrack | my_script.pl» и покончить с этим, но tail-f, похоже, не работает с этим файлом? Он сбрасывает много строк, а затем останавливается.

Как я могу получать каждое новое соединение с NAT на моем сервере в реальном времени? Я пропустил готовое программное обеспечение, которое просто сообщает мне, кто в моей локальной сети разговаривает с каким сервером в Интернете через этот NAT?

В /proc/net/ip_conntrack это не файл журнала, который tail -f будет работать дальше. Это больше похоже на API, который при запросе возвращает текущее состояние памяти.

Чтобы получить такие же результаты, вы, вероятно, могли бы добавить правило netfilter (iptables), которое регистрировало трафик, о котором вам нужно знать. Затем просто следите за своим файлом системного журнала, в который попадают эти конкретные сообщения ядра.

Хотя, на мой взгляд, это более или менее бессмысленно, поскольку обратный DNS используемых IP-адресов не будет близок к надежному сообщению о том, что люди собираются делать. Огромная часть Интернета теперь находится на CDN или облачных сервисах, таких как Amazon / Azure / Google и т. Д. Ваш обратный DNS для чего-то большого, вероятно, просто скажет вам, что большая часть посещаемого вами контента размещена на одной из многих облачных служб.

Также имеется красивый netstat-nat инструмент, который отображает NAT-соединения, управляемые netfilter / iptables. Программа считывает информацию из /proc/net/ip_conntrack или /proc/net/nf_conntrack, который является временным хранилищем файлов netfilter.

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