Страница 1 из 1

VPN(pptp) и PF

Добавлено: 2008-11-07 12:29:17
Guest113

Код: Выделить всё

ext_if="rl0" [b](1)[/b]
int_if="nve0"
pptp_if="tun1"
lan="192.168.7.0/24"

set skip on lo0
block quick inet6 all
antispoof quick for $ext_if inet
block in
block return-rst in proto tcp
pass out keep state

# Открываю порт 1723 и GRE для связи. Работает! Тунель коннектится из локалки! [b](2)[/b]
pass in on $int_if inet proto tcp from any to 192.168.7.100 port 1723 keep state 
pass in on $int_if inet proto gre from $lan to 192.168.7.100 keep state

# Интерент на шлюзе
pass out on $ext_if proto tcp all modulate state flags S/SA
pass out on $ext_if proto {udp,icmp} all keep state

# Разрешаю любой трафик из локальной сети $lan на nve0 [b](3)[/b]
#pass in  on $int_if from $lan to any 
#pass out  on $int_if from any to $lan
Так вот в чем проблема.
1- В сети 10 ПК на Выньде и шлюз на FreeBSD. НА фряхе настроен Poptop для организации VPN-сервера. С помощью правил (2) открюл порт и GRE. в результате чего компы стали конектиться. (3) пока закоментированные правила, т.к. если их открыть то на всех машинах автоматически будет интернет. А я хочу шобы он у них появлялся только когда установленно VPN соединение со шлюзом. Какие правила необходимо дописать??? Помогите господа, гуру!!!

2- (1) правило указывает на интерфейс куда присоеденен ADSL-модем... однако я сомневаюся (для ната), какой интерфейс там писать: tun0 ИЛИ rl0 ???
Сетевая плата в которую воткнут модем обозначается rl0. А соединение, котое он дает tun0 (на этом соединение динамический IPшник выдается)

Re: VPN(pptp) и PF

Добавлено: 2008-11-07 15:08:52
paradox
делает nat на внешнем интерфейсе локальной сети
а на внутреннем интерфейсе закрываешь проход пакетов с локальной сети на внешнюю сетевку
и разрешаешь с тунелей проходить везде
и разрешаешь свои гре и pptp

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

Re: VPN(pptp) и PF

Добавлено: 2008-11-08 12:51:10
Guest113
Зделал все как ты сказал:

Код: Выделить всё

ext_if="rl0"                  #Внешняя сетевушка
int_if="nve0"                #Внутренняя сетевушка
vpn="tun1"                   #Туннель
lan="192.168.7.0/24"    #Внутрренняя сеть
bsd="192.168.7.100"     # Адресс машины Роутера

set skip on lo0

# делаем нат на внешнем интерфейсе локальной сети
nat on $ext_if from $int_if:network -> (tun0)

block quick inet6 all
antispoof quick for $ext_if inet
block in
#block return-rst in proto tcp
pass out keep state

# и разрешаешь свои гре и pptp
# Открываем 1723 порт и  GRE протокол для VPN-соединения
pass in on $int_if inet proto tcp from any to $bsd port 1723 keep state 
pass in on $int_if inet proto gre from $lan to $bsd keep state

# Даем доступ в интернет с FreeBSD
pass out on $ext_if proto tcp all modulate state flags S/SA
pass out on $ext_if proto {udp,icmp} all keep state

# Разрешаем сети внутренней общаться с FreeBSD 
pass in  on $int_if from $lan to any 
pass out  on $int_if from any to $lan

# а на внутреннем интерфейсе закрываешь проход пакетов с локальной сети на внешнюю сетевку
block on $int_if from $lan to $ext_if 

# и разрешаешь с тунелей проходить везде
pass in on $int_if from $vpn to any
pass out on $int_if from any to $vpn
И ничего - тихо =(((( Может в каком правиле накосячил???

Re: VPN(pptp) и PF

Добавлено: 2008-11-08 19:58:41
Guest113
HELP PLZ!!!!!

Re: VPN(pptp) и PF

Добавлено: 2008-11-08 20:00:24
paradox
включай pflog
и смотри куда кто не проходит

Re: VPN(pptp) и PF

Добавлено: 2008-11-16 14:55:52
Guest113
Нет, ничего не выходит.... =((( Фигня какая-то...

Re: VPN(pptp) и PF

Добавлено: 2013-05-29 12:31:48
Заметил ошибку
vpn интерфейс в макросе tun1 а натится все на tun0, так и должно быть?