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

Исходное сообщение
"Редирект портов в pf и iptables"

Отправлено Freeman , 19-Апр-07 02:06 
Сервер с внешним EXT_INT - 217.XX.XX.155, LOCAL_INT - 192.168.1.1
Машина в локальной сети - 192.168.1.10 а вот шлюз у нее 192.168.1.100

В линуксе правила редиректа:
-A PREROUTING -d 217.XX.XX.155 -p tcp -m multiport --dport 80 -j DNAT --to-destination 192.168.1.10
-A POSTROUTING -d 192.168.1.10 -p tcp -m multiport --dport 80 -j SNAT --to-source 192.168.1.1
Работает без проблем.

Нужно поднять то же самое на openbsd, правило следущее:

rdr pass inet proto tcp from any to 217.XX.XX.155 port 80 -> 192.168.1.10

Это правило работает только если на локальной машине (192.168.1.10) я пропишу дефолтным гейтом 192.168.1.1.

Что нужно добавить? Помогите.


Содержание

Сообщения в этом обсуждении
"Редирект портов в pf и iptables"
Отправлено ovax , 19-Апр-07 05:50 

А нахрена вам второе правило в иптаблес ???
уберите. а то вдруг, захотите ещё одну машину в локалке завести, и кирдык... Не будет у неё интернета.

"Редирект портов в pf и iptables"
Отправлено freeman , 19-Апр-07 11:18 
>
>А нахрена вам второе правило в иптаблес ???
>уберите. а то вдруг, захотите ещё одну машину в локалке завести, и
>кирдык... Не будет у неё интернета.

Интернет будет, все прекрасно работает.


"Редирект портов в pf и iptables"
Отправлено ovax , 20-Апр-07 11:01 
>>
>>А нахрена вам второе правило в иптаблес ???
>>уберите. а то вдруг, захотите ещё одну машину в локалке завести, и
>>кирдык... Не будет у неё интернета.
>
>Интернет будет, все прекрасно работает.

   А, тупанул. Не туда глянул... Работать будет. Но зачем вам эта вторая строка я так и не понял. У вас все машинки внутри сети 192.168.1.0/24 ?


"Редирект портов в pf и iptables"
Отправлено EL , 19-Апр-07 07:41 
>Нужно поднять то же самое на openbsd, правило следущее:
>
>rdr pass inet proto tcp from any to 217.XX.XX.155 port 80 -> 192.168.1.10
>
>Это правило работает только если на локальной машине (192.168.1.10) я пропишу дефолтным
>гейтом 192.168.1.1.
>
>Что нужно добавить? Помогите.

А nat 192.168.1.10 -> 217.XX.XX.155 кто делать будет ???



"Редирект портов в pf и iptables"
Отправлено freeman , 19-Апр-07 11:17 
>>Нужно поднять то же самое на openbsd, правило следущее:
>>
>>rdr pass inet proto tcp from any to 217.XX.XX.155 port 80 -> 192.168.1.10
>>
>>Это правило работает только если на локальной машине (192.168.1.10) я пропишу дефолтным
>>гейтом 192.168.1.1.
>>
>>Что нужно добавить? Помогите.
>
>А nat 192.168.1.10 -> 217.XX.XX.155 кто делать будет ???

Натил, не помогает.


"Редирект портов в pf и iptables"
Отправлено niksonnnn , 19-Апр-07 11:59 
>>>Нужно поднять то же самое на openbsd, правило следущее:
>>>
>>>rdr pass inet proto tcp from any to 217.XX.XX.155 port 80 -> 192.168.1.10
>>>
>>>Это правило работает только если на локальной машине (192.168.1.10) я пропишу дефолтным
>>>гейтом 192.168.1.1.
>>>
>>>Что нужно добавить? Помогите.
>>
>>А nat 192.168.1.10 -> 217.XX.XX.155 кто делать будет ???
>
>Натил, не помогает.

Как временное решение проблемы могу посоветовать затык в виде rinetd...
Вечером попробую у себя реализовать редирект средствами pf, отпишусь обязательно )


"Редирект портов в pf и iptables"
Отправлено freeman , 19-Апр-07 12:06 
>>>>Нужно поднять то же самое на openbsd, правило следущее:
>>>>
>>>>rdr pass inet proto tcp from any to 217.XX.XX.155 port 80 -> 192.168.1.10
>>>>
>>>>Это правило работает только если на локальной машине (192.168.1.10) я пропишу дефолтным
>>>>гейтом 192.168.1.1.
>>>>
>>>>Что нужно добавить? Помогите.
>>>
>>>А nat 192.168.1.10 -> 217.XX.XX.155 кто делать будет ???
>>
>>Натил, не помогает.
>
>Как временное решение проблемы могу посоветовать затык в виде rinetd...
>Вечером попробую у себя реализовать редирект средствами pf, отпишусь обязательно )

В принципе это решение у меня сейчас и работает, но я не думал, что средствами pf это не возможно сделать.


"Редирект портов в pf и iptables"
Отправлено niksonnnn , 19-Апр-07 12:17 
>>>>>Нужно поднять то же самое на openbsd, правило следущее:
>>>>>
>>>>>rdr pass inet proto tcp from any to 217.XX.XX.155 port 80 -> 192.168.1.10
>>>>>
>>>>>Это правило работает только если на локальной машине (192.168.1.10) я пропишу дефолтным
>>>>>гейтом 192.168.1.1.
>>>>>
>>>>>Что нужно добавить? Помогите.
>>>>
>>>>А nat 192.168.1.10 -> 217.XX.XX.155 кто делать будет ???
>>>
>>>Натил, не помогает.
>>
>>Как временное решение проблемы могу посоветовать затык в виде rinetd...
>>Вечером попробую у себя реализовать редирект средствами pf, отпишусь обязательно )
>
>В принципе это решение у меня сейчас и работает, но я не
>думал, что средствами pf это не возможно сделать.

Итак, всё реализовано и работает с pf:

1) правило редиректа rdr pass on $ext_if proto tcp from any to $ext_if port x -> $internal_server1 port x
2) правило НАТ (очень примечательно, что в оф. документации нет примера такой связки)
binat on $ext_if from $internal_server to $ext_if -> $ext_if

Скажу сразу, у меня всё работает, правила написаны для тестовых целей.
По-другому реализовать не получилось, кроме как через костыль rinetd.

Удачи в настройке)))


"Редирект портов в pf и iptables"
Отправлено niksonnnn , 19-Апр-07 12:22 
>>>>>>Нужно поднять то же самое на openbsd, правило следущее:
>>>>>>
>>>>>>rdr pass inet proto tcp from any to 217.XX.XX.155 port 80 -> 192.168.1.10
>>>>>>
>>>>>>Это правило работает только если на локальной машине (192.168.1.10) я пропишу дефолтным
>>>>>>гейтом 192.168.1.1.
>>>>>>
>>>>>>Что нужно добавить? Помогите.
>>>>>
>>>>>А nat 192.168.1.10 -> 217.XX.XX.155 кто делать будет ???
>>>>
>>>>Натил, не помогает.
>>>
>>>Как временное решение проблемы могу посоветовать затык в виде rinetd...
>>>Вечером попробую у себя реализовать редирект средствами pf, отпишусь обязательно )
>>
>>В принципе это решение у меня сейчас и работает, но я не
>>думал, что средствами pf это не возможно сделать.
>
>Итак, всё реализовано и работает с pf:
>
>1) правило редиректа rdr pass on $ext_if proto tcp from any to $ext_if port x -> $internal_server1 port x
>2) правило НАТ (очень примечательно, что в оф. документации нет примера такой
>связки)
>binat on $ext_if from $internal_server to $ext_if -> $ext_if
>
>Скажу сразу, у меня всё работает, правила написаны для тестовых целей.
>По-другому реализовать не получилось, кроме как через костыль rinetd.
>
>Удачи в настройке)))

ЗЫ. Почитать можно тут http://www.openbsd.org/faq/pf/nat.html


