The OpenNET Project / Index page

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

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

"Вопросы по pf"  +/
Сообщение от orzon (ok) on 25-Окт-13, 12:04 
pf.conf
ext_if = "rl1"  ## внешний интерфейс на шлюзе
ext_ip_SERV1 = "87.87.87.87/30"   ## внешний IP SERV1
lannet = "10.0.0.0/24"
SERV1 = "10.0.1.7/24"
icmp_types="{ echoreq, unreach}"

nat on $ext_if from $lannet to any -> $ext_ip
rdr on $ext_if proto {tcp, upd} from any to $ext_ip_SERV1 port 7777 -> $SERV1 port 7777

pass in quick on $int_if all
pass out quick on $int_if all

pass in on $ext_if proto { tcp, udp } from any to $SERV1 port 7777
pass out quick on $ext_if all

pass inet proto icmp all icmp-type $icmp_types

При проверке файла pf.conf выдаются синтаксические ошибки на строках:
pass in on $ext_if proto { tcp, udp } from any to $SERV1 port 7777
pass inet proto icmp all icmp-type $icmp_types

Подскажите, что не так в этих строках?

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

Оглавление

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


1. "Вопросы по pf"  +/
Сообщение от михалыч (ok) on 25-Окт-13, 12:57 
Да у вас хрен победишь, что написано..
Если так обстоит в действительности, то не мудрено.

> SERV1 = "10.0.1.7/24"

Это что за хня? Может всё-таки SERV1 = "10.0.1.7/32" ?

> nat on $ext_if from $lannet to any -> $ext_ip

А это что? Очередная хня?
Может правильно nat on $ext_if from $lannet to any -> $ext_ip_SERV1 ?

> rdr on $ext_if proto {tcp, upd} from any to $ext_ip_SERV1 port 7777 -> $SERV1 port 7777

И опять хня! Порт upd не существует.
rdr on $ext_if proto {tcp, udp} from any to $ext_ip_SERV1 port 7777 -> $SERV1 port 7777

> pass in quick on $int_if all

И ещё хня! А где объявленный макрос int_if ?

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

2. "Вопросы по pf"  +/
Сообщение от orzon (ok) on 25-Окт-13, 14:03 
>[оверквотинг удален]
> Это что за хня? Может всё-таки SERV1 = "10.0.1.7/32" ?
>> nat on $ext_if from $lannet to any -> $ext_ip
> А это что? Очередная хня?
> Может правильно nat on $ext_if from $lannet to any -> $ext_ip_SERV1 ?
>> rdr on $ext_if proto {tcp, upd} from any to $ext_ip_SERV1 port 7777 -> $SERV1 port 7777
> И опять хня! Порт upd не существует.
> rdr on $ext_if proto {tcp, udp} from any to $ext_ip_SERV1 port 7777
> -> $SERV1 port 7777
>> pass in quick on $int_if all
> И ещё хня! А где объявленный макрос int_if ?

Здесь приведен отрывок из файла:
ext_if = "rl1"  ## внешний интерфейс на шлюзе
int_if = "rl0"  ## внутренний интерфейс на шлюзе
ext_ip = "87.87.87.86/30"  ## внешний IP шлюза
ext_ip_SERV1 = "87.87.87.87/30"   ## внешний IP SERV1 (создан алиас)
lannet = "10.0.0.0/24"
SERV1 = "10.0.1.7/24"
icmp_types="{ echoreq, unreach}"

rdr on $ext_if proto {tcp, udp} from any to $ext_ip_SERV1 port 7777 -> $SERV1 port 7777
nat on $ext_if from $CUS to any -> $ext_ip_CUS

pass in quick on $int_if all
pass out quick on $int_if all

pass in on $ext_if proto { tcp, udp } from any to $SERV1 port 7777
pass out quick on $ext_if all

pass inet proto icmp all icmp-type $icmp_types

Ругается на строки:
pass in on $ext_if proto { tcp, udp } from any to $SERV1 port 7777    ## нужно разрешить проброс порта на SERV1
pass inet proto icmp all icmp-type $icmp_types  ## нужно разрешить пинговать шлюз снаружи и внутри

Делаю по этой ссылке http://www.opennet.ru/base/net/freebsd_gw3.txt.html

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

3. "Вопросы по pf"  +/
Сообщение от михалыч (ok) on 25-Окт-13, 14:51 
> lannet = "10.0.0.0/24"
> SERV1 = "10.0.1.7/24"
> rdr on $ext_if proto {tcp, udp} from any to $ext_ip_SERV1 port 7777 -> $SERV1 port 7777
> pass in on $ext_if proto { tcp, udp } from any to $SERV1 port 7777

Вы меня слышите, вообще?
Эти строки, указанные вами выше, несовместимы между собой и абсурдны.

Если у вас lannet - нулевая сеть с маской /24 (10.0.0.0/24), то почему же вы указываете SERV1 сетью (!) с маской /24 ?!
Причём сеть не нулевая, а первая!(10.0.1.7/24)
Логичнее предположить, что редирект делается на отдельный хост с маской /32(а не на сеть! с маской /24) 10.0.0.7/32.
Или, если уж 10.0.1.7/32, то и маска у lannet должна быть хотя бы /16, а то и вовсе /8

Строка pass in on $ext_if proto { tcp, udp } from any to $SERV1 port 7777 и вовсе не нужна (да и составлена она неправильно, см.далее),
поскольку на фильтр пакеты попадают после трансляции.
А у вас указано на внутреннем интерфейсе разрешено всё и для всех.
pass in quick on $int_if all
pass out quick on $int_if all

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

4. "Вопросы по pf"  +/
Сообщение от orzon (ok) on 25-Окт-13, 17:06 
>[оверквотинг удален]
> на сеть! с маской /24) 10.0.0.7/32.
> Или, если уж 10.0.1.7/32, то и маска у lannet должна быть хотя
> бы /16, а то и вовсе /8
> Строка pass in on $ext_if proto { tcp, udp } from any
> to $SERV1 port 7777 и вовсе не нужна (да и составлена
> она неправильно, см.далее),
> поскольку на фильтр пакеты попадают после трансляции.
> А у вас указано на внутреннем интерфейсе разрешено всё и для всех.
> pass in quick on $int_if all
> pass out quick on $int_if all

