У нас в офисе появилось требование.Люди пришедшие в офис поключившись к WI-FI для доступа в интернет сначала перекидывались на специальную страничку
в которой:
1 Если гость - тогда он перекидывается на прокси (в котором все настроено)
2 Если вводит логин и пароль - получает тот-же банальный FORWARD на ip + mac.
Понятное дело что тут и скрипт проверяет базу сотрудников, и если есть логин+пароль+IP+MAC то он пускает в интернет.
Если человек не знает ни логина ни пароля, он нажимает волшебную кнопочку "Гостевой вход", и он перекидывается на проксю.
С программированием все понятно, правила исполняются.
Но вот с iptables.
Необходимо создать 3 chains (цепочки)
1 любой первый запрос в интернет, выкидывает на страницу компании.
2 если гость в цепочку squid
3 если сотрудник в цепочку forwards
Суть в том что REDIRECT в цепрочку ставить нельзя (выдает неизвестную ошибку - и это правильно, REDIRECT модуль).
Заставить iptables перехватывать по портам, это будет глупо половина запросов польются в проксю.
Как это реализовать? я уже ночь просидел. Перечитал маны.
И понял одно "Это не реально".
Но в жизни нет не реальных вещей.
Но страница перекидки обязательна.