"Редирект портов в pf и iptables"
Отправлено freeman , 19-Апр-07 12:37 
>>>>>>Нужно поднять то же самое на openbsd, правило следущее:
>>>>>>
>>>>>>rdr pass inet proto tcp from any to 217.XX.XX.155 port 80 -> 192.168.1.10
>>>>>>
>>>>>>Это правило работает только если на локальной машине (192.168.1.10) я пропишу дефолтным
>>>>>>гейтом 192.168.1.1.
>>>>>>
>>>>>>Что нужно добавить? Помогите.
>>>>>
>>>>>А nat 192.168.1.10 -> 217.XX.XX.155 кто делать будет ???
>>>>
>>>>Натил, не помогает.
>>>
>>>Как временное решение проблемы могу посоветовать затык в виде rinetd...
>>>Вечером попробую у себя реализовать редирект средствами pf, отпишусь обязательно )
>>
>>В принципе это решение у меня сейчас и работает, но я не
>>думал, что средствами pf это не возможно сделать.
>
>Итак, всё реализовано и работает с pf:
>
>1) правило редиректа rdr pass on $ext_if proto tcp from any to $ext_if port x -> $internal_server1 port x
>2) правило НАТ (очень примечательно, что в оф. документации нет примера такой
>связки)
>binat on $ext_if from $internal_server to $ext_if -> $ext_if
>
>Скажу сразу, у меня всё работает, правила написаны для тестовых целей.
>По-другому реализовать не получилось, кроме как через костыль rinetd.
>
>Удачи в настройке)))

Почему то не работает.


"Редирект портов в pf и iptables"
Отправлено niksonnnn , 19-Апр-07 12:49 
конфиг можно посмотреть?



"Редирект портов в pf и iptables"
Отправлено freeman , 19-Апр-07 13:12 
>конфиг можно посмотреть?

Только эти два правила в pf.conf.

rdr on rl0 proto tcp from any to $in_ext port x -> 192.168.1.10 port x
binat on rl0 from 192.168.1.10 to $in_ext -> $in_ext

Все работает, только если я пропишу шлюз.


"Редирект портов в pf и iptables"
Отправлено niksonnnn , 19-Апр-07 13:14 
>>конфиг можно посмотреть?
>
>Только эти два правила в pf.conf.
>
>rdr on rl0 proto tcp from any to $in_ext port x -> 192.168.1.10 port x
>binat on rl0 from 192.168.1.10 to $in_ext -> $in_ext
>
>Все работает, только если я пропишу шлюз.

Так, минуточку... У вас несколько подсетей и шлюзов?

чёт я уже нечётко вижу себе вашу схему сети... можно попдробнее?


"Редирект портов в pf и iptables"
Отправлено freeman , 19-Апр-07 13:34 
>>>конфиг можно посмотреть?
>>
>>Только эти два правила в pf.conf.
>>
>>rdr on rl0 proto tcp from any to $in_ext port x -> 192.168.1.10 port x
>>binat on rl0 from 192.168.1.10 to $in_ext -> $in_ext
>>
>>Все работает, только если я пропишу шлюз.
>
>Так, минуточку... У вас несколько подсетей и шлюзов?
>
>чёт я уже нечётко вижу себе вашу схему сети... можно попдробнее?

Как я уже писал:
Сервер (openbsd) с внешним EXT_INT - 217.XX.XX.155, LOCAL_INT - 192.168.1.1
Машина в локальной сети - 192.168.1.10 а вот шлюз у нее 192.168.1.100 а не 192.168.1.1 (openbsd)
Все работает, только если я на 192.168.1.10 пропишу гейт 192.168.1.1


"Редирект портов в pf и iptables"
Отправлено niksonnnn , 19-Апр-07 13:56 
>>>>конфиг можно посмотреть?
>>>
>>>Только эти два правила в pf.conf.
>>>
>>>rdr on rl0 proto tcp from any to $in_ext port x -> 192.168.1.10 port x
>>>binat on rl0 from 192.168.1.10 to $in_ext -> $in_ext
>>>
>>>Все работает, только если я пропишу шлюз.
>>
>>Так, минуточку... У вас несколько подсетей и шлюзов?
>>
>>чёт я уже нечётко вижу себе вашу схему сети... можно попдробнее?
>
>Как я уже писал:
>Сервер (openbsd) с внешним EXT_INT - 217.XX.XX.155, LOCAL_INT - 192.168.1.1
>Машина в локальной сети - 192.168.1.10 а вот шлюз у нее 192.168.1.100
>а не 192.168.1.1 (openbsd)
>Все работает, только если я на 192.168.1.10 пропишу гейт 192.168.1.1

ХЗ, ИМХО пакеты должны ходить через тот гейт где осуществляется биНАТ  и вполне естесственно, вышеприведенное правило не будет работать с гейтом 192,168,1,100 )


"Редирект портов в pf и iptables"
Отправлено freeman , 19-Апр-07 13:59 
>>>>>конфиг можно посмотреть?
>>>>
>>>>Только эти два правила в pf.conf.
>>>>
>>>>rdr on rl0 proto tcp from any to $in_ext port x -> 192.168.1.10 port x
>>>>binat on rl0 from 192.168.1.10 to $in_ext -> $in_ext
>>>>
>>>>Все работает, только если я пропишу шлюз.
>>>
>>>Так, минуточку... У вас несколько подсетей и шлюзов?
>>>
>>>чёт я уже нечётко вижу себе вашу схему сети... можно попдробнее?
>>
>>Как я уже писал:
>>Сервер (openbsd) с внешним EXT_INT - 217.XX.XX.155, LOCAL_INT - 192.168.1.1
>>Машина в локальной сети - 192.168.1.10 а вот шлюз у нее 192.168.1.100
>>а не 192.168.1.1 (openbsd)
>>Все работает, только если я на 192.168.1.10 пропишу гейт 192.168.1.1
>
>ХЗ, ИМХО пакеты должны ходить через тот гейт где осуществляется биНАТ  
>и вполне естесственно, вышеприведенное правило не будет работать с гейтом 192,168,1,100
>)

Вот я и говорю, хотя с iptables все работает.


"Редирект портов в pf и iptables"
Отправлено niksonnnn , 19-Апр-07 14:01 
>>>>>>конфиг можно посмотреть?
>>>>>
>>>>>Только эти два правила в pf.conf.
>>>>>
>>>>>rdr on rl0 proto tcp from any to $in_ext port x -> 192.168.1.10 port x
>>>>>binat on rl0 from 192.168.1.10 to $in_ext -> $in_ext
>>>>>
>>>>>Все работает, только если я пропишу шлюз.
>>>>
>>>>Так, минуточку... У вас несколько подсетей и шлюзов?
>>>>
>>>>чёт я уже нечётко вижу себе вашу схему сети... можно попдробнее?
>>>
>>>Как я уже писал:
>>>Сервер (openbsd) с внешним EXT_INT - 217.XX.XX.155, LOCAL_INT - 192.168.1.1
>>>Машина в локальной сети - 192.168.1.10 а вот шлюз у нее 192.168.1.100
>>>а не 192.168.1.1 (openbsd)
>>>Все работает, только если я на 192.168.1.10 пропишу гейт 192.168.1.1
>>
>>ХЗ, ИМХО пакеты должны ходить через тот гейт где осуществляется биНАТ  
>>и вполне естесственно, вышеприведенное правило не будет работать с гейтом 192,168,1,100
>>)
>
>Вот я и говорю, хотя с iptables все работает.

идиотство конечно но может попробовать так? binat on rl0 from 192.168.1.10 to 192,168,1,100 -> 192,168,1,1


