Каждый из нас подключался к беспроводной сети (аэропорты, кафе и тд) где необходимо согласится с некоторыми условиями или пройти авторизации прежде чем начинать пользоваться интернетом. Такая технология называется captive portal.
В мою задачу входило создать captive portal где каждому пользователю раз в 30 минут будет показываться определенный сайт (реклама), и пока он не нажмет «кнопочку» «далее» интернета не будет.
- Wifi-точка доступа любая (на практике можно использовать и проводной интернет)
- Маршрутизатор на любой *nix системе (в моем случае это debian wheezy)
- Любой пакет пришедший на маршрутизатор маркируем
- Любой запрос на 80 порт (пакеты уж маркированны) перенаправляем на нужную нам страницу
- При «авторизации»(нажатии кнопки далее) пользователя добавляем его мак в исключения и разрешаем доступ в интернет
- Скрипт вычисляет у кого прошел лимит времени и удаляет данного клиента.
У нас имеется маршрутизатор на базе debian, где eth0 — локальная сеть в моем случае (192.168.11.0/24), eth0:1 — интерфейс который смотрит в интернет.
ВЫЖИВАНИЕ В МАЙНКРАФТ НА ОДНОМ БЛОКЕ С АЧИВКАМИ! — CAPTIVE MINECRAFT #1
Настройку интерфейсов мы пропустим, это каждый выполнит сам. Сразу перейдем к настройке iptables, я обычно прописываю iptables в rc.local:
/etc/rc.local
IPTABLES=»/sbin/iptables» EBTABLES=»/sbin/ebtables» DHCP=»67:68″ SSH=»22″ WWW=»80″ $IPTABLES -t mangle -F $IPTABLES -F $IPTABLES -A INPUT -i lo -j ACCEPT #ssh $IPTABLES -A INPUT -p tcp -m tcp —dport 22 -j ACCEPT # разрешаем серверу и клиентам dns гугла $IPTABLES -A INPUT -s 8.8.8.8 -j ACCEPT $IPTABLES -A INPUT -m state —state ESTABLISHED,RELATED -j ACCEPT # создаем правило интернет $IPTABLES -N internet -t mangle $IPTABLES -t mangle -A PREROUTING -j internet #добавляем разрешенные маки в исключения путем добавления их в Return awk ‘BEGIN < FS=»t»; >< system(«$IPTABLES -t mangle -A internet -m mac —mac-source «$4″ -j RETURN»); >’ /var/lib/users #маркируем все пакеты $IPTABLES -t mangle -A internet -j MARK —set-mark 99 # все маркированные пакеты которые идут на 80 порт отправляем на наш сервер $IPTABLES -t nat -A PREROUTING -m mark —mark 99 -p tcp —dport 80 -j DNAT —to-destination 192.168.11.38 #дроппаем все маркированное #$IPTABLES -t filter -A FORWARD -m mark —mark 99 -j DROP #dns $IPTABLES -t filter -A INPUT -s 8.8.8.8 -j ACCEPT #http $IPTABLES -t filter -A INPUT -p tcp —dport 80 -j ACCEPT #port dns $IPTABLES -t filter -A INPUT -p udp —dport 53 -j ACCEPT #drop $IPTABLES -t filter -A INPUT -m mark —mark 99 -j DROP echo «1» > /proc/sys/net/ipv4/ip_forward #настройка нат $IPTABLES -A FORWARD -i eth0 -o eth0:1 -m state —state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A FORWARD -i eth0:1 -o eth0 -j ACCEPT $IPTABLES -t nat -A POSTROUTING -o eth0 -j MASQUERADE
На этом конфигурация iptables заканчивается и переходим к странице которую получает пользователь: /var/lib/index.php
ВЫЖИВАНИЕ НА ОДНОМ БЛОКЕ С АЧИВКАМИ! — CAPTIVE MINECRAFT #1
Данная страница может быть любой, смысл лишь в том, чтобы получить мак пользователя и добавить его в iptables.
- Iptables автоматически редиректит любой запрос на 80 порт на нашу страницу
- пользователь вводит свое имя и почту, скрипт php получает мак пользователя и добавляет в iptables правило исключения для этого мака
- Php скрипт складывает все данные пользователей (имя, почта, время добавления) в файл /var/lib/users
- удалять правило из iptables для мака у которого вышло время
- удалять из файла данные по этому пользователю
Так как мои знания в программировании довольно плачевны был написан простенький скрипт на перле:
Все, задача выполенна, модифицируя файлик index.php можем показывать пользователю релкаму, смешные видео, заставлять его оставлять свою почту и т.д.
Источник: habr.com
всем ку, помогите плз. у меня в майнкрафт на карте captive minecraft когда выполняю ачивки не расширяется поле (((
Смотри, ты скачиваешь captive minecraft instal files здесь http://thefarlanders.com/captiveminecraft/
потом открываешь и там уже будет captive minecraft
закидываешь в сейвы майна, и воуля, все работает!)
1.10v попробуй может сработает или выше версию 1.13v
Смотри, у меня была такая же проблема. Может ты не правильно установила карту.
заходи сюда и скачивай https://mod-mc.com/maps/27-captive-map.html
открывай файл и там у тебя будет два файла нажимай на второй (который снизу)
там есть ещё один файл Captive Minecraft именно его нужно положить в seves
Заходишь в игру, заходишь на карту и у тебя всё работает
Егор КлепиковЗнаток (298) 3 года назад
Пхпхпх)))) Привет, уже прошло 2 года!) Я давно решил проблему, и даже перестал играть))). Но большое спасибо за такой БЫСТРЫЙ ответ xD
Источник: otvet.mail.ru
ВЫЖИВАНИЕ НА ОДНОМ БЛОКЕ С АЧИВКАМИ! — CAPTIVE MINECRAFT #4
Нравится MINECRAFT Русское Амино? Вступите в сообщество.
Создано TumkaGames/Тумка:3
Начинаем сходку!!
Избранная запись
заголовка не будет.
Избранная запись
Итоги месяца (март-апрель)
Избранная запись
Нравится MINECRAFT Русское Амино? Вступите в сообщество.
Другие записи TumkaGames/Тумка:3
Начинаем сходку!!
Еще записи из подборки
заголовка не будет.
1 день назад
~Лия❦~ 1 день назад
Еще записи из подборки
Итоги месяца (март-апрель)
3 дн. назад
[ :seedling: ]Запрещённый Писатель сгущенка 3 дн. назад
MINECRAFT Русское Амино
Количество участников: 213,609
Мы живем в Minecraft!
Вступить Создать запись
Дата вступления Jan 2019
Репутация
Подписки
Подписчики
Общие чаты
Другие записи TumkaGames/Тумка:3
ВЫЖИВАНИЕ НА ОДНОМ БЛОКЕ С АЧИВКАМИ! — CAPTIVE MINECRAFT #1
ТАКОГО ТЫ ЕЩЕ НЕ ВИДЕЛ! КОНКУРС НА 100 КЛЮЧЕЙ МАЙНКРАФТА! МЕГА ПОДАРКИ ВСЕМ!
ПОСЛЕДНИЙ КТО ПЕРЕСТАНЕТ ПРЫГАТЬ ПОЛУЧИТ 3000 РУБЛЕЙ В МАЙНКРАФТ БЕД ВАРС !
Избранное
:sunflower: Порисульки :sunflower:
Политика в отношении файлов «Cookie»
Данный веб-сайт сохраняет файлы cookie в вашем браузере в целях совершенствования навигации в сети и отображения персонализированного контента. Прочитайте нашу Политику конфиденциальности и Политику в отношении файлов cookie, чтобы получить подробную информацию и узнать, как настроить параметры.
Источник: aminoapps.com