Привет непонятка по ipfw точнее его функции fwd:
не хочет форвардить пакеты на внешние адресса (только на интерфесы самого сервера),
никакие правила не закрывают, фаервол делает только форвард и NAT.
Например он замечательно заворачивает http трафик на прокси, а вот зафорвардить с одного внешнего pop3 на другой внешний сервер не получается чтоб не бегать у юзверей не менять ПОП3 сервер в почтовых клиентах.У меня подозрение что это он так с натом работает
стоит freebsd 4.11
man ipfwfwd 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.
>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.
>
Первым делом надо читать все!>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.
>Первым делом надо читать все!
>
>>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 порт и форваржу на другой внешний адресс
>Привет непонятка по ipfw точнее его функции fwd:
>не хочет форвардить пакеты на внешние адресса (только на интерфесы самого сервера),
>
>никакие правила не закрывают, фаервол делает только форвард и NAT.
>Например он замечательно заворачивает http трафик на прокси, а вот зафорвардить с
>одного внешнего pop3 на другой внешний сервер не получается чтоб не
>бегать у юзверей не менять ПОП3 сервер в почтовых клиентах.
>
>У меня подозрение что это он так с натом работает
>стоит freebsd 4.11А вообще, что бы по пользователям не бегать - сделай адресс сервера не в виде ip, а в виде имени хоста. Гораздо проще менять DNS, чем бегать по компам или придумывать новое правило фаерволла :)
>>Привет непонятка по ipfw точнее его функции fwd:
>>не хочет форвардить пакеты на внешние адресса (только на интерфесы самого сервера),
>>
>>никакие правила не закрывают, фаервол делает только форвард и NAT.
>>Например он замечательно заворачивает http трафик на прокси, а вот зафорвардить с
>>одного внешнего pop3 на другой внешний сервер не получается чтоб не
>>бегать у юзверей не менять ПОП3 сервер в почтовых клиентах.
>>
>>У меня подозрение что это он так с натом работает
>>стоит freebsd 4.11
>
>А вообще, что бы по пользователям не бегать - сделай адресс сервера
>не в виде ip, а в виде имени хоста. Гораздо проще
>менять DNS, чем бегать по компам или придумывать новое правило фаерволла
>:)
ПОП3 сервер внешний , переезжает на новый адрес, у людей он прописан по разному(адресом, именем- это делали до меня), вот я и хочу ПОП3 пакеты идущие на старый адрес форвардить на новый. Вопрос ведь не в том что лучше , а в том что уже имеем. Мне нужно именно зафорвардить поп3 пакети с одного адреса на другой!!!
топорно сделал через sysutils/socket - и все что на внешний интерфейс(ы) приходит - валится на любой интранетовский сервак - и в локалке и через VtunD - в другую локалку - ему пофигу. Единственное - какое-то время держит сессии незакрытыми, но они сами потом нормально закрываются со временем.
>топорно сделал через sysutils/socket - и все что на внешний интерфейс(ы) приходит
>- валится на любой интранетовский сервак - и в локалке и
>через VtunD - в другую локалку - ему пофигу. Единственное -
>какое-то время держит сессии незакрытыми, но они сами потом нормально закрываются
>со временем.Может я не понял но аналогичного ефекта можна достичь с помощью NATD
Но мне кажется что это не относится к описаной задаче.
Мне ну жно исходу чем то переписывать адрес назначения в заголовке(добится переадресации)
Тоесть если по русски - надо сделать так, чтобы ящик анализировал трафик и если вылавливал пакет с IP-старый-POP/110 то переруливал бы его на IP-новый-POP/110 ? Если так - то ты золото для банковских мошенников.
А если серьезно - я не развлекался бы с IPFW - поставил бы у себя на приходящем интерфейсе (в сторону пользователей) алиас на старый адрем POP и сделал бы все через socket