Перенаправление всех hhtp запросов на страницу с UTM

Технические вопросы по UTM 5.0
Фарид
Сообщения: 3
Зарегистрирован: Вт июл 08, 2008 09:10

Перенаправление всех hhtp запросов на страницу с UTM

Сообщение Фарид »

Здравствуйте!
Ситуация знакомая для многих, но, увы, что то никак не прет.
Есть сеть абонентов с выходом в интернет. Выход в интернет осуществляется через роутер Cisco 7507. Есть сервер FreeBSD 6.2, на котором крутится UTM и естесственно Apache. Так вот, задача перенаправлять все http запросы неавторизованных пользователей на страницу UTM.
Нашел на форуме эту тему. Но что то никак не получается.
попробовал для начала просто http запросы, например, на сайт www.power.com (72.249.7.54) перенаправить на FreeBSD.
На циске сделал route-map
!
route-map WWW permit 10
match ip address 101
set ip next-hop 11.22.33.44 (адрес FreeBSD)
!
....
!
access-list 101 deny tcp any host 11.22.33.44
access-list 101 permit tcp 11.22.33.0 0.0.0.255 host 72.249.7.54 eq www
!
...
!
interface FastEthernet0/1
description ##INTERNET
ip address XX.XX.XX.XX 255.255.255.252
ip verify unicast reverse-path allow-self-ping
no ip proxy-arp
ip security dedicated unclassified genser
ip security add
ip security first
ip policy route-map Proxy
!
В итоге запросы на сервер попадают (смотрю tcpdump'ом). Но как заставить эти запросы, которые по сути сервер получает для маршрутизации, как заставить их отлавливать и отдавать собственному Web-серверу Apache, т.е. воспринимать эти "чужие пакеты" как свои. У меня вся загвозка именно в этом. Запросы до Apache не доходят. Предположение есть, что нужно использовать либо ipfw (fwd) или ipnat (rdr) или PF. Подскажите пожалуйста.

md2k
Сообщения: 67
Зарегистрирован: Чт апр 07, 2005 01:42
Откуда: Sevastopol
Контактная информация:

Re: Перенаправление всех hhtp запросов на страницу с UTM

Сообщение md2k »

все прально пакеты приходят на сервере.. а теперь если у тя БЗД сделай fwd правило как ты далешь для прокси аля на локалхост или на ИП.
если Линукс тоже -J REDIRECT 80
и будет тебе щастье.

Точнеен не на локалхост а просто чтото типа iptables -A PREROUTE -s xxx.xxx.xx.xx -j REDIRECT 80
внутри тазитка куда ты рутишь пакеты.
в бзд испольщую к примеру natd и порредирект
Последний раз редактировалось md2k Вт июл 08, 2008 11:00, всего редактировалось 1 раз.

Digi
Сообщения: 98
Зарегистрирован: Ср июн 08, 2005 07:50
Откуда: Новосибирск

Сообщение Digi »

на самой бсде пакет зафорвардить надо..

fwd 11.22.33.44,80 tcp from 11.22.33.0/24 to any 80

md2k
Сообщения: 67
Зарегистрирован: Чт апр 07, 2005 01:42
Откуда: Sevastopol
Контактная информация:

Сообщение md2k »

Digi писал(а):на самой бсде пакет зафорвардить надо..

fwd 11.22.33.44,80 tcp from 11.22.33.0/24 to any 80
Форвард нормально опахаит на самого себя если.
а если на удаленный хост то болт.
Вот у меня когда заворот был на веб:

ipfw add 50000 fwd 10.10.10.10,88 tcp from 172.16.190.0/24 to any 80

где 10.10.10.10 внутренний алиас
--
или Линукс
$IPTABLES -t nat -A PREROUTING -p tcp -s 172.22.100.0/23 -m multiport --dports 88 -j REDIRECT --to-ports 80

--

вообще во избежания эксцессов не рекомендую делалть форвард пакетов на тотже порт который тебе понадобится похватить. у меня форвард на 88порт как видно из примеров.

Аватара пользователя
ds
Сообщения: 380
Зарегистрирован: Пн сен 18, 2006 14:06

Re: Перенаправление всех hhtp запросов на страницу с UTM

Сообщение ds »

можно сделать так если на линуксе:

Код: Выделить всё

#!bin/sh
iptables -t mangle -N set_blocked
iptables -t mangle -F set_blocked
#allow access to portal and billing
iptables -t mangle -A set_blocked -d portal -j RETURN
iptables -t mangle -A set_blocked -d billing -j RETURN
# mark other for redirect
iptables -t mangle -A set_blocked -j MARK --set-mark 100

#Сюда вписывать запрещенные подсети и заблокированных пользователей (rfw запущен с ключами -fo)
iptables -t mangle -N check_blocked
iptables -t mangle -F check_blocked
iptables -t mangle -I check_blocked -s $1 -j set_blocked


iptables -t mangle -A PREROUTING -p tcp --dport 80 -j check_blocked

iptables -t nat -I PREROUTING -p tcp -m mark --mark 100  -j REDIRECT --to-ports 80
в апаче прописал редирект на биллинг (который отдельно)

Код: Выделить всё

<VirtualHost *&#58;80>
        RewriteEngine On
        RewriteRule ^&#40;.*&#41;$ https&#58;//billing/user/denyaccess? &#91;R,L&#93;
</VirtualHost>
denyaccess - альтернативная главная страница для входа в кабинет

Фарид
Сообщения: 3
Зарегистрирован: Вт июл 08, 2008 09:10

Сообщение Фарид »

сделал форфард
смотрю tcpdump'ом. Все похоже на реальный обмен между хостами
tcpdump host 11.22.33.xx and port 80
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on rl0, link-type EN10MB (Ethernet), capture size 96 bytes
16:37:46.918859 IP 11.22.33.xx.49254 > 72.249.7.54.http: S 1661078715:1661078715(0) win 65535 <mss 1356,nop,wscale 3,nop,nop,timestamp 458092677 0,sackOK,eol>
16:37:46.918930 IP 72.249.7.54.http > 11.22.33.xx.49254: S 2303078147:2303078147(0) ack 1661078716 win 65535 <mss 1460,nop,wscale 1,nop,nop,timestamp 3964201 458092677,sackOK,eol>

но в браузере как не было ничего так и нет. Я даже сделал на апаче
listen 0.0.0.0:88

а правило добавил
ipfw add 30 fwd 11.22.33.44,88 from 11.22.33.0/24 to any 80
в чем косяк... не пойму

md2k
Сообщения: 67
Зарегистрирован: Чт апр 07, 2005 01:42
Откуда: Sevastopol
Контактная информация:

Сообщение md2k »

в апачесвких логах что видно?

md2k
Сообщения: 67
Зарегистрирован: Чт апр 07, 2005 01:42
Откуда: Sevastopol
Контактная информация:

Сообщение md2k »

Фарид писал(а):сделал форфард
смотрю tcpdump'ом. Все похоже на реальный обмен между хостами
tcpdump host 11.22.33.xx and port 80
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on rl0, link-type EN10MB (Ethernet), capture size 96 bytes
16:37:46.918859 IP 11.22.33.xx.49254 > 72.249.7.54.http: S 1661078715:1661078715(0) win 65535 <mss 1356,nop,wscale 3,nop,nop,timestamp 458092677 0,sackOK,eol>
16:37:46.918930 IP 72.249.7.54.http > 11.22.33.xx.49254: S 2303078147:2303078147(0) ack 1661078716 win 65535 <mss 1460,nop,wscale 1,nop,nop,timestamp 3964201 458092677,sackOK,eol>

но в браузере как не было ничего так и нет. Я даже сделал на апаче
listen 0.0.0.0:88

а правило добавил
ipfw add 30 fwd 11.22.33.44,88 from 11.22.33.0/24 to any 80
в чем косяк... не пойму
Ээээ в примере дампа у тебя както ответ от 11.22.33.xx.49254 а не с 80 порта..... ты уверен что точно то что нужно завернул и куда нужно?
кто у тебя отправляет запрос на какой порт, куда ты его форвардишь, и потом куда редиректишь? 11.22.33.xx. -- это у тебя ИП на томже хосте где и правило редиректа?

Фарид
Сообщения: 3
Зарегистрирован: Вт июл 08, 2008 09:10

Сообщение Фарид »

Если бы молодой человек посмотрел внимательно, то увидел бы что завороты идут на 72.249.7.54 порт http, что видно во вставке с tcpdump'а и соответственно запросы идут от 11.22.33.xx,т.е. это адрес отправителя запроса, поэтому порт его не может быть http а определяется динамически. Перенаправление идет след. образом -
все запросы идущие от 11.22.33.хх на www.power.com (72.249.7.54:80) перенаправляются на 11.22.33.44:80

md2k
Сообщения: 67
Зарегистрирован: Чт апр 07, 2005 01:42
Откуда: Sevastopol
Контактная информация:

Сообщение md2k »

Фарид писал(а):Если бы молодой человек посмотрел внимательно, то увидел бы что завороты идут на 72.249.7.54 порт http, что видно во вставке с tcpdump'а и соответственно запросы идут от 11.22.33.xx,т.е. это адрес отправителя запроса, поэтому порт его не может быть http а определяется динамически. Перенаправление идет след. образом -
все запросы идущие от 11.22.33.хх на www.power.com (72.249.7.54:80) перенаправляются на 11.22.33.44:80
Тогда смотри где ты чтото не доделал. у меня все работает.

kara
Сообщения: 125
Зарегистрирован: Вс мар 21, 2010 21:02

Сообщение kara »

такая-же ситуация, если подавать траффик с помощью set ip next-hop;

Apache его просто почему-то игнорирует - даже tcp синхронизация не завершается.. :roll:

kara
Сообщения: 125
Зарегистрирован: Вс мар 21, 2010 21:02

Сообщение kara »

взлетело Изображение

по сути надо заставить думать систему что она обрабатывает транзитный траффик...

Аватара пользователя
KSkostja
Сообщения: 191
Зарегистрирован: Вт ноя 15, 2005 03:06
Откуда: Дальний Восток

Сообщение KSkostja »

Чем закончилась эта история просто интерестно.

Anton
Сообщения: 339
Зарегистрирован: Пт июл 01, 2005 10:57

Сообщение Anton »

Фарид писал(а):сделал форфард
а правило добавил
ipfw add 30 fwd 11.22.33.44,88 from 11.22.33.0/24 to any 80
в чем косяк... не пойму
если делаешь ipfw то поставь апач на ту же тачку где это правило делаешь, кидаешь туда страничку с авторизацией в статистику
и все и не мучаешься, дальше у тебя перейдет куда надо

ipfw не меняет заголовок пакета
менять умеет pf

gil
Сообщения: 355
Зарегистрирован: Вт ноя 11, 2008 14:28

Сообщение gil »

давно уже такое на pf работает.. без проблем..
где-то в темах есть мой конфиг..

Закрыто