The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"rdr в pf"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Firewall, Фильтрация пакетов / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"rdr в pf"  +/
Сообщение от sinder (ok) on 12-Май-11, 13:00 
Очередной вопрос по rdr

Имеется машина на FreeBSD являющаяся шлюзом. На ней включен форвардинг и стоит pf. На основе pf поднят NAT. За NAT'ом имеются две машины. Внимание задача: при обращении на порт 8000 машины запрос должен перенаправляться на одну из машин в сети на порт 22 (ssh). Собственно вот правила pf:

ext_if="re0"
int_if="rl0"

rm_c="{ x.x.226.151 }"
work_c="{ 192.168.102.148, 192.168.102.70 }"

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

rdr on $ext_if proto tcp from any to y.y.247.33 port 8000 -> 192.168.102.70 port 22

block in on $ext_if all
pass in on $ext_if proto icmp from any
pass in on $ext_if proto tcp from any to $ext_if port 80
pass in on $ext_if proto tcp from $rm_c to $ext_if port 22
pass in on $ext_if proto tcp from any to any port 8000
pass in on $ext_if proto udp from any to any        
                                                    
pass on $int_if all                                  
                                                    
pass out on $ext_if proto tcp all modulate state    
pass out on $ext_if proto { udp, icmp } all keep state

И теперь вопрос - почему может не работать rdr?

Ответить | Правка | Cообщить модератору

Оглавление

  • rdr в pf, gpl77, 13:43 , 12-Май-11, (1)  
    • rdr в pf, sinder, 13:50 , 12-Май-11, (2)  
    • rdr в pf, tabr, 13:53 , 12-Май-11, (3)  
      • rdr в pf, sinder, 14:06 , 12-Май-11, (5)  
  • rdr в pf, zandyg, 14:02 , 12-Май-11, (4)  

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


1. "rdr в pf"  +/
Сообщение от gpl77 (ok) on 12-Май-11, 13:43 
> ext_if="re0"
> int_if="rl0"
> rm_c="{ x.x.226.151 }"
> work_c="{ 192.168.102.148, 192.168.102.70 }"
> nat on $ext_if from $work_c to any -> $ext_if
> rdr on $ext_if proto tcp from any to y.y.247.33 port 8000 ->
> 192.168.102.70 port 22

а у вас на $ext_if какой адрес(а)?
y.y.247.33 ?
(посмотрите pfctl -sn)


а маршруты прописаны на этой машине и на 192.168.102.70 ?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "rdr в pf"  +/
Сообщение от sinder (ok) on 12-Май-11, 13:50 
$ext_if точно адрес такой.

Поподробнее насчёт маршрутов, пожалуйста.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "rdr в pf"  +/
Сообщение от tabr email(ok) on 12-Май-11, 13:53 
pass in on $ext_if proto { tcp } from any to 192.168.102.70 port 22 keep state
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

5. "rdr в pf"  +/
Сообщение от sinder (ok) on 12-Май-11, 14:06 
> pass in on $ext_if proto { tcp } from any to 192.168.102.70
> port 22 keep state

Спасибо большое! Не учёл это правило!

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

4. "rdr в pf"  +/
Сообщение от zandyg email(ok) on 12-Май-11, 14:02 
Для работы rdr мне кажется не хватает что-то типа:
pass in quick on $ext_if proto tcp from any to 192.168.102.70 port 22 flags S/SA keep state

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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