"Редирект портов в pf и iptables"
Отправлено freeman , 19-Апр-07 15:03 
>>>>>>>конфиг можно посмотреть?
>>>>>>
>>>>>>Только эти два правила в pf.conf.
>>>>>>
>>>>>>rdr on rl0 proto tcp from any to $in_ext port x -> 192.168.1.10 port x
>>>>>>binat on rl0 from 192.168.1.10 to $in_ext -> $in_ext
>>>>>>
>>>>>>Все работает, только если я пропишу шлюз.
>>>>>
>>>>>Так, минуточку... У вас несколько подсетей и шлюзов?
>>>>>
>>>>>чёт я уже нечётко вижу себе вашу схему сети... можно попдробнее?
>>>>
>>>>Как я уже писал:
>>>>Сервер (openbsd) с внешним EXT_INT - 217.XX.XX.155, LOCAL_INT - 192.168.1.1
>>>>Машина в локальной сети - 192.168.1.10 а вот шлюз у нее 192.168.1.100
>>>>а не 192.168.1.1 (openbsd)
>>>>Все работает, только если я на 192.168.1.10 пропишу гейт 192.168.1.1
>>>
>>>ХЗ, ИМХО пакеты должны ходить через тот гейт где осуществляется биНАТ  
>>>и вполне естесственно, вышеприведенное правило не будет работать с гейтом 192,168,1,100
>>>)
>>
>>Вот я и говорю, хотя с iptables все работает.
>
>идиотство конечно но может попробовать так? binat on rl0 from 192.168.1.10 to 192,168,1,100 -> 192,168,1,1

Не работает:-)


"Редирект портов в pf и iptables"
Отправлено niksonnnn , 19-Апр-07 16:28 
>>>>>>>>конфиг можно посмотреть?
>>>>>>>
>>>>>>>Только эти два правила в pf.conf.
>>>>>>>
>>>>>>>rdr on rl0 proto tcp from any to $in_ext port x -> 192.168.1.10 port x
>>>>>>>binat on rl0 from 192.168.1.10 to $in_ext -> $in_ext
>>>>>>>
>>>>>>>Все работает, только если я пропишу шлюз.
>>>>>>
>>>>>>Так, минуточку... У вас несколько подсетей и шлюзов?
>>>>>>
>>>>>>чёт я уже нечётко вижу себе вашу схему сети... можно попдробнее?
>>>>>
>>>>>Как я уже писал:
>>>>>Сервер (openbsd) с внешним EXT_INT - 217.XX.XX.155, LOCAL_INT - 192.168.1.1
>>>>>Машина в локальной сети - 192.168.1.10 а вот шлюз у нее 192.168.1.100
>>>>>а не 192.168.1.1 (openbsd)
>>>>>Все работает, только если я на 192.168.1.10 пропишу гейт 192.168.1.1
>>>>
>>>>ХЗ, ИМХО пакеты должны ходить через тот гейт где осуществляется биНАТ  
>>>>и вполне естесственно, вышеприведенное правило не будет работать с гейтом 192,168,1,100
>>>>)
>>>
>>>Вот я и говорю, хотя с iptables все работает.
>>
>>идиотство конечно но может попробовать так? binat on rl0 from 192.168.1.10 to 192,168,1,100 -> 192,168,1,1
>
>Не работает:-)


входящий траф для перенаправляемого протоколя разрешен? (очень глупый вопрос... если есть контакт при прописаном гейте 192,168,1,1, о чем может идти речь ;-) )

навскидку продампить интерфейс... Почему не используете 192,168,1,1 в качестве шлюза - ведь это логически правильно?!


"Редирект портов в pf и iptables"
Отправлено freeman , 19-Апр-07 19:46 
>>>>>>>>>конфиг можно посмотреть?
>>>>>>>>
>>>>>>>>Только эти два правила в pf.conf.
>>>>>>>>
>>>>>>>>rdr on rl0 proto tcp from any to $in_ext port x -> 192.168.1.10 port x
>>>>>>>>binat on rl0 from 192.168.1.10 to $in_ext -> $in_ext
>>>>>>>>
>>>>>>>>Все работает, только если я пропишу шлюз.
>>>>>>>
>>>>>>>Так, минуточку... У вас несколько подсетей и шлюзов?
>>>>>>>
>>>>>>>чёт я уже нечётко вижу себе вашу схему сети... можно попдробнее?
>>>>>>
>>>>>>Как я уже писал:
>>>>>>Сервер (openbsd) с внешним EXT_INT - 217.XX.XX.155, LOCAL_INT - 192.168.1.1
>>>>>>Машина в локальной сети - 192.168.1.10 а вот шлюз у нее 192.168.1.100
>>>>>>а не 192.168.1.1 (openbsd)
>>>>>>Все работает, только если я на 192.168.1.10 пропишу гейт 192.168.1.1
>>>>>
>>>>>ХЗ, ИМХО пакеты должны ходить через тот гейт где осуществляется биНАТ  
>>>>>и вполне естесственно, вышеприведенное правило не будет работать с гейтом 192,168,1,100
>>>>>)
>>>>
>>>>Вот я и говорю, хотя с iptables все работает.
>>>
>>>идиотство конечно но может попробовать так? binat on rl0 from 192.168.1.10 to 192,168,1,100 -> 192,168,1,1
>>
>>Не работает:-)
>
>
>входящий траф для перенаправляемого протоколя разрешен? (очень глупый вопрос... если есть контакт
>при прописаном гейте 192,168,1,1, о чем может идти речь ;-) )
>
>
>навскидку продампить интерфейс... Почему не используете 192,168,1,1 в качестве шлюза - ведь
>это логически правильно?!

В нашем случае это не возможно. Оказывается линуксовый netfilter намного круче. Не ожидал.


"Редирект портов в pf и iptables"
Отправлено niksonnnn , 20-Апр-07 09:06 
>>>>>>>>>>конфиг можно посмотреть?
>>>>>>>>>
>>>>>>>>>Только эти два правила в pf.conf.
>>>>>>>>>
>>>>>>>>>rdr on rl0 proto tcp from any to $in_ext port x -> 192.168.1.10 port x
>>>>>>>>>binat on rl0 from 192.168.1.10 to $in_ext -> $in_ext
>>>>>>>>>
>>>>>>>>>Все работает, только если я пропишу шлюз.
>>>>>>>>
>>>>>>>>Так, минуточку... У вас несколько подсетей и шлюзов?
>>>>>>>>
>>>>>>>>чёт я уже нечётко вижу себе вашу схему сети... можно попдробнее?
>>>>>>>
>>>>>>>Как я уже писал:
>>>>>>>Сервер (openbsd) с внешним EXT_INT - 217.XX.XX.155, LOCAL_INT - 192.168.1.1
>>>>>>>Машина в локальной сети - 192.168.1.10 а вот шлюз у нее 192.168.1.100
>>>>>>>а не 192.168.1.1 (openbsd)
>>>>>>>Все работает, только если я на 192.168.1.10 пропишу гейт 192.168.1.1
>>>>>>
>>>>>>ХЗ, ИМХО пакеты должны ходить через тот гейт где осуществляется биНАТ  
>>>>>>и вполне естесственно, вышеприведенное правило не будет работать с гейтом 192,168,1,100
>>>>>>)
>>>>>
>>>>>Вот я и говорю, хотя с iptables все работает.
>>>>
>>>>идиотство конечно но может попробовать так? binat on rl0 from 192.168.1.10 to 192,168,1,100 -> 192,168,1,1
>>>
>>>Не работает:-)
>>
>>
>>входящий траф для перенаправляемого протоколя разрешен? (очень глупый вопрос... если есть контакт
>>при прописаном гейте 192,168,1,1, о чем может идти речь ;-) )
>>
>>
>>навскидку продампить интерфейс... Почему не используете 192,168,1,1 в качестве шлюза - ведь
>>это логически правильно?!
>
>В нашем случае это не возможно. Оказывается линуксовый netfilter намного круче. Не
>ожидал.

ИМХО вовсе он не круче... да и нет понятия такого как круче или не руче.. всё зависит от рук и головы)))

А делать выводы не разобравшись - это не есть правильно... как я понял у вас два шлюза... если пакеты ходят через 192,168,1,100 то, что на ней стоит?



