Я создал портал с Iptables
Я использую то, что многие используют: пользователи могут запрашивать DNS, пакет помечен как 99. 99 означает, что нет интернета, иначе у пользователя нет доступа.
Когда пользователь посещает страницу при посещении, например, переполнения стека. Пользователь получает отказ от ответственности. Он / она нажимает хорошо. Случилось так, что сервер выполняет следующие правила:
`sudo /sbin/iptables -t mangle -I captivePortal 1 -m mac --mac-source {$mac} -j RETURN`;
`sudo /sbin/iptables -t mangle -I captivePortal 1 -s {$_SERVER['REMOTE_ADDR']} -j RETURN`;
Что я пробовал:
Подержанные синатры одиноки с худыми Визуализируйте шаблон с помощью erb. Когда пользователь перезагружается после аутентификации, он получает отказ от ответственности при посещении исходного домена. При посещении другого они не получают страницу отказа от ответственности.
Настройте apache2 с помощью php, переписав все в php. добавлены метатеги для предотвращения кеширования в браузере, но результат тот же. оригинальный домен перенаправляет на отказ от ответственности всегда, но другие сайты в порядке.
Чего я хочу достичь
Пользователи должны нажать принять на отказ от ответственности, прежде чем они смогут использовать WIFI.
Изменить: Перезагрузка apache2 решает эту проблему.
Используется rmtrack как описано здесь: http://www.andybev.com/index.php/Using_iptables_and_PHP_to_create_a_captive_portal
/usr/sbin/conntrack -L \
|grep $1 \
|grep ESTAB \
|grep 'dport=80' \
|awk \
"{ system(\"conntrack -D --orig-src $1 --orig-dst \" \
substr(\$6,5) \" -p tcp --orig-port-src \" substr(\$7,7) \" \
--orig-port-dst 80\"); }"
Других решений пока нет …