Перейти к содержимому
Калькуляторы

Перенаправление http запроса на основании IP адреса

Допустим есть задачка - перенаправить определенного человека на другую веб-страницу, независимо от того, что он набирает, на основании его IP адреса. Читал ман по SquidGuard - не дошло.

Кто нить знает наверняка?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно iptables'ом. ЗаDNATить его запросы на фиксированный IP и вуаля.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну или тем же pf в фряхе. Можно и port forward попробовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

насколько мне помнится тема раскрыта на opennet, суть проста - на роутере пишется route-map, с заворотом на IP-шник где стоит apache с модулем rewrite, который все запросы редиректит на одну страницу, там же можно и по IP-адресу клиента выдать информацию о причине заворота (нет денег, например)... у нас несколько лет такая система работает без проблем...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Допустим есть задачка - перенаправить определенного человека на другую веб-страницу, независимо от того, что он набирает, на основании его IP адреса. Читал ман по SquidGuard - не дошло.

Кто нить знает наверняка?

Если на фряхе, то вешаете вебсервер на *:80, на ней добавляете одно fwd правило в ipfw или rdr в pf, а выше линком зараучиваете на неё.

 

 

На сервере rewrite НАСТРАИВАТЬ НЕ НУЖНО!!! Нужно прописать дефолтный http 302 redirect в конфиге первого vhost и конфиге сервера, который будет редиректить на какой-то внутренний домен, который уже прописываем во втором vhost. Просто когда вместо yandex.ru появляется страница "ЗАПЛАТИ БАБЛО ЗА ИНЕТ", то эмоции начинают переполнять... а с редиректом вроде понятно всё... и главное домен провайдера виден.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Здравствуйте, хотел бы узнать решили ли вы эту задачу, если да, то пожалуйста опишите как, очень нужно, за ранее благодарен...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пробовал так

ipfw add 1 fwd 192.168.0.1,80 tcp from 192.168.0.0/24 to any dst-port 80 out via re0

не выходит....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

pf:

 

rdr inet proto tcp from 192.168.0.0/24 to any port 80 -> 127.0.0.1 port 8080

...

pass in quick inet proto tcp from 192.168.0.0/24 to self port 8080 flags S/SA modulate state

возможно нужно будет домаписать ещё: pass in quick inet proto tcp from 192.168.0.0/24 to any port 80 flags S/SA modulate state

 

гуглить по словам: прозрачный прокси

Изменено пользователем Ivan_83

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Допустим есть задачка - перенаправить определенного человека на другую веб-страницу, независимо от того, что он набирает, на основании его IP адреса. Читал ман по SquidGuard - не дошло.

Кто нить знает наверняка?

Десятки способов.

В общем случае, запросы файрволом заворачиваются на локальный бэкенд.

В качестве файрвола можт быть все что угодно: iptables, ipfw, pf, и т. п.

В качестве бекенда тоже выбор большой: apache, nginx, squid, squid + squidguard, и т. п. Бэкенд может выдавать как http редирект (301), так и законченную страницу.

 

Какая связка интересует?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

levantuev, и что именно не выходит? То что при fwd на другую машину пакет не изменяется учитываешь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

решил проблему таким решением: ipfw+fwd+nat , просто топология сети требует nat при fwd

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.