LINUX.ORG.RU
ФорумAdmin

Проброс диапазона портов на всю подсеть.


0

0

Доброго времени суток!

Недавно перешел с FreeBSD на Linux CentOS по причине адекватной работы линукса с несколькими провайдерами, таблицей маршрутизации и типами соединений, и столкнулся со следующей проблемой: проброс диапазона портов 4000:6000 на все компьютеры сети 192.168.0.0/24 для корректной работы торрентов. На FreeBSD это реализовывалось через PF правилами вида

rdr proto tcp from any to $ext_ip port $torrent_ports0 -> <nated_hosts> port $torrent_ports0

rdr proto udp from any to $ext_ip port $torrent_ports0 -> <nated_hosts> port $torrent_ports0

гдe

torrent_ports0="4000:6000"

ext_ip="внешний IP"

Курил маны, лазил по форумам...

Правила вида

$ipt -t nat -A PREROUTING -i $iface -p tcp -d $ip_iface --dport $ports -j DNAT --to-destination $host1

$ipt -t nat -A PREROUTING -i $iface -p tcp -d $ip_iface --dport $ports -j DNAT --to-destination $host2

$ipt -t nat -A PREROUTING -i $iface -p tcp -d $ip_iface --dport $ports -j DNAT --to-destination $host3

где ports="4000:6000"

результата не дают. По статистике iptables -L -v -n -t nat 0 пакетов, 0 байт для каждого такого правила.

Уважаемые Камрады, подскажие варианты такого решения для Iptables или посоветуйте аналог PF для Linux. Заранее спасибо!

Не понял, как можно порт с _одного_ адреса пробросить на _всю_ подсеть? Конвертировать уникасты в броадкасты?

nnz ★★★★
()
Ответ на: комментарий от nnz

"Не понял, как можно порт с _одного_ адреса пробросить на _всю_ подсеть? Конвертировать уникасты в броадкасты?"

я перефразирую: _все_ пакеты с любого адреса, приходящие на внешний интерфейс, должны перенаправляться на локальные адреса, а в нашем случае _подсеть_ можно представить в виде набора правил, описывающих _каждый_ хост. В FreeBSD работает на "ура"!

dev-ice
() автор топика
Ответ на: комментарий от dev-ice

> _все_ пакеты с любого адреса, приходящие на внешний интерфейс, должны перенаправляться на локальные адреса
И где здесь порты ? Каким образом шлюз определяет на какой локальный IP какой, пришедший извне, пакет перебрасывать ?

spirit ★★★★★
()
Ответ на: комментарий от spirit

+1
больше похоже на непонимание предметной области, чем на несовершенство iptables

как решение вижу только циклом пробивать проброс портов в зависимости от ip клиента

af5 ★★★★★
()

>посоветуйте аналог PF для Linux.

Use FreeBSD и не мучайся.

iZEN ★★★★★
()
Ответ на: комментарий от af5

2 spirit: да, я слегка не точен был в формулировке, я имел ввиду все пакеты, приходящие на определенный диапазон портов.

2 af5: я знаю точно, что если указать в pf правило вида

rdr proto tcp from any to $ext_ip port $torrent_ports0 -> <nated_hosts> port $torrent_ports0

где nated_hosts - список ИП-адресов лок.сети. а torrent_ports={4000:6000} , то ВСЕ 30 компьютеров в сети начинают видеть сиды в торрент-клиентах, без этого правила сидов 0 и видны только пиры. Как ни крути, факт. Разумеется для каждого компьютера в сети, у меня жестко выставлены торрент-порты для передачи трафика пирам.

Так вот вопрос понимания предметной области тут не уместен! Возможно в PF есть какой-то движок, который может циклически взимодейстовать с конечными хостами, но я не вникал. Мне интересно, можно ли создать аналогичное правило проброса портов в Iptables и прошу поделиться опытом.

dev-ice
() автор топика
Ответ на: комментарий от dev-ice

Удалил NOD32, со своего компьютера, все заработало )))

Wантузятнег детектед...

iZEN ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.