Есть еще и другие подсети (10.0.0.0) и другие. Их тоже нужно натить. Вот так будет правильно:?

pf.conf
# Interfaces
int_if = "rlo"
ext_if = "rl1"

# IP Address
lannet = "10.0.0.0/16"
ext_ip = "87.87.87.86/30"
ext_ip_SERV1 = "87.87.87.87/32"
SERV1 = "10.0.1.7/32"

# Ports
icmp_types="{ echoreq, unreach}"

# NAT для сети 10.0.0.0
nat on $ext_if from $lannet to any -> $ext_ip

# NAT для SERV1
nat on $ext_if from $SERV1 to any -> $ext_ip_SERV1

# Пробрасываем порты на SERV1
rdr on $ext_if proto {tcp, udp} from any to $ext_ip_SERV1 port 7777 -> $SERV1 port 7777

# Блокируем всё
block log all

#Разрешаем доступ из интернета к SERV1
pass in on $ext_if inet proto { tcp,udp } from any to any port $SERV1 flags S/SA keep state

# Выпускаем SERV1
pass in on $int_if proto {tcp, udp} from $SERV1 to any port 7777

#Разрешить все исходящие на внешнем интерфейсе
pass out on $ext_if keep state

#Разрешить все исходящие на внутр. интерфейсе
pass out on $int_if keep state

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

5. "Вопросы по pf"  +/
Сообщение от reader (ok) on 25-Окт-13, 17:27 
>[оверквотинг удален]
> lannet = "10.0.0.0/16"
> ext_ip = "87.87.87.86/30"
> ext_ip_SERV1 = "87.87.87.87/32"
> SERV1 = "10.0.1.7/32"
> # Ports
> icmp_types="{ echoreq, unreach}"
> # NAT для сети 10.0.0.0
> nat on $ext_if from $lannet to any -> $ext_ip
> # NAT для SERV1
> nat on $ext_if from $SERV1 to any -> $ext_ip_SERV1

$lannet перекрывает $SERV1 поэтому это правило лучше поднять над # NAT для сети 10.0.0.0

> # Пробрасываем порты на SERV1
> rdr on $ext_if proto {tcp, udp} from any to $ext_ip_SERV1 port 7777
> -> $SERV1 port 7777
> # Блокируем всё
> block log all
> #Разрешаем доступ из интернета к SERV1
> pass in on $ext_if inet proto { tcp,udp } from any to
> any port $SERV1 flags S/SA keep state

port $SERV1 - нет

> # Выпускаем SERV1
> pass in on $int_if proto {tcp, udp} from $SERV1 to any port
> 7777

тут порт наверно не на месте

> #Разрешить все исходящие на внешнем интерфейсе
> pass out on $ext_if keep state
> #Разрешить все исходящие на внутр. интерфейсе
> pass out on $int_if keep state

если фря не старая , то keep state сама будет добавлять

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

6. "Вопросы по pf"  +/
Сообщение от михалыч (ok) on 25-Окт-13, 18:31 
Тут коллега подсказал по поводу перекрытия диапазона IP-адресов.
Можно ещё дополнительно подстраховаться так:
no nat on $ext_if from $SERV1 to any

Эту строку, попробовать добавить перед строкой
# NAT для сети 10.0.0.0

ну чтобы вышло типа
# NAT для SERV1
nat on $ext_if from $SERV1 to any -> $ext_ip_SERV1
no nat on $ext_if from $SERV1 to any
# NAT для сети 10.0.0.0
nat on $ext_if from $lannet to any -> $ext_ip

Хотя, может это и лишнее, может совсем, напрочь сделать исключение из ната,
это надо проверять, если что, я не пробовал. ))

Вот почитайте тут => http://www.g0l.ru/blog/htmls/BSDA-course/apcs02.html
и тут => http://www.openbsd.org/faq/pf/ru/index.html
в частности это => http://www.openbsd.org/faq/pf/ru/rdr.html#filter

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

7. "Вопросы по pf"  +/
Сообщение от orzon (ok) on 28-Окт-13, 14:01 
Немного разобрался.
Только не могу разрешить icmp на внешнем интерфейсе
# Ports
icmp_types="{ echoreq, unreach}"

pass inet proto icmp all icmp-type $icmp_types

Выдается ошибка синтаксиса. Подскажите как прописать icmp?

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

8. "Вопросы по pf"  +/
Сообщение от orzon (ok) on 28-Окт-13, 17:13 
> Немного разобрался.
> Только не могу разрешить icmp на внешнем интерфейсе
> # Ports
> icmp_types= "{ echoreq, unreach }"
> pass inet proto icmp all icmp-type $icmp_types
> Выдается ошибка синтаксиса. Подскажите как прописать icmp?

PS. Разобрался ошибкой: строка такая и должна быть.
pass inet proto icmp all icmp-type $icmp_types

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

9. "Вопросы по pf"  +/
Сообщение от orz (ok) on 01-Ноя-13, 14:30 
Подскажите, пожалуйста, правильно ли я предоставил доступ из других подсетей к внешнему адресу сервера:
# Interfaces
int_if = "rlo"
ext_if = "rl1"

# IP Address
lannet = "10.0.0.0/16"
ext_ip = "87.87.87.86/30"
ext_ip_SERV1 = "87.87.87.87/32"
SERV1 = "10.0.1.7/32"
vlan22 = "vlan22"

# Ports
icmp_types="{ echoreq, unreach}"


# Пробрасываем порты на SERV1
rdr on $ext_if proto {tcp, udp} from any to $ext_ip_SERV1 port 7777 -> $SERV1 port 7777
rdr on $vlan22 proto {tcp, udp} from any to $ext_ip_SERV1 port 7777 -> $SERV1 port 7777
rdr on $int_if proto {tcp, udp} from any to $ext_ip_SERV1 port 7777 -> $SERV1 port 7777

