The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"публикация сервера с помощью PF"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"публикация сервера с помощью PF"  
Сообщение от Fedor_ email(ok) on 27-Июл-07, 17:57 
Всем привет"
Кто либо публиковал Exchаnge 2003 с помощью пакетного фильтра PF?
Настроил ридирект из инета в сеть, видно что пакеты проходят но обратно нет.

Могет кто сталкивался?

вот мой конфиг PF


ext_if  = "bge1"
int_if  = "bge0"
lan_net = "10.0.0.0/8"
exchange = "10.0.2.17"
exchange_port = "{http,https}"

nat on $ext_if from {$int_if, $lan_net} to any -> ($ext_if)
rdr on $ext_if proto tcp from any to $ext_if port $exchange_port -> $exchange

block log all

pass in log on $ext_if proto tcp from any to $exchange port $exchange_port \
   flags S/SA synproxy state

pass out on $int_if from any to $lan_net


Может я с натом напутал?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "публикация сервера с помощью PF"  
Сообщение от reader (ok) on 27-Июл-07, 20:32 
>[оверквотинг удален]
>block log all
>
>pass in log on $ext_if proto tcp from any to $exchange port
>$exchange_port \
>   flags S/SA synproxy state
>
>pass out on $int_if from any to $lan_net
>
>
>Может я с натом напутал?

а где разрешение входящих пакетов на внутреннем интерфейсе?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "публикация сервера с помощью PF"  
Сообщение от reader (ok) on 27-Июл-07, 21:19 
>ext_if  = "bge1"
>int_if  = "bge0"
>lan_net = "10.0.0.0/8"
>exchange = "10.0.2.17"
>exchange_port = "{http,https}"
>
>nat on $ext_if from {$int_if, $lan_net} to any -> ($ext_if)

помоему $int_if тут не нужен.


>rdr on $ext_if proto tcp from any to $ext_if port $exchange_port -> $exchange
>
>block log all
>

после nat , ответ под правило наверно не попадет.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "публикация сервера с помощью PF"  
Сообщение от Fedor_ email(ok) on 30-Июл-07, 10:41 
>[оверквотинг удален]
>
>помоему $int_if тут не нужен.
>
>
>>rdr on $ext_if proto tcp from any to $ext_if port $exchange_port -> $exchange
>>
>>block log all
>>
>
>после nat , ответ под правило наверно не попадет.

а куда он поподает?
Я в логах смотрю там вообще обращения нет

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "публикация сервера с помощью PF"  
Сообщение от reader (ok) on 30-Июл-07, 11:08 
>а куда он поподает?
>Я в логах смотрю там вообще обращения нет

в логах pf или внутреннего сервака?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "публикация сервера с помощью PF"  
Сообщение от Fedor_ email(ok) on 30-Июл-07, 11:12 
>>а куда он поподает?
>>Я в логах смотрю там вообще обращения нет
>
>в логах pf или внутреннего сервака?

в логах PF

а вот правила доступа из сети
pass in log  on $int_if from $lan_net to any
pass out log on $int_if from any to $lan_net

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "публикация сервера с помощью PF"  
Сообщение от Fedor_ email(ok) on 30-Июл-07, 11:16 
вообще, вот весь конфиг


ext_if  = "bge1"
int_if  = "bge0"
lan_net = "10.0.0.0/8"
mail_service = "{smtp, pop3}"
exchange = "10.0.2.100"
exchange_port = "{http,https,3389}"


# scrub incoming packets
scrub in all


rdr on $ext_if proto tcp from any to $ext_if port $exchange_port -> $exchange

nat on $ext_if from {$int_if, $lan_net} to any -> ($ext_if)


# setup a default deny policy
block log all


# activate spoofing protection for the internal interface.
antispoof quick for $ext_if inet


pass in log on $ext_if proto tcp from any to $exchange port $exchange_port \
   flags S/SA synproxy state

#pass in log  on $int_if proto tcp  from $lan_net \
    to $int_if port ssh keep state
#pass out log on $int_if proto tcp from $lan_net \
    to $int_if  keep state

# pass all traffic to and from the local network
pass in log  on $int_if from $lan_net to any
pass out log on $int_if from any to $lan_net


pass in log on $ext_if proto {tcp,udp} from any to $ext_if port {domain,smtp,pop3}

pass out log on $ext_if proto tcp all keep state
pass out log on $ext_if proto { udp, icmp } all keep state

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "публикация сервера с помощью PF"  
Сообщение от A Clockwork Orange on 30-Июл-07, 11:42 
ext_if  = "bge1"
int_if  = "bge0"
lan_net = "10.0.0.0/8"
mail_service = "{smtp, pop3}"
exchange = "10.0.2.100"
exchange_port = "{http,https,3389}"


# scrub incoming packets
scrub in all

nat on $ext_if from $lan_net to any -> $ext_if

rdr on $ext_if proto tcp from any to $ext_if port $exchange_port -> $exchange port \  
    $exchange_port

# setup a default deny policy
block log all

# activate spoofing protection for the internal interface.
antispoof quick for $ext_if inet


pass in log on $ext_if proto tcp from any to $exchange port $exchange_port \
    flags S/SA keep state


pass in log on $ext_if proto {tcp,udp} from any to $ext_if port {domain,smtp,pop3} \
    keep state

pass out       on $ext_if inet proto tcp   all keep state
pass out       on $ext_if inet proto udp   all keep state
pass out       on $ext_if inet proto icmp  all keep state