"Редирект портов в pf и iptables"
Отправлено freeman , 20-Апр-07 13:23 
>>>>>>>>>>>конфиг можно посмотреть?
>>>>>>>>>>
>>>>>>>>>>Только эти два правила в pf.conf.
>>>>>>>>>>
>>>>>>>>>>rdr on rl0 proto tcp from any to $in_ext port x -> 192.168.1.10 port x
>>>>>>>>>>binat on rl0 from 192.168.1.10 to $in_ext -> $in_ext
>>>>>>>>>>
>>>>>>>>>>Все работает, только если я пропишу шлюз.
>>>>>>>>>
>>>>>>>>>Так, минуточку... У вас несколько подсетей и шлюзов?
>>>>>>>>>
>>>>>>>>>чёт я уже нечётко вижу себе вашу схему сети... можно попдробнее?
>>>>>>>>
>>>>>>>>Как я уже писал:
>>>>>>>>Сервер (openbsd) с внешним EXT_INT - 217.XX.XX.155, LOCAL_INT - 192.168.1.1
>>>>>>>>Машина в локальной сети - 192.168.1.10 а вот шлюз у нее 192.168.1.100
>>>>>>>>а не 192.168.1.1 (openbsd)
>>>>>>>>Все работает, только если я на 192.168.1.10 пропишу гейт 192.168.1.1
>>>>>>>
>>>>>>>ХЗ, ИМХО пакеты должны ходить через тот гейт где осуществляется биНАТ  
>>>>>>>и вполне естесственно, вышеприведенное правило не будет работать с гейтом 192,168,1,100
>>>>>>>)
>>>>>>
>>>>>>Вот я и говорю, хотя с iptables все работает.
>>>>>
>>>>>идиотство конечно но может попробовать так? binat on rl0 from 192.168.1.10 to 192,168,1,100 -> 192,168,1,1
>>>>
>>>>Не работает:-)
>>>
>>>
>>>входящий траф для перенаправляемого протоколя разрешен? (очень глупый вопрос... если есть контакт
>>>при прописаном гейте 192,168,1,1, о чем может идти речь ;-) )
>>>
>>>
>>>навскидку продампить интерфейс... Почему не используете 192,168,1,1 в качестве шлюза - ведь
>>>это логически правильно?!
>>
>>В нашем случае это не возможно. Оказывается линуксовый netfilter намного круче. Не
>>ожидал.
>
>ИМХО вовсе он не круче... да и нет понятия такого как круче
>или не руче.. всё зависит от рук и головы)))
>
>А делать выводы не разобравшись - это не есть правильно... как я
>понял у вас два шлюза... если пакеты ходят через 192,168,1,100 то,
>что на ней стоит?

Это просто факты. Я уже три дня бьюсь, хотя на линуксе это сделал за 10 минут.
Давайте так, забудем вообще про шлюз. Даже если я не выставлю гейт на 192.168.1.10, на линуксе все работает.


"Редирект портов в pf и iptables"
Отправлено niksonnnn , 20-Апр-07 13:47 
>>>>>>>>>>>>конфиг можно посмотреть?
>>>>>>>>>>>
>>>>>>>>>>>Только эти два правила в pf.conf.
>>>>>>>>>>>
>>>>>>>>>>>rdr on rl0 proto tcp from any to $in_ext port x -> 192.168.1.10 port x
>>>>>>>>>>>binat on rl0 from 192.168.1.10 to $in_ext -> $in_ext
>>>>>>>>>>>
>>>>>>>>>>>Все работает, только если я пропишу шлюз.
>>>>>>>>>>
>>>>>>>>>>Так, минуточку... У вас несколько подсетей и шлюзов?
>>>>>>>>>>
>>>>>>>>>>чёт я уже нечётко вижу себе вашу схему сети... можно попдробнее?
>>>>>>>>>
>>>>>>>>>Как я уже писал:
>>>>>>>>>Сервер (openbsd) с внешним EXT_INT - 217.XX.XX.155, LOCAL_INT - 192.168.1.1
>>>>>>>>>Машина в локальной сети - 192.168.1.10 а вот шлюз у нее 192.168.1.100
>>>>>>>>>а не 192.168.1.1 (openbsd)
>>>>>>>>>Все работает, только если я на 192.168.1.10 пропишу гейт 192.168.1.1
>>>>>>>>
>>>>>>>>ХЗ, ИМХО пакеты должны ходить через тот гейт где осуществляется биНАТ  
>>>>>>>>и вполне естесственно, вышеприведенное правило не будет работать с гейтом 192,168,1,100
>>>>>>>>)
>>>>>>>
>>>>>>>Вот я и говорю, хотя с iptables все работает.
>>>>>>
>>>>>>идиотство конечно но может попробовать так? binat on rl0 from 192.168.1.10 to 192,168,1,100 -> 192,168,1,1
>>>>>
>>>>>Не работает:-)
>>>>
>>>>
>>>>входящий траф для перенаправляемого протоколя разрешен? (очень глупый вопрос... если есть контакт
>>>>при прописаном гейте 192,168,1,1, о чем может идти речь ;-) )
>>>>
>>>>
>>>>навскидку продампить интерфейс... Почему не используете 192,168,1,1 в качестве шлюза - ведь
>>>>это логически правильно?!
>>>
>>>В нашем случае это не возможно. Оказывается линуксовый netfilter намного круче. Не
>>>ожидал.
>>
>>ИМХО вовсе он не круче... да и нет понятия такого как круче
>>или не руче.. всё зависит от рук и головы)))
>>
>>А делать выводы не разобравшись - это не есть правильно... как я
>>понял у вас два шлюза... если пакеты ходят через 192,168,1,100 то,
>>что на ней стоит?
>
>Это просто факты. Я уже три дня бьюсь, хотя на линуксе это
>сделал за 10 минут.
>Давайте так, забудем вообще про шлюз. Даже если я не выставлю гейт
>на 192.168.1.10, на линуксе все работает.

Хорошо... что показал мониторинг ??? куда пакеты идут? куда отправляются ответные пакеты?


"Редирект портов в pf и iptables"
Отправлено Oyyo , 20-Апр-07 14:21 

>Это просто факты. Я уже три дня бьюсь, хотя на линуксе это
>сделал за 10 минут.
Я уже два дня перечитываю ваш первый пост и ни как не пойму что вы хотите сделать.
>Давайте так, забудем вообще про шлюз. Даже если я не выставлю гейт
>на 192.168.1.10, на линуксе все работает.

Настоко не правильно поставлен вопрост, может нужно не перенести правила, а рассказать про конечную цель?

>Сервер с внешним EXT_INT - 217.XX.XX.155, LOCAL_INT - 192.168.1.1
>Машина в локальной сети - 192.168.1.10 а вот шлюз у нее 192.168.1.100
Вы подключены к ИНЕТу не через локальную сеть, и хотите предоставить для инета веб сервис, но не хотите его поднимать на своей машине, а перенаправляете запросы на 80 порт другой машине в локальной сети и следующее правило понятно и будет работать
>-A PREROUTING -d 217.XX.XX.155 -p tcp -m multiport --dport 80 -j DNAT --to-destination 192.168.1.10
а вот это совсем не понятно и для чего оно если вы не являетесть шлюзом.
>-A POSTROUTING -d 192.168.1.10 -p tcp -m multiport --dport 80 -j SNAT --to-source 192.168.1.1
без него всё должно прекрасно работать

Иными словами у вас для интернета существует DMZ, вот на основании этого и стройте правила в pf


"Редирект портов в pf и iptables"
Отправлено niksonnnn , 20-Апр-07 14:32 
>
>>Это просто факты. Я уже три дня бьюсь, хотя на линуксе это
>>сделал за 10 минут.
>Я уже два дня перечитываю ваш первый пост и ни как не
>пойму что вы хотите сделать.
>>Давайте так, забудем вообще про шлюз. Даже если я не выставлю гейт
>>на 192.168.1.10, на линуксе все работает.
>
>Настоко не правильно поставлен вопрост, может нужно не перенести правила, а рассказать
>про конечную цель?
>
>>Сервер с внешним EXT_INT - 217.XX.XX.155, LOCAL_INT - 192.168.1.1
>>Машина в локальной сети - 192.168.1.10 а вот шлюз у нее 192.168.1.100
>Вы подключены к ИНЕТу не через локальную сеть, и хотите предоставить для
>инета веб сервис, но не хотите его поднимать на своей машине,
>а перенаправляете запросы на 80 порт другой машине в локальной сети
>и следующее правило понятно и будет работать
>>-A PREROUTING -d 217.XX.XX.155 -p tcp -m multiport --dport 80 -j DNAT --to-destination 192.168.1.10
>а вот это совсем не понятно и для чего оно если вы
>не являетесть шлюзом.
>>-A POSTROUTING -d 192.168.1.10 -p tcp -m multiport --dport 80 -j SNAT --to-source 192.168.1.1
>без него всё должно прекрасно работать
>
>Иными словами у вас для интернета существует DMZ, вот на основании этого
>и стройте правила в pf