# NAT для SERV1
nat on $ext_if from $SERV1 to any -> $ext_ip_SERV1
nat on $vlan22 from $SERV1 to any -> $ext_ip_SERV1
nat on $int_if from $SERV1 to any -> $ext_ip_SERV1

# NAT для сети 10.0.0.0/16
nat on $ext_if from $lannet to any -> $ext_ip


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

10. "Вопросы по pf"  +/
Сообщение от reader (ok) on 01-Ноя-13, 15:22 
> Подскажите, пожалуйста, правильно ли я предоставил доступ из других подсетей к внешнему
> адресу сервера:

вообще то вы не предоставили доступ к внешнему адресу
>[оверквотинг удален]
> vlan22 = "vlan22"
> # Ports
> icmp_types="{ echoreq, unreach}"
> # Пробрасываем порты на SERV1
> rdr on $ext_if proto {tcp, udp} from any to $ext_ip_SERV1 port 7777
> -> $SERV1 port 7777
> rdr on $vlan22 proto {tcp, udp} from any to $ext_ip_SERV1 port 7777
> -> $SERV1 port 7777
> rdr on $int_if proto {tcp, udp} from any to $ext_ip_SERV1 port 7777
> -> $SERV1 port 7777

тут вы сделали проброс на 10.0.1.7 тех кто обратился на 87.87.87.86

> # NAT для SERV1
> nat on $ext_if from $SERV1 to any -> $ext_ip_SERV1

тут нат для $SERV1, когда он сам инициирует соединение в инет, а не ответы для обратившихся к нему

ниже 2 правила не красивые и в таком виде делаются при весьма специфичных условиях, если хотите натить тут, то ставте адреса от соответствующих интерфейсов, а лучше настройте маршрутизацию
> nat on $vlan22 from $SERV1 to any -> $ext_ip_SERV1
> nat on $int_if from $SERV1 to any -> $ext_ip_SERV1
> # NAT для сети 10.0.0.0/16
> nat on $ext_if from $lannet to any -> $ext_ip

тут нат для идущих в инет

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

11. "Вопросы по pf"  +/
Сообщение от orz (ok) on 01-Ноя-13, 15:33 
как я понял, вместо
> nat on $vlan22 from $SERV1 to any -> $ext_ip_SERV1
> nat on $int_if from $SERV1 to any -> $ext_ip_SERV1

нужно написать так:
nat on $int_if from $int_if to $SERV1 port 7777-> $int_if
nat on $vlan22 from $vlan21 to $SERV1 port 7777 -> $vlan22

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

12. "Вопросы по pf"  +/
Сообщение от reader (ok) on 01-Ноя-13, 15:39 
> как я понял, вместо
>> nat on $vlan22 from $SERV1 to any -> $ext_ip_SERV1
>> nat on $int_if from $SERV1 to any -> $ext_ip_SERV1
> нужно написать так:
> nat on $int_if from $int_if to $SERV1 port 7777-> $int_if
> nat on $vlan22 from $vlan21 to $SERV1 port 7777 -> $vlan22

нет, нат делаете на интерфейсе смотрящем на $SERV1 и подставляете ip этого интерфейса

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

13. "Вопросы по pf"  +/
Сообщение от orz (ok) on 01-Ноя-13, 16:12 
>> как я понял, вместо
>>> nat on $vlan22 from $SERV1 to any -> $ext_ip_SERV1
>>> nat on $int_if from $SERV1 to any -> $ext_ip_SERV1
>> нужно написать так:
>> nat on $int_if from $int_if to $SERV1 port 7777-> $int_if
>> nat on $vlan22 from $vlan22 to $SERV1 port 7777 -> $vlan22
> нет, нат делаете на интерфейсе смотрящем на $SERV1 и подставляете ip этого
> интерфейса

Я пытаюсь делать по примеру:
Комбинация RDR и NAT:
С дополнительным правилом NAT на внутреннем интерфейсе может быть решена проблема недостающей переадресации.

rdr on $int_if proto tcp from $int_net to $ext_if port 80 -> $server
no nat on $int_if proto tcp from $int_if to $int_net
nat on $int_if proto tcp from $int_net to $server port 80 -> $int_if

Это заставит начальный пакет от клиента быть оттранслированным снова, когда он пройдет назад через внутренний интерфейс, заменяя исходный адрес клиента на внутренний адрес системы сетевой защиты. Внутренний сервер ответит системе сетевой защиты, которая может полностью изменить и NAT и RDR трансляции при отправке пакета локальному клиенту.

Мы собственно нужно, чтобы с vlan22 был доступ к внешнему адресу $ext_ip_SERV1
# Проброс порта с vlan22 на внешний IP SERV1
rdr on $vlan22 proto {tcp, udp} from any to $ext_ip_SERV1 port 7777 -> $SERV1 port 7777
# Затем нужно сделать обрато:
nat on $vlan22 from $vlan21 to $SERV1 port 7777 -> $vlan22

Если не сложно напишите, пожалуйста, строку ната с vlan22

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

14. "Вопросы по pf"  +/
Сообщение от reader (ok) on 01-Ноя-13, 16:25 
>[оверквотинг удален]
> назад через внутренний интерфейс, заменяя исходный адрес клиента на внутренний адрес
> системы сетевой защиты. Внутренний сервер ответит системе сетевой защиты, которая может
> полностью изменить и NAT и RDR трансляции при отправке пакета локальному
> клиенту.
> Мы собственно нужно, чтобы с vlan22 был доступ к внешнему адресу $ext_ip_SERV1
> # Проброс порта с vlan22 на внешний IP SERV1
> rdr on $vlan22 proto {tcp, udp} from any to $ext_ip_SERV1 port 7777
> -> $SERV1 port 7777
> # Затем нужно сделать обрато:
> nat on $vlan22 from $vlan21 to $SERV1 port 7777 -> $vlan22

