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

Редирект Редирект с помощю IPFW

Может и вопрос совсем глупый, но никак не могу найти решение. Сильно не ругайте. Есть маршртизатор на базе FreeBSD(локальний интерфейс eth0, интернет eth1) с IPFW. Есть локальний ІР - адрес (192.168.0.5), нужно его переадресовать с любого введенного ним сайта например на страничку google.com. Заранее спасибо!

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


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

Тогда нужно создать виртуальный хост в апаче, привязать его к IP/PORT, на нем разместить файл с редиректом или mod_rewrite.

 

Сделать в IPFW DNAT, который будет перенаправлять на ваш хост и порт где редирект.

 

Связано с тем, что большинство сайтов являются NamedVirtualHost, виртуальными хостами, к которым нужно обращаться не просто на их IP/PORT, но и передавать в URL имя запрашиваемого сайта, иначе ответит default vhost.

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


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

А если етот сайт находиться в моей локальной сети (хотя и с реальним ІР)?

П.С. Думал както можно с помощю divert nat.

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

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


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

1. Поднимаешь например с помощью inetd ридарект-вебсервер =)

 

inetd.conf

http    stream  tcp     nowait  root    /bin/cat                cat /root/redirect.html

 

 

/root/redirect.html

HTTP/1.1 307 Temporary redirect
Location: http://google.com

 

И потом с поомщью IPFW перебрасываешь все запросы с 80 порта на этот комп, на 80 порт. С клиентскими браузерами работает со всеми.

Перебрасывал я вроде с помощью forward

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

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


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

маршртизатор на базе FreeBSD(локальний интерфейс eth0, интернет eth1)
Точно на базе фряхи? Или балуемся ifconfig блабла name ethX ?

 

Сайты на нестандартном порту как заблокировали?

Внешние прокси как заблокировали?

После этих вопросов: весь оставшийся веб-трафик редиректим на апач в джейле, дефолтный vhost которого выполняет безусловный mod_proxy на гугль. Об этом чуть выше писали уже. Ну, или не апач, а nginx какой - всё полегче будет.

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


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

1. Поднимаешь например с помощью inetd ридарект-вебсервер =)

 

inetd.conf

http    stream  tcp     nowait  root    /bin/cat                cat /root/redirect.html

 

/root/redirect.html

HTTP/1.1 307 Temporary redirect
Location: http://google.com

интересная реализация.

надо попробовать.

 

я использую

<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=billing.lan">

заблокированым абонентам - перебрасывает

на локальную страничку биллинга с сообщением.

(ну ещё был наваян простенький tcp сервер на Си, который отдаёт этот тэг)

 

только заметил неприятный баг - некоторые браузеры запоминают,

и пока браузер не перезапустишь будет срабатывать редирект

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


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

1. Поднимаешь например с помощью inetd ридарект-вебсервер =)

 

inetd.conf

http    stream  tcp     nowait  root    /bin/cat                cat /root/redirect.html

 

 

/root/redirect.html

HTTP/1.1 307 Temporary redirect
Location: http://google.com

 

И потом с поомщью IPFW перебрасываешь все запросы с 80 порта на этот комп, на 80 порт. С клиентскими браузерами работает со всеми.

Перебрасывал я вроде с помощью forward

Сделал так и тишина.

Даже когда ввожу ІР сервера где поднят редирект(inetd) то ничего не происходит!

 

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


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

у меня работает.

/etc/rc.d/inetd restart делал?

в /etc/services нужную строчку добавил?

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


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

в /etc/services

http             80/tcp    www www-http #World Wide Web HTTP
http             80/udp    www www-http #World Wide Web HTTP
http-mgmt       280/tcp
http-mgmt       280/udp
https           443/tcp
https           443/udp
gss-http        488/tcp
gss-http        488/udp
http-alt        591/tcp    #FileMaker, Inc. - HTTP Alternate (see Port 80)
http-alt        591/udp    #FileMaker, Inc. - HTTP Alternate (see Port 80)
http-rpc-epmap  593/tcp    #HTTP RPC Ep Map
http-rpc-epmap  593/udp    #HTTP RPC Ep Map
multiling-http  777/tcp    #Multiling HTTP
multiling-http  777/udp    #Multiling HTTP
netconfsoaphttp 832/tcp    #NETCONF for SOAP over HTTPS
netconfsoaphttp 832/udp    #NETCONF for SOAP over HTTPS

Рестарт делал...

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


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

Join the conversation

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

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

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

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

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

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

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