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

Ведение журнала доступа к Интернету для каждого пользователя

Позвольте мне предварить это, сказав, что у меня немного странная сеть.

Маршрутизатор LAN 1: 10.0.0.254/24, Интернет через DSL на 10.0.0.254. Маршрутизатор LAN 2: 172.16.2.254/24, шлюз по умолчанию: 10.0.0.254 (LAN 2 - это частная ссылка на другое место, которое использует наш канал для Интернета)

Маршрутизатор в LAN 2, к сожалению, использует NAT для всего трафика с 172.16.2.0/24. Я не могу сменить этот роутер - NAT нельзя отключить.

Предполагая, что единственный маршрутизатор, над которым я контролирую, - это LAN 1 (это Linux-система): как я могу зарегистрировать использование (IP-адрес назначения + порт) для пользователя? Раньше я связывал пользователей по MAC-адресу, но теперь с этим другим маршрутизатором исходный MAC-адрес будет скрыт - точно так же исходный IP-адрес будет потерян.

Я не видел никаких доказательств того, что аутентификация 802.1X работает на чем-либо, кроме сетевого уровня, так что, похоже, этого тоже нет.

Единственный вариант, который мне кажется оставшимся, - это использовать прокси-сервер SOCKS и требовать, чтобы все клиенты настраивали себя для его использования, однако в этом тоже есть свои подводные камни (ограниченная поддержка клиентов, обрабатывает только TCP и UDP, увеличивает загрузку ЦП на маршрутизаторе).

Я что-то пропустил? Как я могу подойти к этой проблеме?

Это сложная проблема.

Лучшим решением было бы заменить маршрутизатор LAN2 чем-то, что вы действительно можете контролировать. Если вы не можете отключить NAT, вероятно, есть другие места, где этот маршрутизатор не справляется. Однако я подозреваю, что вы не можете заменить этот маршрутизатор чем-то более подходящим по политическим причинам (иначе вы бы уже сделали это ...).

Моим первым предложением было бы разместить где-нибудь прокси-сервер Squid и использовать этот журнал для доступа каждого пользователя в Интернет. В Лучший место для его размещения будет в LAN1, но тогда весь веб-трафик от клиентов в LAN2 будет исходить от маршрутизатора LAN2 благодаря NAT. Вы мог поместите его ниже по потоку от маршрутизатора LAN2, но тогда вам придется портировать fowrard через NAT, чтобы клиенты из LAN1 могли получить к нему доступ. Это некрасиво.

Другая идея - полагаться на что-то вроде Netflow, SFlow или RMON, если ваша коммутационная инфраструктура в LAN2 (и LAN1) поддерживает это. Просто перенаправьте соответствующие порты через маршрутизатор LAN2 и поместите коллектор потоков в LAN1. К сожалению, анализ потока в значительной степени не знает Layer-7, поэтому, хотя вы сможете измерять трафик, статистику использования и счетчиков, вы не получите ориентированных на HTTP деталей, которые предоставляет веб-прокси. Тем не менее, это может быть лучше, чем ничего.

Похоже, что типичные сетевые инструменты не будут работать в этом сценарии. Даже WebSense использует агент DC для сопоставления IP-адреса учетной записи пользователя для прозрачности. Без уникального идентификатора (mac или IP) для каждого клиента, я думаю, вы на правильном пути, что вам придется заставить их аутентифицироваться через прокси.