from $vlan21 ? или from $vlan22
$SERV1 в $lannet ?

nat on $lannet_if from $vlan22_ip/24 to $SERV1 port 7777 -> $lannet_if_ip

> Если не сложно напишите, пожалуйста, строку ната с vlan22

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

15. "Вопросы по pf"  +/
Сообщение от reader (ok) on 01-Ноя-13, 16:40 
>[оверквотинг удален]
>> Мы собственно нужно, чтобы с vlan22 был доступ к внешнему адресу $ext_ip_SERV1
>> # Проброс порта с vlan22 на внешний IP SERV1
>> rdr on $vlan22 proto {tcp, udp} from any to $ext_ip_SERV1 port 7777
>> -> $SERV1 port 7777
>> # Затем нужно сделать обрато:
>> nat on $vlan22 from $vlan21 to $SERV1 port 7777 -> $vlan22
> from $vlan21 ? или from $vlan22
> $SERV1 в $lannet ?
> nat on $lannet_if from $vlan22_ip/24 to $SERV1 port 7777 -> $lannet_if_ip
>> Если не сложно напишите, пожалуйста, строку ната с vlan22

но если vlan22 подсеть не пересекается адресами с lannet и у $SERV1 нет отдельного маршрута к vlan22 подсети не через этот шлюз, то нат вам не нужен

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

16. "Вопросы по pf"  +/
Сообщение от михалыч (ok) on 01-Ноя-13, 17:17 
>[оверквотинг удален]
> системы сетевой защиты. Внутренний сервер ответит системе сетевой защиты, которая может
> полностью изменить и NAT и RDR трансляции при отправке пакета локальному
> клиенту.
> Мы собственно нужно, чтобы с vlan22 был доступ к внешнему адресу $ext_ip_SERV1
> # Проброс порта с vlan22 на внешний IP SERV1
> rdr on $vlan22 proto {tcp, udp} from any to $ext_ip_SERV1 port 7777
> -> $SERV1 port 7777
> # Затем нужно сделать обрато:
> nat on $vlan22 from $vlan21 to $SERV1 port 7777 -> $vlan22
> Если не сложно напишите, пожалуйста, строку ната с vlan22

У вас в строке int_if = "rlo" интерфейс неправильно прописан.
Литера о вместо цифры 0. Будьте внимательны, а то опять ошибки будут при тестировании/запуске

int_if = "rl0"
ext_if = "rl1"

lannet = "10.0.0.0/16"
ext_ip = "87.87.87.86/30"
ext_ip_SERV1 = "87.87.87.87/32"
SERV1 = "10.0.1.7/32"
vlan22 = "vlan22"

icmp_types="{ echoreq, unreach }"

rdr on $ext_if proto tcp from any to $ext_ip_SERV1 port 7777 -> $SERV1 port 7777

rdr on $int_if proto tcp from $vlan22 to $ext_if port 7777 -> $ext_ip_SERV1
no nat on $int_if proto tcp from $int_if to $vlan22
nat on $int_if proto tcp from $vlan22 to $ext_ip_SERV1 port 7777 -> $int_if

nat on $ext_if from $lannet to any -> $ext_ip

Попробуйте этот вариант, я не проверял.

Но что-то вы замутили нехорошее.
Лучше бы решали через создание локального DNS
"Сервер DNS можно настроить так, что он будет давать разные ответы в разные сети. Можно сделать так, чтобы локальные клиенты ходили на сервер непосредственно, без помощи шлюза. Такое решение, к тому же, снижает нагрузку на шлюз."

С этими перенаправлениями/отражениями легко запутаться.

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

17. "Вопросы по pf"  +/
Сообщение от orz (ok) on 05-Ноя-13, 11:09 
Добрый день!
В настоящее время на сервере используется ipnat и ipf.
Перекомпилировал ядро с параметрами PF.
Командой # pfctl -nf /etc/pf.conf проверил правила. Ошибок нет.
В rc.conf прописал для pf:
pf_enable=«YES»
pf_rules="/etc/pf.conf"
pf_flags=""
pflog_enable=«YES»
pflog_logfile="/var/log/pf.log"
pflog_flags=""
закоментировал строки для ipnat и ipf.
Перезагрузил шлюз с PF.
На шлюзе пропала сеть.
# ping ya.ru
cannot resolve ya.ru: Host name lookup failure.
# ping 8.8.8.8
ping: sendto: Network is unrechable

В rc.conf указаны:
defaultrouter="87.253.x.x"  # шлюз провайдера
gateway_enable="YES"

Подскажите, почему так произошло и как это исправить?

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

18. "Вопросы по pf"  +/
Сообщение от reader (ok) on 05-Ноя-13, 12:04 
>[оверквотинг удален]
> Перезагрузил шлюз с PF.
> На шлюзе пропала сеть.
> # ping ya.ru
> cannot resolve ya.ru: Host name lookup failure.
> # ping 8.8.8.8
> ping: sendto: Network is unrechable
> В rc.conf указаны:
> defaultrouter="87.253.x.x"  # шлюз провайдера
> gateway_enable="YES"
> Подскажите, почему так произошло и как это исправить?

netstat -nr
ifconfig
pfctl -sr

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

19. "Вопросы по pf"  +/
Сообщение от михалыч (ok) on 05-Ноя-13, 17:44 
О_о А как вы умудрились кавычки-ёлочки вставить?

> pf_enable=«YES»
> pflog_enable=«YES»

Может всё же так?
pf_enable="YES"
pflog_enable="YES"

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

20. "Вопросы по pf"  +/
Сообщение от orz (ok) on 07-Ноя-13, 18:18 
> О_о А как вы умудрились кавычки-ёлочки вставить?
>> pf_enable=«YES»
>> pflog_enable=«YES»
> Может всё же так?
> pf_enable="YES"
> pflog_enable="YES"

Это я просто вставил из блокнота. В rc.conf все правильно написано.

# ifconfig
все интерфейсы присутствуют, ИП адреса есть и статус активный

