URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 60862
[ Назад ]

Исходное сообщение
"fwd в ipfw"

Отправлено roos , 12-Окт-05 16:49 
Привет непонятка по ipfw точнее его функции fwd:
не хочет форвардить пакеты на внешние адресса (только на интерфесы самого сервера),
никакие правила не закрывают, фаервол делает только форвард и NAT.
Например он замечательно заворачивает http трафик на прокси, а вот зафорвардить с одного внешнего pop3 на другой внешний сервер не получается чтоб не бегать у юзверей не менять ПОП3 сервер в почтовых клиентах.

У меня подозрение что это он так с натом работает
стоит freebsd 4.11


Содержание

Сообщения в этом обсуждении
"fwd в ipfw"
Отправлено Nimdar , 12-Окт-05 17:06 
man ipfw

fwd ipaddr[,port]
                     Change the next-hop on matching packets to ipaddr, which
                     can be an IP address in dotted quad or a host name.  If
                     ipaddr is not a directly-reachable address, the route as
                     found in the local routing table for that IP is used
                     instead.  If ipaddr is a local address, then on a packet
                     entering the system from a remote host it will be
                     diverted to port on the local machine, keeping the local
                     address of the socket set to the original IP address the
                     packet was destined for.  This is intended for use with
                     transparent proxy servers.  If the IP is not a local
                     address then the port number (if specified) is ignored
                     and the rule only applies to packets leaving the system.
                     This will also map addresses to local ports when packets
                     are generated locally.  The search terminates if this
                     rule matches.  If the port number is not given then the
                     port number in the packet is used, so that a packet for
                     an external machine port Y would be forwarded to local
                     port Y.  The kernel must have been compiled with the
                     IPFIREWALL_FORWARD option.


"fwd в ipfw"
Отправлено roos , 12-Окт-05 17:15 
>man ipfw
>
>fwd ipaddr[,port]
>            
>         Change the
>next-hop on matching packets to ipaddr, which
>            
>         can be
>an IP address in dotted quad or a host name.  
>If
>            
>         ipaddr is
>not a directly-reachable address, the route as
>            
>         found in
>the local routing table for that IP is used
>            
>         instead.  
>If ipaddr is a local address, then on a packet
>            
Я первым делом это читал
>         entering the
>system from a remote host it will be
>            
>         diverted to
>port on the local machine, keeping the local
>            
>         address of
>the socket set to the original IP address the
>            
>         packet was
>destined for.  This is intended for use with
>            
>         transparent proxy
>servers.  If the IP is not a local
>            
>         address then
>the port number (if specified) is ignored
>            
>         and the
>rule only applies to packets leaving the system.
>            
>         This will
>also map addresses to local ports when packets
>            
>         are generated
>locally.  The search terminates if this
>            
>         rule matches.
> If the port number is not given then the
>            
>         port number
>in the packet is used, so that a packet for
>            
>         an external
>machine port Y would be forwarded to local
>            
>         port Y.
> The kernel must have been compiled with the
>            
>         IPFIREWALL_FORWARD option.
>



"fwd в ipfw"
Отправлено Nimdar , 12-Окт-05 17:17 
Первым делом надо читать все!

>If the IP is not a local address then the port number (if specified) is ignored and the
> rule only applies to packets leaving the system.


"fwd в ipfw"
Отправлено roos , 12-Окт-05 17:32 
>Первым делом надо читать все!
>
>>If the IP is not a local address then the port number (if specified) is ignored and the
>> rule only applies to packets leaving the system.

Ну превожу:
Если адрес не является локальным, тогда номер порта(если указан) -игнорируется и правило применятся к пакетам покидающим систему.

И что вы хотели этим сказать? Что если указан порт назначения -то он игнорируется? Ну так я понимаю что етот самий порт тогда берется из пакета попавшего в правило ,а он 110 -я то
отлавливаю ,к примеру, все пакеты идушие наружу к серверу на 110 порт и форваржу на другой внешний адресс


"fwd в ipfw"
Отправлено miha_nax , 12-Окт-05 17:16 
>Привет непонятка по ipfw точнее его функции fwd:
>не хочет форвардить пакеты на внешние адресса (только на интерфесы самого сервера),
>
>никакие правила не закрывают, фаервол делает только форвард и NAT.
>Например он замечательно заворачивает http трафик на прокси, а вот зафорвардить с
>одного внешнего pop3 на другой внешний сервер не получается чтоб не
>бегать у юзверей не менять ПОП3 сервер в почтовых клиентах.
>
>У меня подозрение что это он так с натом работает
>стоит freebsd 4.11

А вообще, что бы по пользователям не бегать - сделай адресс сервера не в виде ip, а в виде имени хоста. Гораздо проще менять DNS, чем бегать по компам или придумывать новое правило фаерволла :)


"fwd в ipfw"
Отправлено roos , 12-Окт-05 17:26 
>>Привет непонятка по ipfw точнее его функции fwd:
>>не хочет форвардить пакеты на внешние адресса (только на интерфесы самого сервера),
>>
>>никакие правила не закрывают, фаервол делает только форвард и NAT.
>>Например он замечательно заворачивает http трафик на прокси, а вот зафорвардить с
>>одного внешнего pop3 на другой внешний сервер не получается чтоб не
>>бегать у юзверей не менять ПОП3 сервер в почтовых клиентах.
>>
>>У меня подозрение что это он так с натом работает
>>стоит freebsd 4.11
>
>А вообще, что бы по пользователям не бегать - сделай адресс сервера
>не в виде ip, а в виде имени хоста. Гораздо проще
>менять DNS, чем бегать по компам или придумывать новое правило фаерволла
>:)


ПОП3 сервер внешний , переезжает на новый адрес, у людей он прописан по разному(адресом, именем- это делали до меня), вот я и хочу ПОП3 пакеты идущие на старый адрес форвардить на новый. Вопрос ведь не в том что лучше , а в том что уже имеем. Мне нужно именно зафорвардить поп3 пакети с одного адреса на другой!!!


"fwd в ipfw"
Отправлено iasb , 12-Окт-05 17:38 
топорно сделал через sysutils/socket - и все что на внешний интерфейс(ы) приходит - валится на любой интранетовский сервак - и в локалке и через VtunD - в другую локалку - ему пофигу. Единственное - какое-то время держит сессии незакрытыми, но они сами потом нормально закрываются со временем.

"fwd в ipfw"
Отправлено roos , 12-Окт-05 18:21 
>топорно сделал через sysutils/socket - и все что на внешний интерфейс(ы) приходит
>- валится на любой интранетовский сервак - и в локалке и
>через VtunD - в другую локалку - ему пофигу. Единственное -
>какое-то время держит сессии незакрытыми, но они сами потом нормально закрываются
>со временем.

Может я не понял но аналогичного ефекта можна достичь с помощью NATD
Но мне кажется что это не относится к описаной задаче.
Мне ну жно исходу чем то переписывать адрес назначения в заголовке(добится переадресации)


"fwd в ipfw"
Отправлено iasb , 13-Окт-05 15:25 
Тоесть если по русски - надо сделать так, чтобы ящик анализировал трафик и если вылавливал пакет с IP-старый-POP/110 то переруливал бы его на IP-новый-POP/110 ?  Если так - то ты золото для банковских мошенников.
А если серьезно - я не развлекался бы с IPFW - поставил бы у себя на приходящем интерфейсе (в сторону пользователей) алиас на старый адрем POP и сделал бы все через socket