нет на суд общественности будет представлено только 2 правила из pf, а об остальном нужно догадаться....


"Редирект портов в pf и iptables"
Отправлено freeman , 20-Апр-07 15:08 
>
>>Это просто факты. Я уже три дня бьюсь, хотя на линуксе это
>>сделал за 10 минут.
>Я уже два дня перечитываю ваш первый пост и ни как не
>пойму что вы хотите сделать.
>>Давайте так, забудем вообще про шлюз. Даже если я не выставлю гейт
>>на 192.168.1.10, на линуксе все работает.
>
>Настоко не правильно поставлен вопрост, может нужно не перенести правила, а рассказать
>про конечную цель?
>
>>Сервер с внешним EXT_INT - 217.XX.XX.155, LOCAL_INT - 192.168.1.1
>>Машина в локальной сети - 192.168.1.10 а вот шлюз у нее 192.168.1.100
>Вы подключены к ИНЕТу не через локальную сеть, и хотите предоставить для
>инета веб сервис, но не хотите его поднимать на своей машине,
>а перенаправляете запросы на 80 порт другой машине в локальной сети
>и следующее правило понятно и будет работать
>>-A PREROUTING -d 217.XX.XX.155 -p tcp -m multiport --dport 80 -j DNAT --to-destination 192.168.1.10
>а вот это совсем не понятно и для чего оно если вы
>не являетесть шлюзом.
>>-A POSTROUTING -d 192.168.1.10 -p tcp -m multiport --dport 80 -j SNAT --to-source 192.168.1.1
>без него всё должно прекрасно работать
>
>Иными словами у вас для интернета существует DMZ, вот на основании этого
>и стройте правила в pf

Объясняю, это правило:
>>-A POSTROUTING -d 192.168.1.10 -p tcp -m multiport --dport 80 -j SNAT --to-source 192.168.1.1
Для того, чтобы машина 192.168.1.10 не зависела от шлюза выставленного на ней.


"Редирект портов в pf и iptables"
Отправлено niksonnnn , 20-Апр-07 15:22 

>
>Объясняю, это правило:
>>>-A POSTROUTING -d 192.168.1.10 -p tcp -m multiport --dport 80 -j SNAT --to-source 192.168.1.1

192,168,1,10 должна оригинатиться от имени 192,168,1,1 ?

>Для того, чтобы машина 192.168.1.10 не зависела от шлюза выставленного на ней.
>

Уважаемый, а ЗАЧЕМ???? тогда эти загогулины с 192,168,1,100??? Ведь всёравно машина не должна зависеть от шлюза... Если интересно просто науки ради, то тогда нужно поизвращаться...
Мне одно пока непонятно, каким образом пакеты заворачиваются гейтом 192,168,1,1 когда прописан гейт 192,168,1,100... значит пакеты не проходят через 192,168,1,100... ИМХО нуна вам поэкспериментировать с nat/binat для пары 192.168.1.10->192.168.1.1 раз уж вы не показываете конфы в конфе (извините за каламбур :)


"Редирект портов в pf и iptables"
Отправлено Oyyo , 20-Апр-07 17:24 
2 freeman
видимо вы не совсем правильно понимаете работу файервола
>Для того, чтобы машина 192.168.1.10 не зависела от шлюза выставленного на ней.
она всегда будет зависить от дефолтного шлюза, все ответы на запросы по 80 порту пришедшие с 192.168.1.1 (даже если запросы прошли DNAT, для 192.168.1.10 они выглядят как от 192.168.1.1) будут отосланы 192.168.1.1, а дальше файервол решает судьбу этих пакетов и согласно правила DNATа он отправит пакеты куда следует

правило
>>>-A POSTROUTING -d 192.168.1.10 -p tcp -m multiport --dport 80 -j SNAT --to-source 192.168.1.1
у вас ни как не работает, оно будет работать только в том случае если вы (192.168.1.1) будете шлюзом для 192.168.1.10 , правило работать будет, вот только пакеты всёравно ни куда не пойдут.
Вобщем слишком много нужно объяснять, перечитайте внимательно iptables туториал и всё поймёте
http://www.opennet.me/docs/RUS/iptables/


"Редирект портов в pf и iptables"
Отправлено freeman , 20-Апр-07 17:38 
>2 freeman
>видимо вы не совсем правильно понимаете работу файервола
>>Для того, чтобы машина 192.168.1.10 не зависела от шлюза выставленного на ней.
>она всегда будет зависить от дефолтного шлюза, все ответы на запросы по
>80 порту пришедшие с 192.168.1.1 (даже если запросы прошли DNAT, для
>192.168.1.10 они выглядят как от 192.168.1.1) будут отосланы 192.168.1.1, а дальше
>файервол решает судьбу этих пакетов и согласно правила DNATа он отправит
>пакеты куда следует
>
>правило
>>>>-A POSTROUTING -d 192.168.1.10 -p tcp -m multiport --dport 80 -j SNAT --to-source 192.168.1.1
>у вас ни как не работает, оно будет работать только в том
>случае если вы (192.168.1.1) будете шлюзом для 192.168.1.10 , правило работать
>будет, вот только пакеты всёравно ни куда не пойдут.
>Вобщем слишком много нужно объяснять, перечитайте внимательно iptables туториал и всё поймёте
>
>http://www.opennet.me/docs/RUS/iptables/

Уважаемый перечитайте сами... Все работает и довольно успешно.


"Редирект портов в pf и iptables"
Отправлено freeman , 20-Апр-07 17:37 
>
>>
>>Объясняю, это правило:
>>>>-A POSTROUTING -d 192.168.1.10 -p tcp -m multiport --dport 80 -j SNAT --to-source 192.168.1.1
>
>192,168,1,10 должна оригинатиться от имени 192,168,1,1 ?
>
>>Для того, чтобы машина 192.168.1.10 не зависела от шлюза выставленного на ней.
>>
>
>Уважаемый, а ЗАЧЕМ???? тогда эти загогулины с 192,168,1,100??? Ведь всёравно машина не
>должна зависеть от шлюза... Если интересно просто науки ради, то тогда
>нужно поизвращаться...
>Мне одно пока непонятно, каким образом пакеты заворачиваются гейтом 192,168,1,1 когда прописан гейт 192,168,1,100... значит пакеты не проходят через 192,168,1,100... ИМХО нуна вам поэкспериментировать с nat/binat для пары 192.168.1.10->192.168.1.1 раз уж вы не показываете конфы в конфе (извините за каламбур :)

Ок объясню. На машине 192.168.1.10 прописан гейт 192.168.1.100 для того чтобы связать его с локальной сеткой 192.168.2.0/24. Менять что то на 192.168.1.10 нельзя. Я для себя уяснил одно, на линуксе работает, а на бсд нет.
Объясните какой конф нужен? Если pf.conf, то я уже сказал, там только одно правило редиректа. Как в принципе и в конфе iptables прописаны два вышеуказанных правила. Форвардинг включен.


P.S. Просьба, пожалуйста не задавайте вопросы зачем это нужно. Сетка очень сложная. Долго объяснять.