# netstat -nr
Internet
Destination      Gateway       Flags     Refs     Use     Netif
default         87.253.x.x      UGS         6     518      fxp0
10.0.1.0/24      link#1         U           0      8        rl0
10.0.1.241       link#1         UHS         0      0        lo0
..... (здесь разные vlans)
87.87.87.87      link#2         UHS         0      8        lo0 =>
87.87.87.87/32   link#2         U           0      8        fxp0
127.0.0.1        link#5         UH          0      757      lo0

# pfctl -sr
scrub in all fragment reassemble
block drop in quick on ! lo0 inet6 from  ::1 to any
block drop in quick on ! lo0 inet from 127.0.0.1/8 to any
block drop in quick on ! rl0 inet6 from 10.0.1.0/24 to any
block drop in quick inet from 10.0.1.241 to any
block drop in quick on ! fxp0 inet from 87.87.87.87 to any
block drop in quick inet from 87.253.x.x/30
block return all
дальше идут разрешающие правила
pass .....


Подскажите, как запустить PF.

  

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

21. "Вопросы по pf"  +/
Сообщение от михалыч (ok) on 10-Ноя-13, 12:54 
>[оверквотинг удален]
> any
> block drop in quick on ! lo0 inet from 127.0.0.1/8 to any
> block drop in quick on ! rl0 inet6 from 10.0.1.0/24 to any
> block drop in quick inet from 10.0.1.241 to any
> block drop in quick on ! fxp0 inet from 87.87.87.87 to any
> block drop in quick inet from 87.253.x.x/30
> block return all
> дальше идут разрешающие правила
> pass .....
> Подскажите, как запустить PF.

Эх! Ну дайте вывод полный тех команд, что просили выше! Как помочь, если нужной информации нет?


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

22. "Вопросы по pf"  +/
Сообщение от orzon (ok) on 11-Ноя-13, 18:49 
> Эх! Ну дайте вывод полный тех команд, что просили выше! Как помочь,
> если нужной информации нет?

Сократил пока так pf.conf
# Interfaces
int_if = "rl0"
ext_if = "fxp0"

# IP Address
lan_DMZ = "10.0.1.0/24"
int_ip = "10.0.1.241/32"
ext_ip = "87.87.86.210/30"
ext_ip_SERV1 = "87.87.87.193/32"
ext_ip_GATE = "87.87.87.209/16"
SERV1 = "10.0.1.7/32"
vlan21 = "vlan21"
arenda = "{ vlan6 vlan7 vlan12 vlan20 }"

# Ports
icmp_types = "{ echoreq, unreach }"

# СЕКЦИЯ  глобальные опции
set block-policy return
set state-policy floating
set skip on lo0
set limit { frags 100000, states 100000 }
set optimization normal

# СЕКЦИЯ параметры нормализации
scrub in all

# NAT & RDR

# SERV1
rdr on $ext_if proto {tcp, udp} from any to $ext_ip_SERV1 port 7777 -> $SERV1 port 7777
rdr on $vlan21 proto {tcp, udp} from any to $ext_ip_SERV1 port 7777 -> $SERV1 port 7777
rdr on $int_if proto {tcp, udp} from any to $ext_ip_SERV1 port 7777 -> $SERV1 port 7777
nat on $ext_if from $SERV1 to any -> $ext_ip_SERV1

# NAT dmz, vlan's
nat on $ext_if from $lan_DMZ to any -> $ext_ip
nat on $ext_if from $arenda to any -> $ext_ip

# Filter
antispoof quick for { lo0, $int_if, $ext_if }

block all

pass in on $int_if all
pass out on $int_if all

# Разрешаем доступ из интернета к серверам
pass in on $ext_if proto { tcp, udp } from any to $SERV1 port 7777
pass inet proto icmp all icmp-type $icmp_types keep state
pass in on $ext_if proto {tcp, udp} from any to any port 53
pass out on $ext_if all

pass in on $arenda all
pass out on $arenda all

pass in on $vlan21 from $ext_ip_GATE
pass out on $vlan21


# ifconfig
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:80:48:34:a1:26
        inet 10.0.1.241 netmask 0xffffff00 broadcast 10.0.1.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=2009<RXCSUM,VLAN_MTU,WOL_MAGIC>
        ether 00:07:e9:b6:9c:a5
        inet 87.87.86.210 netmask 0xfffffffc broadcast 87.87.86.211
        inet 87.87.87.193 netmask 0xffffffff broadcast 87.87.87.193
        media: Ethernet 100baseTX <full-duplex>
        status: active
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
pfsync0: flags=0<> metric 0 mtu 1460
        syncpeer: 224.0.0.240 maxupd: 128
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
pflog0: flags=0<> metric 0 mtu 33200
vlan1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:80:48:34:a1:26
        inet 10.0.0.241 netmask 0xffffff00 broadcast 10.0.0.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        vlan: 1 parent interface: rl0
vlan3: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:80:48:34:a1:26
        inet 10.0.2.1 netmask 0xffffff00 broadcast 10.0.2.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        vlan: 3 parent interface: rl0
vlan5: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:80:48:34:a1:26
        inet 10.0.5.1 netmask 0xffffff00 broadcast 10.0.5.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        vlan: 5 parent interface: rl0
vlan6: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:80:48:34:a1:26
        inet 10.0.6.1 netmask 0xffffff00 broadcast 10.0.6.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        vlan: 6 parent interface: rl0
vlan7: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:80:48:34:a1:26
        inet 10.0.7.1 netmask 0xffffff00 broadcast 10.0.7.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        vlan: 7 parent interface: rl0
vlan12: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:80:48:34:a1:26
        inet 10.0.3.1 netmask 0xffffff00 broadcast 10.0.3.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        vlan: 12 parent interface: rl0
vlan20: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:80:48:34:a1:26
        inet 10.0.11.1 netmask 0xffffff00 broadcast 10.0.11.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        vlan: 20 parent interface: rl0
vlan21: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:80:48:34:a1:26
        inet 87.87.87.209 netmask 0xfffffff0 broadcast 87.87.87.223
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        vlan: 21 parent interface: rl0

# netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            87.87.86.209       UGS        67      502   fxp0
10.0.0.0/24        link#7             U           0        0  vlan1
10.0.0.241         link#7             UHS         0        0    lo0
10.0.1.0/24        link#1             U           0        0    rl0
10.0.1.241         link#1             UHS         0        0    lo0
10.0.2.0/24        link#8             U           0        0  vlan3
10.0.2.1           link#8             UHS         0        0    lo0
10.0.3.0/24        link#12            U           0        0 vlan12
10.0.3.1           link#12            UHS         0        0    lo0
10.0.5.0/24        link#9             U           0        0  vlan5
10.0.5.1           link#9             UHS         0        0    lo0
10.0.6.0/24        link#10            U           0        0  vlan6
10.0.6.1           link#10            UHS         0        0    lo0
10.0.7.0/24        link#11            U           0        0  vlan7
10.0.7.1           link#11            UHS         0        0    lo0
10.0.11.0/24       link#13            U           0        0 vlan20
10.0.11.1          link#13            UHS         0        0    lo0
87.87.87.87        link#2             UHS         0        0    lo0 =>
87.87.87.87/32     link#2             U           0        0   fxp0
87.87.87.208/28    link#14            U           0       84 vlan21
87.87.87.209       link#14            UHS         0        0    lo0
87.87.86.208/30    link#2             U           0        0   fxp0
87.87.86.210       link#2             UHS         0        0    lo0
127.0.0.1          link#5             UH          0      783    lo0

Internet6:
Destination                       Gateway                       Flags      Netif Expire
::1                               ::1                           UH          lo0
fe80::%lo0/64                     link#5                        U           lo0
fe80::1%lo0                       link#5                        UHS         lo0
ff01:5::/32                       fe80::1%lo0                   U           lo0
ff02::%lo0/32                     fe80::1%lo0                   U           lo0

Обозначения:
87.87.86.209 - шлюз провайдера
87.87.86.210 - внешний ИП моего шлюза
87.87.87.193 - внешний ИП SERV1
87.87.87.209 - мой шлюз (vlan21)

# pfctl -sr
scrub in all fragment reassemble
block drop in quick on ! lo0 inet6 from  ::1 to any
block drop in quick on ! lo0 inet from 127.0.0.1/8 to any
block drop in quick on ! rl0 inet6 from 10.0.1.0/24 to any
block drop in quick inet from 10.0.1.241 to any
block drop in quick on ! fxp0 inet from 87.87.87.208/30 to any
block drop in quick on ! fxp0 inet from 87.87.86.193 to any
block drop in quick inet from 87.87.86.210 to any
block drop in quick inet from 87.87.87.193 to any
block return all
pass in on rl0 all flags S/SA keep state
pass out on rl0 all flags S/SA keep state
pass in on fxp0 inet proto tcp from any to  10.0.1.7 port = 7777 flags S/SA keep state
pass inet proto icmp all icmp-type echoreq keep state
pass inet proto icmp all icmp-type unreach keep state
pass in on fxp0 inet proto tcp from any to any port = domain flags S/SA keep state
pass in on fxp0 inet proto udp from any to any port = domain keep state
pass out on fxp0 all flags S/SA keep state
pass in on vlan6 all flags S/SA keep state
pass in on vlan7 all flags S/SA keep state
pass in on vlan12 all flags S/SA keep state
pass in on vlan20 all flags S/SA keep state
pass out on vlan6 all flags S/SA keep state
pass out on vlan7 all flags S/SA keep state
pass out on vlan12 all flags S/SA keep state
pass out on vlan20 all flags S/SA keep state
pass in on vlan21 inet from 87.87.87.208/29 to any flags S/SA keep state
pass out on vlan21 all flags S/SA keep state

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

23. "Вопросы по pf"  +/
Сообщение от orzon (ok) on 12-Ноя-13, 09:43 
87.87.87.209 - мой шлюз (vlan21)
имеется ввиду для других подсетей

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

24. "Вопросы по pf"  +/
Сообщение от orzon (ok) on 18-Ноя-13, 14:43 
Подскажите, почему после запуска PF блокируется трафик как в интернет, так и в локальную сеть?


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

25. "Вопросы по pf"  +/
Сообщение от reader (ok) on 18-Ноя-13, 15:13 
> Подскажите, почему после запуска PF блокируется трафик как в интернет, так и
> в локальную сеть?

показывайте настройки сети и текущие правила после запуска PF, выше вы показываете в pf.conf одни правила , а текущие совсем другие

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

26. "Вопросы по pf"  +/
Сообщение от orzon (ok) on 18-Ноя-13, 17:51 
>> Подскажите, почему после запуска PF блокируется трафик как в интернет, так и
>> в локальную сеть?
> показывайте настройки сети и текущие правила после запуска PF, выше вы показываете
> в pf.conf одни правила , а текущие совсем другие

Вот pf.conf
# Interfaces
int_if = "rl0"
ext_if = "fxp0"

# IP Address
lan_DMZ = "10.0.1.0/24"
int_ip = "10.0.1.241/32"
ext_ip = "87.87.86.210/30"
ext_ip_SERV1 = "87.87.87.193/32"
ext_ip_GATE = "87.87.87.209/16"
SERV1 = "10.0.1.7/32"
vlan21 = "vlan21"
arenda = "{ vlan6 vlan7 vlan12 vlan20 }"

# Ports
icmp_types = "{ echoreq, unreach }"

# СЕКЦИЯ  глобальные опции
set block-policy return
set state-policy floating
set skip on lo0
set limit { frags 100000, states 100000 }
set optimization normal

# СЕКЦИЯ параметры нормализации
scrub in all

# NAT & RDR

# SERV1
rdr on $ext_if proto {tcp, udp} from any to $ext_ip_SERV1 port 7777 -> $SERV1 port 7777
rdr on $vlan21 proto {tcp, udp} from any to $ext_ip_SERV1 port 7777 -> $SERV1 port 7777
rdr on $int_if proto {tcp, udp} from any to $ext_ip_SERV1 port 7777 -> $SERV1 port 7777
nat on $ext_if from $SERV1 to any -> $ext_ip_SERV1

