Jump to content
Калькуляторы

Страница предупреждения как создать?

Здравствуйте! Надеюсь написал в том разделе.

Задача - сделать разовую страничку предупреждения(объявления) для пользователей в сети. (Должна показаться пользователю 1 раз).

Железки:

Интернет <-> (основной маршрутизатор Debian)<-> Сеть 192.168.0.0/24

<-> ещё маршрутизатор(Debian) <-> сеть 192.168.1.0/24

Имеются 2 сети, 2 маршрутизатора: основной(с одной сеткой), к нему подключен другой маршрутизатор (со второй сеткой).

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

Появилась необходимость показать пользователю страничку с объявлением(1 раз на 1 пользователя), когда он пытается открыть любой сайт.

Подскажите в какую сторону копать на основном маршрутизаторе. как отсеивать пользователей кто видел эту страницу, а кто нет?

Возможно ли это сделать через iptables. Или проще поднять squid(если там есть такое).

Share this post


Link to post
Share on other sites
как отсеивать пользователей кто видел эту страницу, а кто нет?

Единственный способ - кнопка на странице "Я фсио прочитал, го инет".

 

Иначе, в интернет у пользователя вперёд него пойдёт аська/скайп и "просмотрит" эту страничку.

 

Сделать можно так:

1. Поднимаеи http сервер и кладём на него страничку, как индексную. Чтобы страничка выскакивала прямо по ip сервера.

2. в iptables делаем так:

iptables -A PREROUTING -s <Абонент, который видел1> -j ACCEPT

iptables -A PREROUTING -s <Абонент, который видел2> -j ACCEPT

.........

iptables -A PREROUTING -p TCP --dport 80 -j DNAT --to <ip уеб сервера>

 

3. По нажатию кнопки на страничке для абонентика скриптом добавляется iptables -I PREROUTING -s <Абонент, который видел1> -j ACCEPT

Share this post


Link to post
Share on other sites

Возможно ли это сделать по MAC? Маршрутизатор не один же.

Как определять пользователей?

Тоесть PHP на web сервере по нажатию ссылки "видел" запишет в iptables нужные данные? или какой скрипт?

Другая подсеть находиться на NAT'ом просто.

По ip не вариант.

Edited by Nekit73rus

Share this post


Link to post
Share on other sites
Возможно ли это сделать по MAC?
В локальной (той, ктороая физически подключена к маршрутизатору) можно. В сети, которая за маршрутизатором - нет. В этом и есть суть работы маршрутизатора.

 

Как определять пользователей?
Вам виднее. Что вообще такое "пользователь" с технической стороны?

 

Тоесть PHP на web сервере по нажатию ссылки "видел" запишет в iptables нужные данные? или какой скрипт?
СКРИПТ из трёх сточек, написанный на PHP или на чём вы там осилите его написать, добавит строчку в iptables. Вероятно, воспользовавшись механизмом sudo. Готовых решений нет в виду тривиальности задачи.

 

Другая подсеть находиться на NAT'ом просто.

По ip не вариант.

 

а. Вытаскивайте сеть из за ната.

б. Делайте аналогичную схему на втором маршрутизаторе. Сейчас "основной маршрутизатор" не знает НИЧЕГО о вашей второй сети. Для него это один ip адрес и один MAC адрес "ещё маршрутизатора".

Share this post


Link to post
Share on other sites

из за NAT не получиться вытащить никак.

Схема на самом деле сложнее

Интернет <-> Основной маршрутизатор <-> Маршрутизатор 1 <-> Маршрутизатор 2

<-> Маршрутизатор 3

На каждом маршрутизаторе висит по сетке. Всё за NAT'ом.

Итого 4 сети изолированных друг от друга но с доступом в инет.

Изменить или вытащить из NAT уже проблема.

 

Видимо с такой схемой задача не решаема?

Хотя основной маршрутизатор отправляет же пакеты обратно клиентам? Он же сортирует их как то.

За что ещё можно зацепиться?

Подобная схема в Московском метро работает. Нажал "авторизоваться" и пользуешься.

Share this post


Link to post
Share on other sites
Видимо с такой схемой задача не решаема?
Реализуёте всё на КАЖДОМ маршрутизаторе. На одном - невозможно.

 

Хотя основной маршрутизатор отправляет же пакеты обратно клиентам? Он же сортирует их как то.
Он отправляет пакеты НЕ КЛИЕНТАМ. Он отправляет пакеты соседнему маршрутизатору а по клиентам пакеты "сортирует" уже сосед.

 

Невозможность вынуть сети из за НАТа связана с административными преградами? Просто, технических проблем я не вижу.

 

Подобная схема в Московском метро работает.
Мне неизвестны столь интимные подробности работы вафли в московкой подземке. Там действительно многократный НАТ?!

Share this post


Link to post
Share on other sites

это ограничение тут на 3 сообщения :(

В общем в случае с NAT'ом - есть маршрутизаторы в кабинетах... их не получиться вывести из за ната же.

Жаль что основной маршрутизатор не может выдернуть MAC адреса :(

Тогда придётся крутиться как то с cookies браузера.

 

Уж не знаю сколько НАТов в подземке но смысл там такой: зашёл в поезд, при открытии любой страницы перекидывает на ихнюю.. там нажимаешь "Авторизоваться" и начинает работать инет, пока не зайдёшь в другой поезд.

 

В моей теме многократный НАТ точно не избежен. Если б дело было только в маршрутизаторах, то на каждом можно было бы поднять веб сервак и т.п. Ещё используются роуторы, компы подключенные к ним получаются тоже за NAT'ом.

Edited by nkt73rus

Share this post


Link to post
Share on other sites
это ограничение тут на 3 сообщения :(
А вы начните не только брать из форума, но и отдавать на форум. После 10 постов не в свои темы ограничение снимется.

 

В общем в случае с NAT'ом - есть маршрутизаторы в кабинетах...
Вы поймите, тут был один телепат, так помер.. От перегрузки. Не знаем мы тут ни про какие кабинеты... И структуру сети вы выдаёте по каплям и противоречиво. В начале было два роутера на дебиане, теперь миллион роутеров по кабинетам. И все друг за другом.

 

Попытайтесь объяснить, для чего построена именно такая сложно-кривая структура. Почему сделана не плоская сеть, не сегментированная сеть с роутерами? Что за устройство подразумевается под "роутерами по кабинетам" и посему они обязательно должны НАТтить и не могут просто роутить, без ната?

Share this post


Link to post
Share on other sites

Развели там какой то зоопарк и теперь страдаете.

Ваша проблема больше организационная/административная, чем техническая.

Share this post


Link to post
Share on other sites

Жаль что тут не было ни одного полезного ответа, а лишь упрёки в "зоопарке" сети.

Всё это просто реализуется с помощью прозрачного squid на ура, который успешно работает с сессиями.

Порт 80 заворачивается на порт squid и воуля.

Спасибо всем за бесполезную информацию!

Тема закрыта.

Share this post


Link to post
Share on other sites
Всё это просто реализуется с помощью прозрачного squid на ура, который успешно работает с сессиями.
Школоло детектед.

 

Мессир, коли вы такой вумный, поделитесь с местными утюгами магической технологией прозрачного кальмара с ура-сессиями. Будьте ласковы.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this