Перейти до

Подскажите по ipfw fwd.


Рекомендованные сообщения

Всем привет !

есть правило:

ipfw add 100 fwd local-site,9443 ip from table\(100\) to any

Но происходит редирект на 80-й порт апача ???

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

ipfw add 100 fwd local-site,9443 ip from table(100) to any

Но происходит редирект на 80-й порт апача ???

 

может еще раньше fwd есть, и до этого правила не доходит?

 

у меня должники как-то так заруливаются на страничку с "уплатите" :D

 

ipfw add 10 fwd me,9443 ip from table(100) to not me dst-port 80,8080,443

 

т.е. всё что пытаются открыть не локального по 80,8080,443 портам - развернёт

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

ipfw add 100 fwd local-site,9443 ip from table(100) to any

Но происходит редирект на 80-й порт апача ???

 

может еще раньше fwd есть, и до этого правила не доходит?

 

у меня должники как-то так заруливаются на страничку с "уплатите" :D

 

ipfw add 10 fwd me,9443 ip from table(100) to not me dst-port 80,8080,443

 

т.е. всё что пытаются открыть не локального по 80,8080,443 портам - развернёт

100 первое правило в фаеволе,

попробовал так:

ipfw add 100 fwd me,9443 ip from table(100) to not me dst-port 80,8080,443

