Jump to content

Recommended Posts

Posted (edited)

Когда-то тут уже писал, как реализовано guest vlan (банально переключение PVID с выключением порта ненадолго по SNMP из биллинга).

 

На отдаваемом по DHCP шлюзе:

# Guest VLAN stuff
iptables -A FORWARD -p tcp -s 10.255.0.0/16 -d $personal_page --dport 443 -j ACCEPT
iptables -A FORWARD -p tcp -s 10.255.0.0/16 --dport 80 -j ACCEPT
iptables -A FORWARD -p udp -s 10.255.0.0/16 -m multiport --dport 53,123 -j ACCEPT
iptables -A FORWARD -d 10.255.0.0/16 -j ACCEPT

iptables -t nat -A PREROUTING -p tcp -d $myself --dport 80 -j RETURN
iptables -t nat -A PREROUTING -p tcp -d ! $personal_page --dport 80 -j REDIRECT --to-port 80

На 80 порту висит апач со статической страничкой, которая жабоскриптом редиректит на страничку биллинга.

 

Так вот, при внедрении в продакшн вылезло следующее: у хомячков после переключения статуса обратно в 1 нормально переполучается адрес (10 секунд венде на осознание выключения порта хватает), но браузеры (уже были и с IE, и с огнелисом, и с Оперой) по какой-то странной причине продолжают показывать страничку редиректа на личный кабинет для тех страниц, которые они пытались открывать, находясь в минусе :) Смена браузера чудом спасает, ребут - уже у двух не помог.

 

Нервов уже не хватает, а проверить негде - венды под рукой нет, на FF и Midori в Debian-е воспроизвести не удалось. Как можно видеть выше, никакой подмены DNS не делается.

Edited by GFORGX
Posted

Дёргать порт чтобы заставить клиента обновить адрес - это, конечно, хорошо. А всякие CPE'шки нормально это обрабатывают? Свитчика у пользователя не может оказаться?

Posted

Cache-control и Expires это не все. Обязательно нужно Connection: close.

Полностью у меня заголовки выглядят так --

 

print "Content-Type: text/html; charset=koi8-r\nExpires: Wed, 1 Oct 2000 00:00:00 GMT\nLast-modified: @{[scalar gmtime() . \" GMT\"]}

Cache-Control: no-cache, must-revalidate\nCache-Control: post-check=0, pre-check=0\nCache-Control: max-age=0\nPragma: no-cache\nConnection: close\r\n\r\n";

 

пс. каждые пол часа должникам выдается редирект на страницу "не забудь заплатить", на странице после нажатия кнопки "не забуду" редирект на нужный урл. Обычно, после 2-3 дней редиректов мало кто уже повторно хочет залазить в долг :)

 

Posted

Дёргать порт чтобы заставить клиента обновить адрес - это, конечно, хорошо. А всякие CPE'шки нормально это обрабатывают? Свитчика у пользователя не может оказаться?

Это очень малое количество абонентов, таким несложно объяснить, что нужно переподключить сетевое подключение.

 

P.S. Спасибо всем за хэдеры.

Posted

Смотрите в сторону заголовков Cache-control и Expires

С Оперой не поможет, она любит игнорировать поля управления кешем

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.