"Редирект портов в pf и iptables"
Отправлено niksonnnn , 21-Апр-07 09:57 
>>
>>>
>>>Объясняю, это правило:
>>>>>-A POSTROUTING -d 192.168.1.10 -p tcp -m multiport --dport 80 -j SNAT --to-source 192.168.1.1
>>
>>192,168,1,10 должна оригинатиться от имени 192,168,1,1 ?
>>
>>>Для того, чтобы машина 192.168.1.10 не зависела от шлюза выставленного на ней.
>>>
>>
>>Уважаемый, а ЗАЧЕМ???? тогда эти загогулины с 192,168,1,100??? Ведь всёравно машина не
>>должна зависеть от шлюза... Если интересно просто науки ради, то тогда
>>нужно поизвращаться...
>>Мне одно пока непонятно, каким образом пакеты заворачиваются гейтом 192,168,1,1 когда прописан гейт 192,168,1,100... значит пакеты не проходят через 192,168,1,100... ИМХО нуна вам поэкспериментировать с nat/binat для пары 192.168.1.10->192.168.1.1 раз уж вы не показываете конфы в конфе (извините за каламбур :)
>
>Ок объясню. На машине 192.168.1.10 прописан гейт 192.168.1.100 для того чтобы связать
>его с локальной сеткой 192.168.2.0/24. Менять что то на 192.168.1.10 нельзя.
>Я для себя уяснил одно, на линуксе работает, а на бсд
>нет.
>Объясните какой конф нужен? Если pf.conf, то я уже сказал, там только
>одно правило редиректа. Как в принципе и в конфе iptables прописаны
>два вышеуказанных правила. Форвардинг включен.
>
>
>P.S. Просьба, пожалуйста не задавайте вопросы зачем это нужно. Сетка очень сложная.
>Долго объяснять.


Покажите /etc/pf.conf целиком тогда....
а то только две строчки нам показывают и всё, гадайте и придумывайте...  
кружок юных телепатов понимаешь....


"Редирект портов в pf и iptables"
Отправлено freeman , 21-Апр-07 12:48 
>>>
>>>>
>>>>Объясняю, это правило:
>>>>>>-A POSTROUTING -d 192.168.1.10 -p tcp -m multiport --dport 80 -j SNAT --to-source 192.168.1.1
>>>
>>>192,168,1,10 должна оригинатиться от имени 192,168,1,1 ?
>>>
>>>>Для того, чтобы машина 192.168.1.10 не зависела от шлюза выставленного на ней.
>>>>
>>>
>>>Уважаемый, а ЗАЧЕМ???? тогда эти загогулины с 192,168,1,100??? Ведь всёравно машина не
>>>должна зависеть от шлюза... Если интересно просто науки ради, то тогда
>>>нужно поизвращаться...
>>>Мне одно пока непонятно, каким образом пакеты заворачиваются гейтом 192,168,1,1 когда прописан гейт 192,168,1,100... значит пакеты не проходят через 192,168,1,100... ИМХО нуна вам поэкспериментировать с nat/binat для пары 192.168.1.10->192.168.1.1 раз уж вы не показываете конфы в конфе (извините за каламбур :)
>>
>>Ок объясню. На машине 192.168.1.10 прописан гейт 192.168.1.100 для того чтобы связать
>>его с локальной сеткой 192.168.2.0/24. Менять что то на 192.168.1.10 нельзя.
>>Я для себя уяснил одно, на линуксе работает, а на бсд
>>нет.
>>Объясните какой конф нужен? Если pf.conf, то я уже сказал, там только
>>одно правило редиректа. Как в принципе и в конфе iptables прописаны
>>два вышеуказанных правила. Форвардинг включен.
>>
>>
>>P.S. Просьба, пожалуйста не задавайте вопросы зачем это нужно. Сетка очень сложная.
>>Долго объяснять.
>
>
>Покажите /etc/pf.conf целиком тогда....
>а то только две строчки нам показывают и всё, гадайте и придумывайте...
>
>кружок юных телепатов понимаешь....

Мне уже смешно... Вы посты не читаете? Я уже несколько раз сказал что у меня в pf.conf
Повторяю еще раз.

# cat /etc/pf.conf
rdr pass inet proto tcp from any to 217.XX.XX.155 port 80 -> 192.168.1.10
#

Все. Больше никаких правил нет.


"Редирект портов в pf и iptables"
Отправлено niksonnnn , 21-Апр-07 15:32 
>>>>
>>>>>
>>>>>Объясняю, это правило:
>>>>>>>-A POSTROUTING -d 192.168.1.10 -p tcp -m multiport --dport 80 -j SNAT --to-source 192.168.1.1
>>>>
>>>>192,168,1,10 должна оригинатиться от имени 192,168,1,1 ?
>>>>
>>>>>Для того, чтобы машина 192.168.1.10 не зависела от шлюза выставленного на ней.
>>>>>
>>>>
>>>>Уважаемый, а ЗАЧЕМ???? тогда эти загогулины с 192,168,1,100??? Ведь всёравно машина не
>>>>должна зависеть от шлюза... Если интересно просто науки ради, то тогда
>>>>нужно поизвращаться...
>>>>Мне одно пока непонятно, каким образом пакеты заворачиваются гейтом 192,168,1,1 когда прописан гейт 192,168,1,100... значит пакеты не проходят через 192,168,1,100... ИМХО нуна вам поэкспериментировать с nat/binat для пары 192.168.1.10->192.168.1.1 раз уж вы не показываете конфы в конфе (извините за каламбур :)
>>>
>>>Ок объясню. На машине 192.168.1.10 прописан гейт 192.168.1.100 для того чтобы связать
>>>его с локальной сеткой 192.168.2.0/24. Менять что то на 192.168.1.10 нельзя.
>>>Я для себя уяснил одно, на линуксе работает, а на бсд
>>>нет.
>>>Объясните какой конф нужен? Если pf.conf, то я уже сказал, там только
>>>одно правило редиректа. Как в принципе и в конфе iptables прописаны
>>>два вышеуказанных правила. Форвардинг включен.
>>>
>>>
>>>P.S. Просьба, пожалуйста не задавайте вопросы зачем это нужно. Сетка очень сложная.
>>>Долго объяснять.
>>
>>
>>Покажите /etc/pf.conf целиком тогда....
>>а то только две строчки нам показывают и всё, гадайте и придумывайте...
>>
>>кружок юных телепатов понимаешь....
>
>Мне уже смешно... Вы посты не читаете? Я уже несколько раз сказал
>что у меня в pf.conf
>Повторяю еще раз.
>
># cat /etc/pf.conf
>rdr pass inet proto tcp from any to 217.XX.XX.155 port 80 -> 192.168.1.10
>#
>
>Все. Больше никаких правил нет.

binat GDE ???


"Редирект портов в pf и iptables"
Отправлено niksonnnn , 23-Апр-07 17:22 
Столкнулся с похожей проблемой :

1) FreeBSD 6.2
2) pf
3) канал от прова по ADSL

2 часа шаманств ничего не дали.... ИМХО существует какая-то зависимость правильности работы pf от нормально реализованного маршрута от прова....

Если есть мнения у уважаемой общественности по данному сабжу, то прошу делится )))


"Редирект портов в pf и iptables"
Отправлено freeman , 23-Апр-07 17:41 
Как не прискорбно, но приходится констатировать тот факт, что в pf это не возможно.

"Редирект портов в pf и iptables"
Отправлено niksonnnn , 23-Апр-07 18:18 
>Как не прискорбно, но приходится констатировать тот факт, что в pf это
>не возможно.

