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

Форвардинг в Linux

Во freebsd можно было сделать так:

 

ipfw add fwd 10.0.0.2 icmp from 192.168.0.10 to 1.2.3.4 recv fxp0

 

что заврнуло бы icmp-пакеты от 192.168.0.10 к 1.2.3.4, пришедшие с интерфейса fxp0, на 10.0.0.2.

 

Такая строчка

 

iptables -t nat -A PREROUTING -p icmp -s 192.168.0.10 -d 1.2.3.4 -j DNAT --to 10.0.0.2

 

делает почти все то же, но транслирует dst ip с 1.2.3.4 на 10.0.0.2, что логично в принципе, т.к. NAT, но мне надо без ната. Никто не подскажет правильный путь?

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


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

Посмотрите в сторону REDIRECT

У редиректа в параметрах только --to-ports.

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


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

Ничего проще, чем iptables -j MARK и ip rule нету?

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


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

iptables -A PREROUTING -i eth0 -p icmp -s 192.168.0.10 -d 1.2.3.4 -t mangle -j MARK --set-mark 1

ip rule add fwmark 1 table hitry_icmp

ip route add table hitry_icmp via 10.0.0.2

 

Ну еще в /etc/iproute2/rt_tables нужно не забыть создать таблицу hitry_icmp

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


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

Ничего проще, чем iptables -j MARK и ip rule нету?
Нету.

Не умеет iproute2 работать напрямую с отдельными протоколами.

Но зато попробуй во FreeBSD создать мультитабличный роутинг, а тут легко :).

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


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

Ничего проще, чем iptables -j MARK и ip rule нету?

Нету.

Не умеет iproute2 работать напрямую с отдельными протоколами.

А от него это и не требуется. Для того и нужен fwmark, а с протоколами пусть работает iptables.

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


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

Во freebsd можно было сделать так:

 

ipfw add fwd 10.0.0.2 icmp from 192.168.0.10 to 1.2.3.4 recv fxp0

 

что заврнуло бы icmp-пакеты от 192.168.0.10 к 1.2.3.4, пришедшие с интерфейса fxp0, на 10.0.0.2.

 

Никто не подскажет правильный путь?

iptables -t mangle -A PREROUTING -p icmp -s 192.168.0.10 -d 1.2.3.4 -j ROUTE --gw 10.0.0.2

 

единственное - этот модуль (ipt_ROUTE) не во всех дистрибутивах по умолчанию есть. может придется ядро пересобирать.

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


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

Спасибо. Будем ждать...

http://www.netfilter.org/projects/patch-o-...pom-extra-ROUTE

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


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

не используйте лучше модуль ROUTE, дл этого есть ip rule из iproute2

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


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

Ничего проще, чем iptables -j MARK и ip rule нету?

Нету.

Не умеет iproute2 работать напрямую с отдельными протоколами.

Но зато попробуй во FreeBSD создать мультитабличный роутинг, а тут легко :).

но еще вопрос -- нужно ли, и что легче в поддержке.

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


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

Join the conversation

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

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

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

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

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

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

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