Добрый день, уважаемые Гуру.
Прошу помощи и подсказки в каком направлении двигаться.
Что имеем:
1. «Локальная сеть» в который все пользователи выходят во внешний мир через linux машину (шлюз).
2. Каждый пользователь живет в отдельном vlan.
3. Пользователей имеем двух типов:
- с серым IP (NATится на шлюзе на каждого пользователя свой vlan, подсеть, DHCP)
- с белым IP (ходит через шлюз, на каждого пользователя отдельный vlan)
4. На шлюзе для каждого пользователя режем полосу пропускания с помощью iptables/tc.
Что необходимо:
1. Логирование запросов HTTP/HTTPS для всех пользователей, желательно чтобы хранилось в mysql (дата/время, IP источника(клиента), URL)
2. Запрет выхода на определенные сайты определенным пользователям (например пользователю А открыто все, пользователю Б запрет на vk.com, пользователю В запрет на целый список адресов)
3. Отсутствие настройки браузера у клиента.
Что я «надумал»:
1. Для пользователей с серым IP можно поднять прозрачный Squid, в принципе, на первый взгляд он все мои «хотелки» потянет, за исключением наверно HTTPS.
2. Для пользователей с белым IP большой вопрос как организовывать все это действо, возможно ли это все реализовать через Squid?
Сможет ли он только собирать логи и смотреть в ACL без подмены адреса источника?
У меня пока единственное предположение - с помощью iptables выдергивать первые n бит у пакета с портом назначения 80/443 и применять к ним -j LOG(ULOG), а затем внешними скриптами парсить это добро.
ACL в данном случае очень не хотелось бы реализовывать через iptables, костыль жуткий, да и правил будет тьма.
Подскажите пожалуйста пути решения, на верном ли я пути или есть более простые способы реализации задумки?
Заранее благодарен.