У меня всё сносно работает.... однако для вашей задачи ИМХО действительно нет решения(((
Дык тогда для чего редирект нужен???
Неужели нет решения нормального редиректа для pf ????


"Редирект портов в pf и iptables"
Отправлено freeman , 23-Апр-07 17:38 
>>>>>
>>>>>>
>>>>>>Объясняю, это правило:
>>>>>>>>-A POSTROUTING -d 192.168.1.10 -p tcp -m multiport --dport 80 -j SNAT --to-source 192.168.1.1
>>>>>
>>>>>192,168,1,10 должна оригинатиться от имени 192,168,1,1 ?
>>>>>
>>>>>>Для того, чтобы машина 192.168.1.10 не зависела от шлюза выставленного на ней.
>>>>>>
>>>>>
>>>>>Уважаемый, а ЗАЧЕМ???? тогда эти загогулины с 192,168,1,100??? Ведь всёравно машина не
>>>>>должна зависеть от шлюза... Если интересно просто науки ради, то тогда
>>>>>нужно поизвращаться...
>>>>>Мне одно пока непонятно, каким образом пакеты заворачиваются гейтом 192,168,1,1 когда прописан гейт 192,168,1,100... значит пакеты не проходят через 192,168,1,100... ИМХО нуна вам поэкспериментировать с nat/binat для пары 192.168.1.10->192.168.1.1 раз уж вы не показываете конфы в конфе (извините за каламбур :)
>>>>
>>>>Ок объясню. На машине 192.168.1.10 прописан гейт 192.168.1.100 для того чтобы связать
>>>>его с локальной сеткой 192.168.2.0/24. Менять что то на 192.168.1.10 нельзя.
>>>>Я для себя уяснил одно, на линуксе работает, а на бсд
>>>>нет.
>>>>Объясните какой конф нужен? Если pf.conf, то я уже сказал, там только
>>>>одно правило редиректа. Как в принципе и в конфе iptables прописаны
>>>>два вышеуказанных правила. Форвардинг включен.
>>>>
>>>>
>>>>P.S. Просьба, пожалуйста не задавайте вопросы зачем это нужно. Сетка очень сложная.
>>>>Долго объяснять.
>>>
>>>
>>>Покажите /etc/pf.conf целиком тогда....
>>>а то только две строчки нам показывают и всё, гадайте и придумывайте...
>>>
>>>кружок юных телепатов понимаешь....
>>
>>Мне уже смешно... Вы посты не читаете? Я уже несколько раз сказал
>>что у меня в pf.conf
>>Повторяю еще раз.
>>
>># cat /etc/pf.conf
>>rdr pass inet proto tcp from any to 217.XX.XX.155 port 80 -> 192.168.1.10
>>#
>>
>>Все. Больше никаких правил нет.
>
>binat GDE ???

Нет, потому что он не поможет.


"Редирект портов в pf и iptables"
Отправлено reader , 23-Апр-07 18:39 
В линуксе правила редиректа:
-A PREROUTING -d 217.XX.XX.155 -p tcp -m multiport --dport 80 -j DNAT --to-destination 192.168.1.10
-A POSTROUTING -d 192.168.1.10 -p tcp -m multiport --dport 80 -j SNAT --to-source 192.168.1.1

rdr on inet proto tcp from any to 217.XX.XX.155 port 80 -> 192.168.1.10
nat on $внутренний_интерфейс inet from any to 192.168.1.10 -> 192.168.1.1
дальше правила фильтров

если поставить pass , то пойдут без проверки в фильтрах , но незнаю попадут ли на цепочку nat, поэтому убрал.

без nat , ответы с 192.168.1.10 пойдут согласно таблицы маршрутов на 192.168.1.10_машине и если внешних IP несколько, то не факт , что ответ клиенту отправится с 217.XX.XX.155


"Редирект портов в pf и iptables"
Отправлено Linus Torvalds , 25-Апр-07 21:34 
Или я чего то упустил или ...

... freeman'у на .10 нужно прописать .1 как дефаулт гейтвей и добавить статик раут на .2.0 -> .100
... и все :)


"Редирект портов в pf и iptables"
Отправлено freeman , 26-Апр-07 18:08 
Я разочаровался в pf, хотя есть много плюсов.

"Редирект портов в pf и iptables"
Отправлено KlounAda , 02-Май-07 02:01 
>>конфиг можно посмотреть?
>
>Только эти два правила в pf.conf.
>
>rdr on rl0 proto tcp from any to $in_ext port x -> 192.168.1.10 port x
>binat on rl0 from 192.168.1.10 to $in_ext -> $in_ext
>
>Все работает, только если я пропишу шлюз.

rdr on rl0 proto tcp from any to внешний адрес port x -> 192.168.1.10 port x
nat on внутренний интерфейс proto tcp from any to 192.168.1.10 port x -> внутренний адрес сервера

Все будет работать 100%, проверено сотни раз, работает.


"Редирект портов в pf и iptables"
Отправлено niksonnnn , 02-Май-07 11:17 
>>>конфиг можно посмотреть?
>>
>>Только эти два правила в pf.conf.
>>
>>rdr on rl0 proto tcp from any to $in_ext port x -> 192.168.1.10 port x
>>binat on rl0 from 192.168.1.10 to $in_ext -> $in_ext
>>
>>Все работает, только если я пропишу шлюз.
>
>rdr on rl0 proto tcp from any to внешний адрес port x -> 192.168.1.10 port x
>nat on внутренний интерфейс proto tcp from any to 192.168.1.10 port x -> внутренний адрес сервера
>
>Все будет работать 100%, проверено сотни раз, работает.

Хех... вот у меня тоже работает однако))))


"Редирект портов в pf и iptables"
Отправлено freeman , 02-Май-07 23:41 
>>>>конфиг можно посмотреть?
>>>
>>>Только эти два правила в pf.conf.
>>>
>>>rdr on rl0 proto tcp from any to $in_ext port x -> 192.168.1.10 port x
>>>binat on rl0 from 192.168.1.10 to $in_ext -> $in_ext
>>>
>>>Все работает, только если я пропишу шлюз.
>>
>>rdr on rl0 proto tcp from any to внешний адрес port x -> 192.168.1.10 port x
>>nat on внутренний интерфейс proto tcp from any to 192.168.1.10 port x -> внутренний адрес сервера
>>
>>Все будет работать 100%, проверено сотни раз, работает.
>
>Хех... вот у меня тоже работает однако))))

Однако у меня тоже заработало))) Спасибо Клоунаде!)))


"Редирект портов в pf и iptables"
Отправлено niksonnnn , 03-Май-07 08:32 
>>>>>конфиг можно посмотреть?
>>>>
>>>>Только эти два правила в pf.conf.
>>>>
>>>>rdr on rl0 proto tcp from any to $in_ext port x -> 192.168.1.10 port x
>>>>binat on rl0 from 192.168.1.10 to $in_ext -> $in_ext
>>>>
>>>>Все работает, только если я пропишу шлюз.
>>>
>>>rdr on rl0 proto tcp from any to внешний адрес port x -> 192.168.1.10 port x
>>>nat on внутренний интерфейс proto tcp from any to 192.168.1.10 port x -> внутренний адрес сервера
>>>
>>>Все будет работать 100%, проверено сотни раз, работает.
>>
>>Хех... вот у меня тоже работает однако))))
>
>Однако у меня тоже заработало))) Спасибо Клоунаде!)))

вот - вот .... а то разочаровался )))) нас еще есть ))) присоединяюсь к респекту ))


"Редирект портов в pf и iptables"
Отправлено freeman , 04-Май-07 00:59 
>>>>>>конфиг можно посмотреть?
>>>>>
>>>>>Только эти два правила в pf.conf.
>>>>>
>>>>>rdr on rl0 proto tcp from any to $in_ext port x -> 192.168.1.10 port x
>>>>>binat on rl0 from 192.168.1.10 to $in_ext -> $in_ext
>>>>>
>>>>>Все работает, только если я пропишу шлюз.
>>>>
>>>>rdr on rl0 proto tcp from any to внешний адрес port x -> 192.168.1.10 port x
>>>>nat on внутренний интерфейс proto tcp from any to 192.168.1.10 port x -> внутренний адрес сервера
>>>>
>>>>Все будет работать 100%, проверено сотни раз, работает.
>>>
>>>Хех... вот у меня тоже работает однако))))
>>
>>Однако у меня тоже заработало))) Спасибо Клоунаде!)))
>
>вот - вот .... а то разочаровался )))) нас еще есть )))
>присоединяюсь к респекту ))

))) Ну это я специально... ждал, чтобы кто нибудь разозлился)))