# NAT dmz, vlan's
nat on $ext_if from $lan_DMZ to any -> $ext_ip
nat on $ext_if from $arenda to any -> $ext_ip

# Filter
antispoof quick for { lo0, $int_if, $ext_if }

block all

pass in on $int_if all
pass out on $int_if all

# Разрешаем доступ из интернета к серверам
pass in on $ext_if proto { tcp, udp } from any to $SERV1 port 7777
pass inet proto icmp all icmp-type $icmp_types keep state
pass in on $ext_if proto {tcp, udp} from any to any port 53
pass out on $ext_if all

pass in on $arenda all
pass out on $arenda all

pass in on $vlan21 from $ext_ip_GATE
pass out on $vlan21


# pfctl -sr
scrub in all fragment reassemble
block drop in quick on ! lo0 inet6 from  ::1 to any
block drop in quick on ! lo0 inet from 127.0.0.1/8 to any
block drop in quick on ! rl0 inet6 from 10.0.1.0/24 to any
block drop in quick inet from 10.0.1.241 to any
block drop in quick on ! fxp0 inet from 87.87.87.208/30 to any
block drop in quick on ! fxp0 inet from 87.87.86.193 to any
block drop in quick inet from 87.87.86.210 to any
block drop in quick inet from 87.87.87.193 to any
block return all
pass in on rl0 all flags S/SA keep state
pass out on rl0 all flags S/SA keep state
pass in on fxp0 inet proto tcp from any to  10.0.1.7 port = 7777 flags S/SA keep state
pass inet proto icmp all icmp-type echoreq keep state
pass inet proto icmp all icmp-type unreach keep state
pass in on fxp0 inet proto tcp from any to any port = domain flags S/SA keep state
pass in on fxp0 inet proto udp from any to any port = domain keep state
pass out on fxp0 all flags S/SA keep state
pass in on vlan6 all flags S/SA keep state
pass in on vlan7 all flags S/SA keep state
pass in on vlan12 all flags S/SA keep state
pass in on vlan20 all flags S/SA keep state
pass out on vlan6 all flags S/SA keep state
pass out on vlan7 all flags S/SA keep state
pass out on vlan12 all flags S/SA keep state
pass out on vlan20 all flags S/SA keep state
pass in on vlan21 inet from 87.87.87.208/29 to any flags S/SA keep state
pass out on vlan21 all flags S/SA keep state

вот так. Пробовал убирать block all, но ситуация не изменилась.

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

27. "Вопросы по pf"  +/
Сообщение от reader (ok) on 18-Ноя-13, 21:58 
>>> Подскажите, почему после запуска PF блокируется трафик как в интернет, так и
>>> в локальную сеть?
>> показывайте настройки сети и текущие правила после запуска PF, выше вы показываете
>> в pf.conf одни правила , а текущие совсем другие

вы хотите сказать что из этого pf.conf получили правила которые показали по pfctl -sr ниже?

> Вот pf.conf
> # Interfaces
> int_if = "rl0"
> ext_if = "fxp0"
> # IP Address
> lan_DMZ = "10.0.1.0/24"
> int_ip = "10.0.1.241/32"
> ext_ip = "87.87.86.210/30"

ext_ip = "87.87.86.210"

>[оверквотинг удален]
> scrub in all fragment reassemble
> block drop in quick on ! lo0 inet6 from  ::1 to
> any
> block drop in quick on ! lo0 inet from 127.0.0.1/8 to any
> block drop in quick on ! rl0 inet6 from 10.0.1.0/24 to any
> block drop in quick inet from 10.0.1.241 to any
> block drop in quick on ! fxp0 inet from 87.87.87.208/30 to any
> block drop in quick on ! fxp0 inet from 87.87.86.193 to any
> block drop in quick inet from 87.87.86.210 to any
> block drop in quick inet from 87.87.87.193 to any

откуда эти все block drop in quick * ?

>[оверквотинг удален]
> pass in on vlan6 all flags S/SA keep state
> pass in on vlan7 all flags S/SA keep state
> pass in on vlan12 all flags S/SA keep state
> pass in on vlan20 all flags S/SA keep state
> pass out on vlan6 all flags S/SA keep state
> pass out on vlan7 all flags S/SA keep state
> pass out on vlan12 all flags S/SA keep state
> pass out on vlan20 all flags S/SA keep state
> pass in on vlan21 inet from 87.87.87.208/29 to any flags S/SA keep
> state

ext_ip_GATE = "87.87.87.209/16" а у вас from 87.87.87.208/29

> pass out on vlan21 all flags S/SA keep state
> вот так. Пробовал убирать block all, но ситуация не изменилась.

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

28. "Вопросы по pf"  +/
Сообщение от orzon (ok) on 20-Ноя-13, 18:19 
>>>> Подскажите, почему после запуска PF блокируется трафик как в интернет, так и
>>>> в локальную сеть?
>>> показывайте настройки сети и текущие правила после запуска PF, выше вы показываете
>>> в pf.conf одни правила , а текущие совсем другие
> вы хотите сказать что из этого pf.conf получили правила которые показали по
> pfctl -sr ниже?

Да. Я сам не понимаю откуда берутся block

Даже если написать вместо block all -> pass all
и перезапустить #pfctl -F all -f /etc/pf.conf то все равно все блокируется.

>ext_ip = "87.87.86.210"

написал так

ext_ip_GATE = "87.87.87.209/16" а у вас from 87.87.87.208/29
на это пока можно не обращать внимание

Мне главное пока, чтобы шли пинги в инет и в DMZ.

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