не помогло (((

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

в ядре есть?

To enable fwd a custom kernel needs to be compiled with the

option options IPFIREWALL_FORWARD.

есть,

редирект пашет, но почему-то сразу на 80-й порт апача .... , все что через virtual host - не хочет ...

Ссылка на сообщение
Поделиться на других сайтах
редирект пашет, но почему-то сразу на 80-й порт апача .... , все что через virtual host - не хочет ...

Все правильно. Почему-то все либо не знают либо забывают, что fwd - не NAT и никаких модификаций пакета производиться не будет.

Если нужно дополнительно заруливать юзера в недефолтный виртуалхост/на какой-то кастомный порт - следует использовать http header 301 или 302 либо банальный жабоскриптный редирект на морде дефолтного виртуалхоста.

 

Если хочется обработки ситуаций с url отличных от "/" следует использовать

 

# .htaccess
ErrorDocument 404 /index.php

 

Откуда уже и производить заворот пользователя.

Ссылка на сообщение
Поделиться на других сайтах
редирект пашет, но почему-то сразу на 80-й порт апача .... , все что через virtual host - не хочет ...

Все правильно. Почему-то все либо не знают либо забывают, что fwd - не NAT и никаких модификаций пакета производиться не будет.

 

Да ерунда все это. У меня точно такое-же правило и нормально заворачивает.

Топикстартер, проверьте правильность настройкаи апача. Висеть он должен на *:9443 (не используйте тут внешний IP, т.к. форвард заворачивает на локалхост).

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

Как сказано в мане:

If ipaddr is a local address, then matching packets will be for-

warded to port (or the port number in the packet if one is not

specified in the rule) on the local machine.

If ipaddr is not a local address, then the port number (if speci-

fied) is ignored, and the packet will be forwarded to the remote

address, using the route as found in the local routing table for

that IP.

т.е. если форвард идет на себя,то перенаправление порта работать должно

Ссылка на сообщение
Поделиться на других сайтах
редирект пашет, но почему-то сразу на 80-й порт апача .... , все что через virtual host - не хочет ...
Все правильно. Почему-то все либо не знают либо забывают, что fwd - не NAT и никаких модификаций пакета производиться не будет.
Да ерунда все это. У меня точно такое-же правило и нормально заворачивает.Топикстартер, проверьте правильность настройкаи апача. Висеть он должен на *:9443 (не используйте тут внешний IP, т.к. форвард заворачивает на локалхост).

Касательно abills`a я настраивал по мануалу:

В httpd.conf у меня:

Listen 80

Document Root "/usr/local/www/apache22/data" - мой сайт локалки

<Directory "/usr/local/www/apache22/data">

<Directory />

AllowOverride None

Order deny,allow

Deny from all

</Directory>

Include etc/apache22/Includes/*.conf

Include /usr/abills/misc/apache/abills_httpd.conf - здесь <VirtualHost _default_:9443>, Listen 9443.

 

Правило ipfw add 100 fwd local-site,9443 ip from table(100) to any - шлет на сайт локалки.

 

Если добавить:

<VirtualHost _default_:80>

DocumentRoot "/usr/local/www/pay"

ErrorDocument 404 "/"

DirectoryIndex index.html

</VirtualHost>

Шлет всех по страничку этому конфигу, с формулировкой : Forbidden You don't have permission to access / on this server.

Хотя в index.html другой текст, и кроме того: сайт локалки не пашет

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

fwd 192.168.1.254,82 ip from table(48) to not me dst-port 1-65535

 

##pay za inet

server {

listen 192.168.1.254:82;

root /usr/local/www/;

charset utf-8;

index pay.html;

}

Это не будет работать, заворот идет на localhost

Ссылка на сообщение
Поделиться на других сайтах
редирект пашет, но почему-то сразу на 80-й порт апача .... , все что через virtual host - не хочет ...

Все правильно. Почему-то все либо не знают либо забывают, что fwd - не NAT и никаких модификаций пакета производиться не будет.

 

Да ерунда все это. У меня точно такое-же правило и нормально заворачивает.

Топикстартер, проверьте правильность настройкаи апача. Висеть он должен на *:9443 (не используйте тут внешний IP, т.к. форвард заворачивает на локалхост).

если Я сделаю апач по умолчанию *:9443 - то будет редирект в личный кабинет.

Получается, что надо апач настроить по умолчанию на страничку с предупреждением, а все остальное через виртуал хост ?

Пробовал:

<virtualhost default_:81>

ipfw add 100 fwd local-site,81 ip from table(100) to any

Но все равно шлет на дефолтный хост апача

Ссылка на сообщение
Поделиться на других сайтах
Да ерунда все это. У меня точно такое-же правило и нормально заворачивает.

В случае локальной машины заворот на альтернативный порт будет работать, man на тему "If ipaddr is not a local address, then the port number (if specified) is ignored" уже процитировали вам выше.

 

Но все равно шлет на дефолтный хост апача

обожаю самоцитирование

 

следует использовать http header 301 или 302 либо банальный жабоскриптный редирект на морде дефолтного виртуалхоста.
Ссылка на сообщение
Поделиться на других сайтах
Да ерунда все это. У меня точно такое-же правило и нормально заворачивает.

В случае локальной машины заворот на альтернативный порт будет работать, man на тему "If ipaddr is not a local address, then the port number (if specified) is ignored" уже процитировали вам выше.

Это ?

If ipaddr is a local address, then matching packets will be for-

warded to port (or the port number in the packet if one is not

specified in the rule) on the local machine.

If ipaddr is not a local address, then the port number (if speci-

fied) is ignored, and the packet will be forwarded to the remote

address, using the route as found in the local routing table for

that IP.

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

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

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

Это не вам было адресовано, у вас логика правильная.

 

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

 

Почему в этому контексте лучше жабоскриптное - догадайтесь сами :)

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

Это не вам было адресовано, у вас логика правильная.

 

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

 

Почему в этому контексте лучше жабоскриптное - догадайтесь сами :)

Лучше? У меня, например, жабоскрипт вообще выключен. Включен только для десятка сайтов, и то не полностью.

Ссылка на сообщение
Поделиться на других сайтах
Лучше? У меня, например, жабоскрипт вообще выключен. Включен только для десятка сайтов, и то не полностью.

..и используешь ты elinks как и 99% нормальных пользователей ;)

 

Лучше потому, что всякие качалки типа flashget еще следуют по 301/302 редиректам но не умеют обрабатывать яваскрипт. Такой дряни лучше таки отдавать одну статическую пейджу с жаборедиректом чтобы не дать ей зае...ть хост в 50 потоков бесконечными ретраями умноженно на количество кверей самого кабинета пользователя скажем.

Ссылка на сообщение
Поделиться на других сайтах
Лучше? У меня, например, жабоскрипт вообще выключен. Включен только для десятка сайтов, и то не полностью.

..и используешь ты elinks как и 99% нормальных пользователей ;)

 

Лучше потому, что всякие качалки типа flashget еще следуют по 301/302 редиректам но не умеют обрабатывать яваскрипт. Такой дряни лучше таки отдавать одну статическую пейджу с жаборедиректом чтобы не дать ей зае...ть хост в 50 потоков бесконечными ретраями умноженно на количество кверей самого кабинета пользователя скажем.

Может диспатчить по User-Agent? Кому редирект, а кому и дулю с маком ;)

Ссылка на сообщение
Поделиться на других сайтах
Может диспатчить по User-Agent? Кому редирект, а кому и дулю с маком

Бай дефолт всякі качалки маскуються в більшості під експлорери (антіліч фіглі)

flashget.jpg

 

крім того це зайвий if ($_SERVER['HTTP_USER_AGENT']) { .... - дешевше зекономити пів такту серверсайду і унести всі проблеми до юзера в вигляді тупого

 

<script type="text/javascript">
<!--
window.location = "бабло скінчилось"
//-->
</script>

 

А ше можна заобфускатити і зробити редірект поліморфним. Пасивна фільтрація - тіпа ;)

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

нужно смотреть в комплексе

ipfw show, может есть перекрещивающиеся правила

потом, переменная local-site, что с ней? или это для форума так заменил ip адрес?

счетчики правил что говорят?

в 100 таблице есть ли твой ip?

 

проверить apache, возможно там идет редирект на дефолтный виртуалхост, который на 80 порту.

попробуй подключиться к своему серверу на 9443 порт, посмотреть что будет.

для теста можно даже отключить Listen *:80

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

еще есть неплохая вещь как redir (должна быть в портах)

правда на больших потоках умирает.

 

завернет трафик даже на любой хост в интернете

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

И все же, почему не работает ?

ipfw add 100 fwd local-site,9443 ip from table(100) to any

 

Вам же 500 раз сказали, что fwd {port} работает только на локалхосте.

FWD никак не меняет пакет при отправки на реймоут хост. Отсюда и глабли.

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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...