"Редирект портов в pf и iptables"
Отправлено sowool , 05-Июл-07 13:42 
>>>>>>>конфиг можно посмотреть?
>>>>>>
>>>>>>Только эти два правила в pf.conf.
>>>>>>
>>>>>>rdr on rl0 proto tcp from any to $in_ext port x -> 192.168.1.10 port x
>>>>>>binat on rl0 from 192.168.1.10 to $in_ext -> $in_ext
>>>>>>
>>>>>>Все работает, только если я пропишу шлюз.
>>>>>
>>>>>rdr on rl0 proto tcp from any to внешний адрес port x -> 192.168.1.10 port x
>>>>>nat on внутренний интерфейс proto tcp from any to 192.168.1.10 port x -> внутренний адрес сервера
>>>>>
>>>>>Все будет работать 100%, проверено сотни раз, работает.
>>>>
>>>>Хех... вот у меня тоже работает однако))))
>>>
>>>Однако у меня тоже заработало))) Спасибо Клоунаде!)))
>>
>>вот - вот .... а то разочаровался )))) нас еще есть )))
>>присоединяюсь к респекту ))
>
>))) Ну это я специально... ждал, чтобы кто нибудь разозлился)))

Нужна помощь, уже всяка разно перепробовал, похожая проблема! есть локальная сеть А - 192.168.1.0/24,
есть терминальный сервер - 192.168.1.4.
есть шлюз с двумя сетевухами, одна смотрит внутрь сети А - 192.168.1.5, другая в сеть В - 192.168.2.3
настроен ВПН между сетью С - 192.168.0.0/24 и сетью В - 192.168.2.0/24
компьютер из сети В ходит на терминальный сервер, а компьютер из сети С не может, но с компьютером сети В в терминал выходит!
делаю такие правила в pf.conf
steo - 192.168.2.3
r10 - 192.168.1.5
rdr on ste0 proto tcp from any to ste0 port 3389 -> 192.168.1.4 port 3389
nat on r10 proto tcp from any to 192.168.1.4 port 3389 -> 192.168.1.5


"Редирект портов в pf и iptables"
Отправлено niksonnnn , 05-Июл-07 17:59 
>>>>>>>>конфиг можно посмотреть?
>>>>>>>
>>>>>>>Только эти два правила в pf.conf.
>>>>>>>
>>>>>>>rdr on rl0 proto tcp from any to $in_ext port x -> 192.168.1.10 port x
>>>>>>>binat on rl0 from 192.168.1.10 to $in_ext -> $in_ext
>>>>>>>
>>>>>>>Все работает, только если я пропишу шлюз.
>>>>>>
>>>>>>rdr on rl0 proto tcp from any to внешний адрес port x -> 192.168.1.10 port x
>>>>>>nat on внутренний интерфейс proto tcp from any to 192.168.1.10 port x -> внутренний адрес сервера
>>>>>>
>>>>>>Все будет работать 100%, проверено сотни раз, работает.
>>>>>
>>>>>Хех... вот у меня тоже работает однако))))
>>>>
>>>>Однако у меня тоже заработало))) Спасибо Клоунаде!)))
>>>
>>>вот - вот .... а то разочаровался )))) нас еще есть )))
>>>присоединяюсь к респекту ))
>>
>>))) Ну это я специально... ждал, чтобы кто нибудь разозлился)))
>
>Нужна помощь, уже всяка разно перепробовал, похожая проблема! есть локальная сеть А
>- 192.168.1.0/24,
>есть терминальный сервер - 192.168.1.4.
>есть шлюз с двумя сетевухами, одна смотрит внутрь сети А - 192.168.1.5,
>другая в сеть В - 192.168.2.3
>настроен ВПН между сетью С - 192.168.0.0/24 и сетью В - 192.168.2.0/24
>
>компьютер из сети В ходит на терминальный сервер, а компьютер из сети
>С не может, но с компьютером сети В в терминал выходит!
>
>делаю такие правила в pf.conf
>steo - 192.168.2.3
>r10 - 192.168.1.5
>rdr on ste0 proto tcp from any to ste0 port 3389 -> 192.168.1.4 port 3389
>nat on r10 proto tcp from any to 192.168.1.4 port 3389 -> 192.168.1.5

раскройте тему...

Конфиг подробный приведите...

tcpdump что говорит?

роутинг настроен?


"Редирект портов в pf и iptables"
Отправлено sowool , 06-Июл-07 07:08 
>>>>>>>>>конфиг можно посмотреть?
>>>>>>>>
>>>>>>>>Только эти два правила в pf.conf.
>>>>>>>>
>>>>>>>>rdr on rl0 proto tcp from any to $in_ext port x -> 192.168.1.10 port x
>>>>>>>>binat on rl0 from 192.168.1.10 to $in_ext -> $in_ext
>>>>>>>>
>>>>>>>>Все работает, только если я пропишу шлюз.
>>>>>>>
>>>>>>>rdr on rl0 proto tcp from any to внешний адрес port x -> 192.168.1.10 port x
>>>>>>>nat on внутренний интерфейс proto tcp from any to 192.168.1.10 port x -> внутренний адрес сервера
>>>>>>>
>>>>>>>Все будет работать 100%, проверено сотни раз, работает.
>>>>>>
>>>>>>Хех... вот у меня тоже работает однако))))
>>>>>
>>>>>Однако у меня тоже заработало))) Спасибо Клоунаде!)))
>>>>
>>>>вот - вот .... а то разочаровался )))) нас еще есть )))
>>>>присоединяюсь к респекту ))
>>>
>>>))) Ну это я специально... ждал, чтобы кто нибудь разозлился)))
>>
>>Нужна помощь, уже всяка разно перепробовал, похожая проблема! есть локальная сеть А
>>- 192.168.1.0/24,
>>есть терминальный сервер - 192.168.1.4.
>>есть шлюз с двумя сетевухами, одна смотрит внутрь сети А - 192.168.1.5,
>>другая в сеть В - 192.168.2.3
>>настроен ВПН между сетью С - 192.168.0.0/24 и сетью В - 192.168.2.0/24
>>
>>компьютер из сети В ходит на терминальный сервер, а компьютер из сети
>>С не может, но с компьютером сети В в терминал выходит!
>>
>>делаю такие правила в pf.conf
>>steo - 192.168.2.3
>>r10 - 192.168.1.5
>>rdr on ste0 proto tcp from any to ste0 port 3389 -> 192.168.1.4 port 3389
>>nat on r10 proto tcp from any to 192.168.1.4 port 3389 -> 192.168.1.5
>
>раскройте тему...
>
>Конфиг подробный приведите...
>
>tcpdump что говорит?
>
>роутинг настроен?

В конфиге pf.conf только эти две строчки!
Роутинг куда чего?
pfctl говорит
all tcp 192.168.1.4:3389 <- 192.168.2.3:3389 <- 192.168.0.2:1137       ESTABLISHED:ESTABLISHED
но терминал не работает


"Редирект портов в pf и iptables"
Отправлено netc , 11-Апр-09 13:50 

>nat on внутренний интерфейс proto tcp from any to 192.168.1.10 port x -> внутренний адрес сервера
>
>Все будет работать 100%, проверено сотни раз, работает.

Блин 3 часа промучался, понял все.

Заработало, тогда, когда я понял что "внутренний адрес сервера" - адрес сетевого интерфейса шлюза на котором делаеться rdr смотрящий в локалку, а не ip сервака в локалке на который нужно делать проброс

вот так


"Редирект портов в pf и iptables"
Отправлено Nikita , 18-Янв-13 12:54 
>[оверквотинг удален]
>>
>>rdr on rl0 proto tcp from any to $in_ext port x -> 192.168.1.10 port x
>>binat on rl0 from 192.168.1.10 to $in_ext -> $in_ext
>>
>>Все работает, только если я пропишу шлюз.
> rdr on rl0 proto tcp from any to внешний адрес port x
> -> 192.168.1.10 port x
> nat on внутренний интерфейс proto tcp from any to 192.168.1.10 port x
> -> внутренний адрес сервера
> Все будет работать 100%, проверено сотни раз, работает.

Красава )))) Большое спс )))