Перейти к содержимому
Калькуляторы

freebsd хитрый ipfw

Нужен совет гуру фряхи )

Можно ли каким то образом завернуть трафик с локального ИП на другой (в тойже подсети)

Пример - на фре ип 10.0.0.1\24 , на 80 порту висит апач.

Нужно пакеты с ип 10.0.0.1 направлять на ИП 10.0.0.10 (роутер в том же свиче, который разрулит пакеты дальше.)

 

Роутинг не предлагать, нужно обойтись без прописывания роутов.

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

Поделиться сообщением


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

route было бы достаточно? тогда хватит

 

fwd | forward ipaddr | tablearg[,port]

Change the next-hop on matching packets to ipaddr, which can be

an IP address or a host name. For IPv4, the next hop can also be

supplied by the last table looked up for the packet by using the

tablearg keyword instead of an explicit address. The search ter‐

minates if this rule matches.

Поделиться сообщением


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

ipfw fwd 10.0.0.1 (локальный ИП) to 10.0.0.10 (ИП роутера который все разрулит)

 

я правильно сконструировал ??

Поделиться сообщением


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

ipfw add fwd "куда" ip from any to me 80

имнип как-то так, но по-традиции в ядре должна быть опция IPFIREWALL_FORWARD, и вроде в GENERIC-ядре ее нет... :)

Изменено пользователем DVM-Avgoor

Поделиться сообщением


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

Вот еще думаю полезно будет.

Это с opennet:

fwd ip-адрес[,порт]  Изменяет следующий переход (next-hop) для соответствующих пакетов, 
направляя их по указанному ip-адресу, который можно задавать либо в виде четверки чисел через точку, 
либо по имени хоста. Если ip-адрес непосредственно не доступен, 
вместо него используется соответствующий маршрут, полученный по локальной таблице маршрутизации. 
Если ip-адрес - локальный, при поступлении в систему пакета с удаленного хоста он будет 
перенаправлен на заданный порт на локальной машине, так что локальный адрес сокета 
остается установленным в соответствии с исходным IP-адресом, по которому направлялся 
пакет. Это действие предназначено для использования в прозрачных промежуточных серверах. 
Если IP-адрес - не локальный, дальнейший поиск прекращается; однако, при выходе из канала 
если переменная sysctl(8) net.inet.ip.fw.one_pass не установлена, пакет снова передается 
брандмауэру для проверки, начиная со следующего правила.

 

А это из MAN страницы:

fwd | forward ipaddr | tablearg[,port]
            Change the next-hop on matching packets to ipaddr, which can be
            an IP address or a host name.  For IPv4, the next hop can also be
            supplied by the last table looked up for the packet by using the
            tablearg keyword instead of an explicit address.  The search ter‐
            minates if this rule matches.

            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.
            A fwd rule will not match layer-2 packets (those received on
            ether_input, ether_output, or bridged).
            The fwd action does not change the contents of the packet at all.
            In particular, the destination address remains unmodified, so
            packets forwarded to another system will usually be rejected by
            that system unless there is a matching rule on that system to
            capture them.  For packets forwarded locally, the local address
            of the socket will be set to the original destination address of
            the packet.  This makes the netstat(1) entry look rather weird
            but is intended for use with transparent proxy servers.

            To enable fwd a custom kernel needs to be compiled with the
            option options IPFIREWALL_FORWARD.

Изменено пользователем roma33rus

Поделиться сообщением


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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.