URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID6
Нить номер: 17527
[ Назад ]

Исходное сообщение
"Перехват, подмена HTTP."

Отправлено BuxpbSN , 07-Ноя-08 08:13 
Добрый день.
Захотелось поднять на сети доступа такую "фишку": при отключении абонента ему на любой HTTP-запрос возвращается страничка а ля "Вы были отключены от Интернет за неуплату, позвоните туда-то."
Как можно реализовать это посредством Cisco и веб-сервера? Идеальным было бы решение через ACL, конечно. Cisco старенькая, 7120, c7100-jk9o3s-mz.123-12e.bin.

Содержание

Сообщения в этом обсуждении
"Перехват, подмена HTTP."
Отправлено weris , 07-Ноя-08 08:29 
>Добрый день.
>Захотелось поднять на сети доступа такую "фишку": при отключении абонента ему на
>любой HTTP-запрос возвращается страничка а ля "Вы были отключены от Интернет
>за неуплату, позвоните туда-то."
>Как можно реализовать это посредством Cisco и веб-сервера? Идеальным было бы решение
>через ACL, конечно. Cisco старенькая, 7120, c7100-jk9o3s-mz.123-12e.bin.

помещение клиента в АКЛ например,
+ роутмап переброс всех запросов на вебсервер со страничкой.


"Перехват, подмена HTTP."
Отправлено BuxpbSN , 07-Ноя-08 08:32 
>помещение клиента в АКЛ например,
>+ роутмап переброс всех запросов на вебсервер со страничкой.

Не поделитесь примерчиком роутмапа?
Сейчас крутится так:

access-list 199 deny   ip any host [dns-1]
access-list 199 deny   ip any host [сервер статистики]
access-list 199 dynamic test1 permit ip any any
access-list 199 deny   ip any any

route-map OTK permit 10
match ip address 199
set interface Null0



"Перехват, подмена HTTP."
Отправлено weris , 07-Ноя-08 12:18 
>[оверквотинг удален]
>Сейчас крутится так:
>
>access-list 199 deny   ip any host [dns-1]
>access-list 199 deny   ip any host [сервер статистики]
>access-list 199 dynamic test1 permit ip any any
>access-list 199 deny   ip any any
>
>route-map OTK permit 10
> match ip address 199
> set interface Null0

access-list 101 permit host IP any eq 80

route-map redirect permit 10
match ip address 101
set ip next-hop Web-server


схема у меня была такая.
веб сервер в ДМЗ, клиенты лоченые натятся под определенным ИП в эту дмз - и полученные пакеты от этого ИП на порт 80 фаервол редиректит на порт скажем 3333 - на котором висит вирт хост апача с нужной страничкой.

либо если поставить выделенный вебсервер - со страницей по умолчанию с инфо о неоплате - можно без ната сделать.


"Перехват, подмена HTTP."
Отправлено BuxpbSN , 07-Ноя-08 13:02 
Спасибо, уже дотумкал сам.
А подмену чем делали?

"Перехват, подмена HTTP."
Отправлено weris , 10-Ноя-08 07:40 
>Спасибо, уже дотумкал сам.
>А подмену чем делали?

подмену чего?


"Перехват, подмена HTTP."
Отправлено BuxpbSN , 10-Ноя-08 09:59 
>>Спасибо, уже дотумкал сам.
>>А подмену чем делали?
>
>подмену чего?

Destination IP, чтоб на Apache пакет отправить. Это один из способов, как я понимаю.


"Перехват, подмена HTTP."
Отправлено weris , 10-Ноя-08 10:17 
>>>Спасибо, уже дотумкал сам.
>>>А подмену чем делали?
>>
>>подмену чего?
>
>Destination IP, чтоб на Apache пакет отправить. Это один из способов, как
>я понимаю.

access-list 101 permit host IP any eq 80

route-map redirect permit 10
match ip address 101
set ip next-hop Web-server


"Перехват, подмена HTTP."
Отправлено BuxpbSN , 20-Ноя-08 13:44 
Всем спасибо за помощь.

На Web-сервере, принимающем трафик достаточно прописать в iptables цепочку
-A PREROUTING -d ! [Web-server] -p tcp --dport 80 -j DNAT --to-destination [Web-server]:81

И создать виртуальный хост в апаче, который будет смотреть на нужную страничку:

Listen 81
NameVirtualHost *:81
<VirtualHost *:81>
DocumentRoot "/www/htdocs/access_denied"
</VirtualHost>

(Лишние строчки конфига опущены.)


"Перехват, подмена HTTP."
Отправлено Peretz , 21-Апр-09 08:36 
>Всем спасибо за помощь.
>
>На Web-сервере, принимающем трафик достаточно прописать в iptables цепочку
>-A PREROUTING -d ! [Web-server] -p tcp --dport 80 -j DNAT --to-destination
>[Web-server]:81

Как то же самое сделать на FreeBSD ipfw?



"Перехват, подмена HTTP."
Отправлено Peretz , 21-Апр-09 13:02 
>>Всем спасибо за помощь.
>>
>>На Web-сервере, принимающем трафик достаточно прописать в iptables цепочку
>>-A PREROUTING -d ! [Web-server] -p tcp --dport 80 -j DNAT --to-destination
>>[Web-server]:81
>
>Как то же самое сделать на FreeBSD ipfw?

Спасибо сам разобрался. Если кому интересно, связка natd+ipfw

natd
redirect_port tcp webserver:80 80

ipfw
add fwd webserver,80 tcp from any to any 80 via nat_interface