Не могу настроить чтоб форвардились пакеты извне т.е. с внешнего интерфейса на локальную машину ipfw add fwd пишет ошибку чтобы туда не писал ((ifout - внешний интерфейс
10.4.25.210 - ip внешнего интерфейса
192.168.0.2 - ip локальной машины с веб серверомвот что пишу в правило ipfw add fwd 192.168.0.2,80 tcp from 10.4.25.210:255.255.248.0 to me http out via ${ifout}
либо нечто вроде этого, всегда выдается ошибка:
ipfw: getsockopt(IP_FW_ADD): Invalid argumentнезнаю что неправильно, что за неверный аргумент.... подскажите плиз!
>[оверквотинг удален]
>ifout - внешний интерфейс
>10.4.25.210 - ip внешнего интерфейса
>192.168.0.2 - ip локальной машины с веб сервером
>
>вот что пишу в правило ipfw add fwd 192.168.0.2,80 tcp from 10.4.25.210:255.255.248.0
>to me http out via ${ifout}
>либо нечто вроде этого, всегда выдается ошибка:
>ipfw: getsockopt(IP_FW_ADD): Invalid argument
>
>незнаю что неправильно, что за неверный аргумент.... подскажите плиз!man ipfw
To enable fwd a custom kernel needs to be compiled with the option options IPFIREWALL_FORWARD.Когда пересоберёте ядро, читайте man дальше, чтобы понять почему правило вида ipfw add fwd $local_machine не будет работать.
>To enable fwd a custom kernel needs to be compiled with the
>option options IPFIREWALL_FORWARD.
>
>Когда пересоберёте ядро, читайте man дальше, чтобы понять почему правило вида ipfw
>add fwd $local_machine не будет работать.Хотелось бы конечно сразу узнать почему и как тогда сделать? ))
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.В переводе примерно
Если ipaddr - местный адрес, то соответствие пакетам будет перенаправлено на порт (или номер порта в пакете, если Вы не будете определены в правиле) на местной машине.Из это не пойму почему "правило вида ipfw add fwd $local_machine не будет работать."
>
> 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.Тамже рядышком - The fwd action does not change the contents of the packet at all
и до конца абзаца.
>[оверквотинг удален]
>>be for-
>>
>> warded to port (or the port number in the packet
>>if one is not
>>
>> specified in the rule) on the local machine.
>
>Тамже рядышком - The fwd action does not change the contents of
>the packet at all
>и до конца абзаца.Ну харе издеваться, лучше подсказали бы как это реализовать и с помощью чего ;-)
>[оверквотинг удален]
>>>if one is not
>>>
>>> specified in the rule) on the local machine.
>>
>>Тамже рядышком - The fwd action does not change the contents of
>>the packet at all
>>и до конца абзаца.
>
>Ну харе издеваться, лучше подсказали бы как это реализовать и с помощью
>чего ;-)В случае ipfw используйте NAT, а лучше переходите на pf.
>[оверквотинг удален]
>>>> specified in the rule) on the local machine.
>>>
>>>Тамже рядышком - The fwd action does not change the contents of
>>>the packet at all
>>>и до конца абзаца.
>>
>>Ну харе издеваться, лучше подсказали бы как это реализовать и с помощью
>>чего ;-)
>
>В случае ipfw используйте NAT, а лучше переходите на pf.знать бы что это такое "pf" ))) и с чем его кушать )
По очереди.>либо нечто вроде этого, всегда выдается ошибка:
>ipfw: getsockopt(IP_FW_ADD): Invalid argumentНастраивай файрвол. Точнее, правильно вживляй в систему. Не у тебя первого такая ошибка.
Второе. используй natd для форварда портов, как тебе уже сказали
>По очереди.
>
>>либо нечто вроде этого, всегда выдается ошибка:
>>ipfw: getsockopt(IP_FW_ADD): Invalid argument
>
>Настраивай файрвол. Точнее, правильно вживляй в систему. Не у тебя первого такая
>ошибка.Да, фаер вживлен, но ядро GENERIC без поддержки fwd, но как я понял оно тут и не нужно получается если использовать NAT или pf ?
>
>Второе. используй natd для форварда портов, как тебе уже сказалиNatd у меня настроен из локалки во вне, надо как-то настраивать его и в другую сторону?
или же использовать 2 ната?
в нат я нашел только нечто вроде
-redirect_address tcp внешнийIP:80 внутреннийIP:80меня смущает слово редирект.
настроил я через нат! Спасибо кто помогал ))использовал redirect.port tcp 192.168.0.2:80 80
но есть пару вопросов может кто знает??во первых апач отдает удаленный адрес как 10.4.25.210 всегда, этот адрес внешнего интерфейса! А было бы неплохо чтобы он отдавал адрес именно клиента кто заходит на сайт, как такое то сделать? А то статистика на сайте теперь левая (((
второй вопросик как переадресовывать пользователей в зависимости от запрашиваемого имени, например если заходит на www.site1.ru то ридеректить на одну машину, если www.site2.ru то на другую?
проблему через ipfw add fwd я понял
т.е. локальному компу в пакете передается адрес назначения тот что передавался роутинговому серверу. Тогда возникает вопрос как заставить например апач принять запрос на IP который не в системе :-[ ??
>второй вопросик как переадресовывать пользователей в зависимости от запрашиваемого имени, например если
>заходит на www.site1.ru то ридеректить на одну машину, если www.site2.ru то
>на другую?Редиректить где? Если в апаче - то через виртуальные хосты, если на фаерволле то неполучится.
>проблему через ipfw add fwd я понял
>т.е. локальному компу в пакете передается адрес назначения тот что передавался роутинговому
>серверу. Тогда возникает вопрос как заставить например апач принять запрос на
>IP который не в системе :-[ ??Согласно RFC(и здравой логике) система такие пакеты вообще не должна принимать.
>>второй вопросик как переадресовывать пользователей в зависимости от запрашиваемого имени, например если
>>заходит на www.site1.ru то ридеректить на одну машину, если www.site2.ru то
>>на другую?
>
>Редиректить где? Если в апаче - то через виртуальные хосты, если на
>фаерволле то неполучится.да, попробовал, правда незнаю как через вирутальные, сделал через модуль редиректа с опцией [P] и прописыванием в файл hosts хостов чтобы имя хоста передавать.
>
>>проблему через ipfw add fwd я понял
>>т.е. локальному компу в пакете передается адрес назначения тот что передавался роутинговому
>>серверу. Тогда возникает вопрос как заставить например апач принять запрос на
>>IP который не в системе :-[ ??
>
>Согласно RFC(и здравой логике) система такие пакеты вообще не должна принимать.это понятно, просто как решить собственно задачу, я её в другой теме описал... и здесь тоже немного выше ))
Расскажите в чем тогда может быть разница реализации форвардинга методом natd, добавляя опции в /etc/natd.conf, например:
-redirect_port proto targetIP:targetPORT[-targetPORT]
-redirect_address localIP publicIPи методом ipfw, где можно произвести те же настройки, внеся изменения в /etc/rc.firewall, например:
${ipfw} add fwd <протокол> from <откуда> to <куда> <дополнительные_условия>Второе можно сделать только с опцией IPFIREWALL_FORWARD. В первом случае можно обойтись вообще без пересбоки ядра. Думаю на этом отличия не заканчиваются?