29. "Вопросы по pf"  +/
Сообщение от reader (ok) on 20-Ноя-13, 20:53 
>[оверквотинг удален]
>> вы хотите сказать что из этого pf.conf получили правила которые показали по
>> pfctl -sr ниже?
> Да. Я сам не понимаю откуда берутся block
> Даже если написать вместо block all -> pass all
> и перезапустить #pfctl -F all -f /etc/pf.conf то все равно все блокируется.
>>ext_ip = "87.87.86.210"
> написал так
> ext_ip_GATE = "87.87.87.209/16" а у вас from 87.87.87.208/29
> на это пока можно не обращать внимание
> Мне главное пока, чтобы шли пинги в инет и в DMZ.

значит стирайте абсолютно все из pf.conf включая set *, antispoof - все стираете.
пишите правило nat для локалки и pass all и проверяете что это заработало, потом добавляете ОДНО правило проброса и заставляете проброс заработать, потом добавляете еще одно правило в pf.conf и проверяете , что оно отрабатывает и т.д.

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

30. "Вопросы по pf"  +/
Сообщение от orzon (ok) on 23-Ноя-13, 12:14 
>[оверквотинг удален]
>> написал так
>> ext_ip_GATE = "87.87.87.209/16" а у вас from 87.87.87.208/29
>> на это пока можно не обращать внимание
>> Мне главное пока, чтобы шли пинги в инет и в DMZ.
> значит стирайте абсолютно все из pf.conf включая set *, antispoof - все
> стираете.
> пишите правило nat для локалки и pass all и проверяете что это
> заработало, потом добавляете ОДНО правило проброса и заставляете проброс заработать, потом
> добавляете еще одно правило в pf.conf и проверяете , что оно
> отрабатывает и т.д.

pf.conf
# Interfaces
int_if = "rl0"
ext_if = "fxp0"

# IP Address
lan_DMZ = "10.0.1.0/24"
int_ip = "10.0.1.241/32"
ext_ip = "87.87.86.210"

nat on $ext_if from $lan_DMZ to any -> $ext_ip
pass all

#pfctl -sr
pass all flags S/SA keep state

Но пинги опять никуда не идут.

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

31. "Вопросы по pf"  +/
Сообщение от reader (ok) on 25-Ноя-13, 14:44 
>[оверквотинг удален]
> ext_if = "fxp0"
> # IP Address
> lan_DMZ = "10.0.1.0/24"
> int_ip = "10.0.1.241/32"
> ext_ip = "87.87.86.210"
> nat on $ext_if from $lan_DMZ to any -> $ext_ip
> pass all
> #pfctl -sr
> pass all flags S/SA keep state
> Но пинги опять никуда не идут.

чудеса

запускаете пинг из 10.0.1.0/24 и снимаете дамп tcpdump -n -i rl0 и tcpdump -n -i fxp0 , потом pfctl -vsa

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

32. "Вопросы по pf"  +/
Сообщение от orzon (ok) on 23-Дек-13, 11:34 
Я сделал новый сервер в качестве шлюза.
PF в минимальной конфигурации запустился.

# Interfaces
int_if = "rl0"
ext_if = "fxp0"

# IP
ext_ip_SERV1 = "87.87.87.193/32"
SERV1 = "10.0.1.7/32"
serv1_ports = "{ 1122, 1133 }"

# NAT RDR
rdr on $ext_if proto udp from any to $ext_ip_SERV1 port $serv1_ports -> $SERV1 port $serv1_ports
nat on $ext_if from $SERV1 to any -> $ext_ip_SERV1

Подскажите, возможно ли использовать такую конструкцию для проброса портов?

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

33. "Вопросы по pf"  +/
Сообщение от Аноним (??) on 24-Дек-13, 09:28 
> rdr on $ext_if proto udp from any to $ext_ip_SERV1 port $serv1_ports ->$SERV1 port $serv1_ports

Лучше будет разложить это правило на два явных:
rdr on $ext_if proto udp from any to $ext_ip_SERV1 port 1122 ->$SERV1 port 1122
rdr on $ext_if proto udp from any to $ext_ip_SERV1 port 1133 ->$SERV1 port 1133

Вместо $ext_ip_SERV1 можно просто вписать $ext_if если у вас адрес на этом интерфейсе равен $ext_ip_SERV1.

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

34. "Вопросы по pf"  +/
Сообщение от orzon (ok) on 26-Дек-13, 16:38 
Спасибо.
Еще один вопрос.
Созданы vlan на внутреннем интерфейсе в rc.conf
cloned_interfaces="vlan1 vlan3 vlan5 vlan12 vlan13 vlan20 vlan21"

ifconfig_vlan3="inet 10.0.2.1 netmask 255.255.255.0 vlan 3 vlandev rl0"

нужно натить этот vlan в инет. В PF прописано:

# Interfaces
int_if = "rl0"
ext_if = "fxp0"

# IP Address
lan_DMZ = "10.0.1.0/24"
int_ip = "10.0.1.241/32"
ext_ip = "87.87.86.210/32"
vlan3 = "vlan3"

block all

nat on $ext_if from $lan_DMZ to any -> $ext_ip
nat on $ext_if from $vlan3 to any -> $ext_ip

pass in quick on $vlan3 all
pass out quick on $vlan3 all

pass in on $int_if all
pass out on $int_if all

pass inet proto icmp all icmp-type $icmp_types keep state
pass in on $ext_if proto {tcp, udp} from any to any port 53
pass out on $ext_if all

Инета нет в этом vlan. Свой шлюз 10.0.2.1 пингуется.
ping ya.ru - ИП адрес ya.ru определяет, но пинг не идет:
Заданный узел недоступен.


Подскажите, пожалуйста, что не так?

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

35. "Вопросы по pf"  +/
Сообщение от Аноним (??) on 27-Дек-13, 09:13 
> block all

А если вместо block all временно поставить pass all то работает?
Вроде block all тоже создает стейтсы, поэтому если вы напишете какое-то разрешающее правило и просто перезагрузите правила командой pfctl -f conf - то пакеты скорей всего будут все равно блокироватся по таблице стейтсов, поэтому надо обновленные правила загружать одновременно с очисткой стейтсов, либо писать block all no state.

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

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

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




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

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