# pass all traffic to and from the local network
pass in  log on $int_if all
pass out log on $int_if all

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "публикация сервера с помощью PF"  
Сообщение от Fedor_ email(ok) on 30-Июл-07, 12:00 
>[оверквотинг удален]
>exchange_port = "{http,https,3389}"
>
>
># scrub incoming packets
>scrub in all
>
>nat on $ext_if from $lan_net to any -> $ext_if
>
>rdr on $ext_if proto tcp from any to $ext_if port $exchange_port -> $exchange port \  
>    $exchange_port

тут ругается на синтаксис а именно на $exchange port \  
    $exchange_port

если строка такая, то рукани нет
rdr on $ext_if proto tcp from any to $ext_if port $exchange_port -> $exchange


>[оверквотинг удален]
>pass out       on $ext_if inet proto
>tcp   all keep state
>pass out       on $ext_if inet proto
>udp   all keep state
>pass out       on $ext_if inet proto
>icmp  all keep state
>
># pass all traffic to and from the local network
>pass in  log on $int_if all
>pass out log on $int_if all

но все равно не работает

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "публикация сервера с помощью PF"  
Сообщение от A Clockwork Orange on 30-Июл-07, 12:22 
>[оверквотинг удален]
>>pass out       on $ext_if inet proto
>>udp   all keep state
>>pass out       on $ext_if inet proto
>>icmp  all keep state
>>
>># pass all traffic to and from the local network
>>pass in  log on $int_if all
>>pass out log on $int_if all
>
>но все равно не работает

rdr on $ext_if proto tcp from any to $ext_if port $exchange_port -> $exchange $exchange_port

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "публикация сервера с помощью PF"  
Сообщение от Fedor_ email(ok) on 30-Июл-07, 12:26 
>[оверквотинг удален]
>>>pass out       on $ext_if inet proto
>>>icmp  all keep state
>>>
>>># pass all traffic to and from the local network
>>>pass in  log on $int_if all
>>>pass out log on $int_if all
>>
>>но все равно не работает
>
>rdr on $ext_if proto tcp from any to $ext_if port $exchange_port -> $exchange $exchange_port

один хрен пишет
pfctl -nf pf.conf
pf.conf:14: syntax error

ну не суть я ставил
rdr on $ext_if proto tcp from any to $ext_if port $exchange_port -> $exchange port 443

и все равно не было

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "публикация сервера с помощью PF"  
Сообщение от A Clockwork Orange on 30-Июл-07, 12:29 
>[оверквотинг удален]
>>rdr on $ext_if proto tcp from any to $ext_if port $exchange_port -> $exchange $exchange_port
>
>один хрен пишет
>pfctl -nf pf.conf
>pf.conf:14: syntax error
>
>ну не суть я ставил
>rdr on $ext_if proto tcp from any to $ext_if port $exchange_port -> $exchange port 443
>
>и все равно не было

у меня вот это работает
rdr on $ext_if proto tcp from 2.2.1.0/24 to $external_addr port 3389 -> 192.168.21.7 port 3389

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "публикация сервера с помощью PF"  
Сообщение от A Clockwork Orange on 30-Июл-07, 12:23 
>[оверквотинг удален]
>>pass out       on $ext_if inet proto
>>udp   all keep state
>>pass out       on $ext_if inet proto
>>icmp  all keep state
>>
>># pass all traffic to and from the local network
>>pass in  log on $int_if all
>>pass out log on $int_if all
>
>но все равно не работает

добавь еще первым разрешающим правилом
pass       quick on lo all

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "публикация сервера с помощью PF"  
Сообщение от Fedor_ email(ok) on 30-Июл-07, 12:47 
>[оверквотинг удален]
>>>icmp  all keep state
>>>
>>># pass all traffic to and from the local network
>>>pass in  log on $int_if all
>>>pass out log on $int_if all
>>
>>но все равно не работает
>
>добавь еще первым разрешающим правилом
>pass    quick on lo all

так, с этим тараканом я разобрался.
все дело было в шлюзах, у одного компа один( на нем все работало и тогда все правила работали) у второго (exchange) другой.
Тогда вопрос не вкурсе как в pf сделать так. чтобы подменить адресс запроса?
Exchange видит что запрос идет из вне и пытается переслать его через свой шлюз, и соответственно это не работает.
Я знаю в Ip firewall есть команда Map, которая делает подмену.
А сдесь есть что либо подобное?
  

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "публикация сервера с помощью PF"  
Сообщение от reader (ok) on 30-Июл-07, 12:59 
сделай nat на внутреннем интерфейсе, что бы ответ прислали на эту машину
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "публикация сервера с помощью PF"  
Сообщение от Fedor_ email(ok) on 30-Июл-07, 14:34 
>сделай nat на внутреннем интерфейсе, что бы ответ прислали на эту машину
>

сделал, тока потом не мог по ssh зайдти

nat on $int_if from $lan_net to any ->$int_if так?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "публикация сервера с помощью PF"  
Сообщение от reader (ok) on 30-Июл-07, 15:34 
>>сделай nat на внутреннем интерфейсе, что бы ответ прислали на эту машину
>>
>
>сделал, тока потом не мог по ssh зайдти
>
>nat on $int_if from $lan_net to any ->$int_if так?

nat on $int_if from ! $lan_net to $lan_net -> $int_if

можеш еще порты добавить

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

17. "публикация сервера с помощью PF"  
Сообщение от Fedor_ email(ok) on 31-Июл-07, 12:07 
короче, все заработало.
добавил еще одно правило
nat on $int_if from any to $exchange port 80 ->10.0.0.1

и все заработало.

хотя если использовать не стандартные порты, то есть тормаза

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру