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

Исходное сообщение
"Помогите настроить VPN + PF"

Отправлено lemurid , 26-Авг-10 10:44 
Есть сервер и интернет от Корбины (билайн).
Настроил mpd5 и.т.д все соединяется и.т.д все хорошо, но все пакеты посылаемые клиентами подключающимися по VPN исчезают в недрах pf... (по tcpdump их видно на интерфейсе ng1). Домашняя сеть 172.16.5.х vpn сервер раздает с диапазона 200, остальное isc-dhcp
Вот pf.conf
ext_if="rl0" (Внешний интерфейс)
wan_if="ng0" (ВПН соединение к корбине для интернета)
int_if="bridge0" (Два локальных интерфейса в сервере обслуживающие локальную сеть)
vpn_if="ng1"
vbox_if="vboxnet0" (Это инетрфейс virtualboxа)
Extr_if="{ng0 rl0}"
icmp_types="{echoreq, unreach}"
NoRouteIPs = "{ 127.0.0.0/8, 192.168.0.0/16, 10.0.0.0/8 }"

set block-policy drop
set loginterface $wan_if
set skip on lo0
set optimization conservative

scrub in all
scrub out on $wan_if random-id max-mss 1460

#  NAT
nat on $ext_if proto { tcp udp icmp } from $int_if:network to any -> ($ext_if)
nat on $wan_if proto { tcp udp icmp gre } from $int_if:network to any -> ($wan_if)
rdr pass on $wan_if proto tcp from any to any port 25 -> 172.16.5.7

block all

pass out on $ext_if from ($ext_if) to any
pass out on $wan_if from ($wan_if) to any

antispoof log quick for { lo0, $int_if, $ext_if, $wan_if }

block in on $Extr_if from $NoRouteIPs to any
block in on $Extr_if from any to $NoRouteIPs

pass out on $Extr_if from ($int_if) to any
pass out on $Extr_if from ($vbox_if) to any

pass in on $wan_if inet proto tcp from any to any port 1723
pass in on $wan_if inet proto gre from any to any

pass in on $wan_if proto tcp from any to ($wan_if) port { 80 450 7071 }

pass log inet proto icmp all icmp-type $icmp_types

pass quick on $int_if
pass quick on $vpn_if
pass quick on $vbox_if


Содержание

Сообщения в этом обсуждении
"Помогите настроить VPN + PF"
Отправлено lemurid , 26-Авг-10 12:48 
Добавлю что если pf незагрузить (к примеру синтаксическая ошибка) пинги начинают свободно ходить от VPN клиента к серверу (

"Помогите настроить VPN + PF"
Отправлено reader , 26-Авг-10 13:04 
>Добавлю что если pf незагрузить (к примеру синтаксическая ошибка) пинги начинают свободно
>ходить от VPN клиента к серверу (

ну так уберите правила фильтра и проверьте что будет

у pf есть ограничения по работе с gre


"Помогите настроить VPN + PF"
Отправлено alexpn , 30-Авг-10 04:13 
А где пропуск протокола GRE
оставь одно правило и смотри логи
pass all log
например

"Помогите настроить VPN + PF"
Отправлено dimanoname , 30-Авг-10 16:12 
>А где пропуск протокола GRE
>оставь одно правило и смотри логи
>pass all log
>например

а что обязательно заморачиваться на гре-протоколе? у меня mpd+pf и без этого работал. в правилах ната я бы написал какие подсети натить о внешнюю локалку rl0(если для всех остальных данный сервак не является шлюзом по-умолчанию), а все остальное - заворачивать на ng1. а потом уже фильтрами поэтапно пропускать/отсеивать нужное/ненужное


"Помогите настроить VPN + PF"
Отправлено Кирилл_Н , 30-Авг-10 16:29 
>>А где пропуск протокола GRE
>>оставь одно правило и смотри логи
>>pass all log
>>например
>
>а что обязательно заморачиваться на гре-протоколе? у меня mpd+pf и без этого
>работал. в правилах ната я бы написал какие подсети натить о
>внешнюю локалку rl0(если для всех остальных данный сервак не является шлюзом
>по-умолчанию), а все остальное - заворачивать на ng1. а потом уже
>фильтрами поэтапно пропускать/отсеивать нужное/ненужное

попробуйте натить пакеты не из локальной сети ($int_if:network), а из ng1. после подключения по впн ходить клиенты в интернет будут через впн соединение, соответственно и пакеты будут приходить оттуда. натить гре протокол не обязательно, у вас ведь пользователи не собираются устанавливать впн соединения с внешним миром. да и где-то на опеннете видел статью, что пф не правильно это делает и натить гре надо через ipfw и natd