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

Исходное сообщение
"pf вопрос настройки правил"

Отправлено hishnik , 25-Сен-05 03:04 
Здравствуйте.
У меня возникла проблема с настройкой pf не могу понять в чем причина.
Если есть кто разбирается в теме - буду очень благодарен.

Итак есть внешний интерфейс ed0 - подсоединен к ADSL (рутеру)
Внутренний интерфейс dc0
Поднят mpd, где ng0 - внешний интерфейс, через PPPoE в интернет.
Внутренние интерфейсы ng1 по ng5 - входящие VPN каналы.
По мере подключения (VPN)IP пользователей добавляются в таблицу.

Содержимое /etc/pf.conf

ext_if = "ed0"
int_str_if = "ng0"
table <users_str_if> persist
int_if = "dc0"

priv_nets = "{ 127.0.0.0/8 192.168.0.0/16 172.16.0.0/12 10.0.0.0/8 }"

scrub in all
nat on $int_str_if from { <users_str_if> lo0 } to any -> ($int_str_if)
#-------------------------------------------------------
# blochim vse
block all

# razreshaem loopback
pass quick on lo0 all

# antispoof
block drop in quick on $int_str_if from $priv_nets to any
block drop out quick on $int_str_if from any to $priv_nets

# allow icmp
pass in inet proto icmp all keep state
pass out inet proto icmp all keep state

#allow local net
pass in on $int_if from $int_if:network to any keep state
pass out on $int_if from any to $int_if:network keep state

# allow external
pass out on $int_str_if inet from { <users_str_if> lo0 } to any modulate state flags S/SA

pass out on $int_chret_if inet proto { udp icmp } from { <users_chret_if> lo0 } to any keep state

pass on $ext_if all

#-------------------------------------------

Возможно какие-то излишества (например lo0) возможно еще что-то не так, подскажите ПЛЗ.

Таблица <users_chret_if> содержит IP подключенных в данный момент людей.

Задача - натить входящие VPN соединения на внешний интерфейс.

ICMP - бегает нормально, а вот зателнетиться хотя бы на 80 порт яндекса - не выходит.

Работает лишь если добавить
pass in all
pass out all
но вы сами видите что это не вариант...

Первый раз pf настраиваю, возможно чего-то недопонял...направьте на путь истиный.


Содержание

Сообщения в этом обсуждении
"pf вопрос настройки правил"
Отправлено мелкая пакость , 26-Сен-05 15:02 
напишите block log all и слушайте pflog0 чтоб видеть что блокируется
tcpdump -envi pflog0

хотя странно оно у вас как то... если раздаёте инет то почему нет ната?
nat on $ext_if from <users_chret_if> to any -> ($ext_if)


"pf вопрос настройки правил"
Отправлено _Ale_ , 26-Сен-05 17:53 
>хотя странно оно у вас как то... если раздаёте инет то почему
>нет ната?
>nat on $ext_if from <users_chret_if> to any -> ($ext_if)

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


"pf вопрос настройки правил"
Отправлено hishnik , 24-Окт-05 23:11 

>>nat on $ext_if from <users_chret_if> to any -> ($ext_if)
есть такое
nat on $int_str_if from { <users_str_if> lo0 } to any -> ($int_str_if)
>если это так, то не забудь включить маршрутизацию между интерфейсами...
Включена