mlevel Posted August 25, 2009 Posted August 25, 2009 Может и вопрос совсем глупый, но никак не могу найти решение. Сильно не ругайте. Есть маршртизатор на базе FreeBSD(локальний интерфейс eth0, интернет eth1) с IPFW. Есть локальний ІР - адрес (192.168.0.5), нужно его переадресовать с любого введенного ним сайта например на страничку google.com. Заранее спасибо! Вставить ник Quote
hiller Posted August 25, 2009 Posted August 25, 2009 Тогда нужно создать виртуальный хост в апаче, привязать его к IP/PORT, на нем разместить файл с редиректом или mod_rewrite. Сделать в IPFW DNAT, который будет перенаправлять на ваш хост и порт где редирект. Связано с тем, что большинство сайтов являются NamedVirtualHost, виртуальными хостами, к которым нужно обращаться не просто на их IP/PORT, но и передавать в URL имя запрашиваемого сайта, иначе ответит default vhost. Вставить ник Quote
mlevel Posted August 25, 2009 Author Posted August 25, 2009 (edited) А если етот сайт находиться в моей локальной сети (хотя и с реальним ІР)? П.С. Думал както можно с помощю divert nat. Edited August 25, 2009 by mlevel Вставить ник Quote
TiFFolk Posted August 25, 2009 Posted August 25, 2009 (edited) 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 Edited August 25, 2009 by TiFFolk Вставить ник Quote
GateKeeper Posted August 26, 2009 Posted August 26, 2009 маршртизатор на базе FreeBSD(локальний интерфейс eth0, интернет eth1)Точно на базе фряхи? Или балуемся ifconfig блабла name ethX ? Сайты на нестандартном порту как заблокировали? Внешние прокси как заблокировали? После этих вопросов: весь оставшийся веб-трафик редиректим на апач в джейле, дефолтный vhost которого выполняет безусловный mod_proxy на гугль. Об этом чуть выше писали уже. Ну, или не апач, а nginx какой - всё полегче будет. Вставить ник Quote
Giga-Byte Posted August 26, 2009 Posted August 26, 2009 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 сервер на Си, который отдаёт этот тэг) только заметил неприятный баг - некоторые браузеры запоминают, и пока браузер не перезапустишь будет срабатывать редирект Вставить ник Quote
mlevel Posted August 26, 2009 Author Posted August 26, 2009 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) то ничего не происходит! Вставить ник Quote
t0ly Posted August 27, 2009 Posted August 27, 2009 у меня работает. /etc/rc.d/inetd restart делал? в /etc/services нужную строчку добавил? Вставить ник Quote
mlevel Posted August 27, 2009 Author Posted August 27, 2009 в /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 Рестарт делал... Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.