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

Исходное сообщение
"FreeBSD 10.2 + pf + VPN (GRE)"

Отправлено kuksha12 , 13-Дек-15 09:31 
Здравствуйте.
Есть серая сетка с NAT и шлюз на FreeBSD 10.2. Надо настроить доступ из неё наружу, к внешним сетям VPN (PPTP), более чем одному пользователю одновременно.
То, есть нужно пробросить протокол GRE и TCP/1723.
Раньше делал это на IPFW, но на новом шлюзе уговорили поставить PF - типа он гибче. Вышел облом...

Оказывается этот хвалёный PF не дружит с GRE и с ещё некоторыми вещами - надо прикручивать сбоку костыль в виде IPFW с каким-то скриптом. Выглядит это гадко... Знал бы заранее - поставил бы IPFW и не парился.
Но, все эти заметки старые, им уже несколько лет - может быть PF уже доработали и я топчусь на ровном месте и просто не разобрался?

Как в итоге пробросить VPN малой кровью?
(PPTP и L2TP до кучи)


Содержание

Сообщения в этом обсуждении
"FreeBSD 10.2 + pf + VPN (GRE)"
Отправлено eRIC , 13-Дек-15 10:51 
тут недавно подымали эту тему, гляньте ссылки http://www.opennet.me/openforum/vsluhforumID1/96393.html#2

"FreeBSD 10.2 + pf + VPN (GRE)"
Отправлено kuksha12 , 13-Дек-15 16:51 
Видел, но по-моему там нет решения... если не углядел - поправьте.

"FreeBSD 10.2 + pf + VPN (GRE)"
Отправлено eRIC , 13-Дек-15 16:59 
> Видел, но по-моему там нет решения... если не углядел - поправьте.

где ваши правила PF? в студию их


"FreeBSD 10.2 + pf + VPN (GRE)"
Отправлено kuksha12 , 13-Дек-15 22:46 
Правила на работе. По памяти что-то вроде этого:
pass quick on $ext_if inet proto tcp from any to any port 1723
pass quick on $ext_if inet proto tcp from any port 1723 to any
pass quick on $ext_if inet proto gre from any to any

Написал ЭТО только для того, чтобы показать, что ни редиректов, ни таблиц, ни других заморочек не применял - только открыл 1723 и разрешил GRE напрополую. Всё.

Завтра скину то, что на самом деле, но особой разницы там не будет. Пока не скинул, коротко - можно VPN c GRE через PF пробросить или нет? Спрашиваю потому, что везде писали, что если и можно, то не более одного соединения одновременно.


"FreeBSD 10.2 + pf + VPN (GRE)"
Отправлено Mikula , 14-Дек-15 16:10 
>[оверквотинг удален]
> pass quick on $ext_if inet proto tcp from any port 1723 to
> any
> pass quick on $ext_if inet proto gre from any to any
> Написал ЭТО только для того, чтобы показать, что ни редиректов, ни таблиц,
> ни других заморочек не применял - только открыл 1723 и разрешил
> GRE напрополую. Всё.
> Завтра скину то, что на самом деле, но особой разницы там не
> будет. Пока не скинул, коротко - можно VPN c GRE через
> PF пробросить или нет? Спрашиваю потому, что везде писали, что если
> и можно, то не более одного соединения одновременно.

Может вот это поможет?
http://bezopasnik.org/unix/dok/FreeBSD/dok/675.htm


"FreeBSD 10.2 + pf + VPN (GRE)"
Отправлено ALex_hha , 13-Дек-15 13:41 
> Раньше делал это на IPFW, но на новом шлюзе уговорили поставить PF
> - типа он гибче. Вышел облом...

а что мешает обратно поставить ipfw?


"FreeBSD 10.2 + pf + VPN (GRE)"
Отправлено kuksha12 , 13-Дек-15 16:47 
> а что мешает обратно поставить ipfw?

Пожалуйста, не надо уводить в сторону :)
Я спросил про PF.



"FreeBSD 10.2 + pf + VPN (GRE)"
Отправлено ALex_hha , 14-Дек-15 02:41 
>> а что мешает обратно поставить ipfw?
> Пожалуйста, не надо уводить в сторону :)
> Я спросил про PF.

так вам шашечки или таки ехать ;)


"FreeBSD 10.2 + pf + VPN (GRE)"
Отправлено daekiy , 13-Дек-15 23:00 
https://www.opennet.me/tips/2245_pf_firewall_ipfw_freebsd.shtml


"FreeBSD 10.2 + pf + VPN (GRE)"
Отправлено kuksha12 , 13-Дек-15 23:06 
видел, я про эту статью и писал, что выглядит жутко - костыль...

"FreeBSD 10.2 + pf + VPN (GRE)"
Отправлено tootsie , 14-Дек-15 13:38 
> видел, я про эту статью и писал, что выглядит жутко - костыль...

VPN сервер завести на самом шлюзе и ничего прокидывать не придется?


"FreeBSD 10.2 + pf + VPN (GRE)"
Отправлено kuksha12 , 14-Дек-15 18:42 
Я спрашивал про доступ к внешним VPN-сетям из локалки наружу. Свой VPN мне ни заводить ни прокидывать не надо.

"FreeBSD 10.2 + pf + VPN (GRE)"
Отправлено tootsie , 15-Дек-15 08:33 
> Я спрашивал про доступ к внешним VPN-сетям из локалки наружу. Свой VPN
> мне ни заводить ни прокидывать не надо.

Хорошо, подними на шлюзе vpn клиента, который будет подключаться к необходимому vpn шлюзу.

Я просто не в курсе, pf реально не пропускает vpn подключение от клиентской машины наружу?


"FreeBSD 10.2 + pf + VPN (GRE)"
Отправлено kuksha12 , 15-Дек-15 10:40 
Теоретически пропускает, но грабли с одним из видов VPN - с PPTP, а точнее с протоколом GRE, который в нём используется. Ещё точнее - проблемы с NAT для GRE, насколько я понял. Приляпывать IPFW сбоку - ни за что.
Для себя тему PF я закрыл - он только для поиграться.

"FreeBSD 10.2 + pf + VPN (GRE)"
Отправлено urgordeadbeef , 14-Дек-15 18:55 
> Как в итоге пробросить VPN малой кровью?
> (PPTP и L2TP до кучи)

Если l2tp без ipsec, то должно натится и так, там же udp.
В случае pptp проблема не в натировании gre, а в правке CallingStationID в управляющем tcp соединении. Сам pf такого не умеет, но контрольный линк можно завернуть в прокси, например frickin, который будет делать это сам. Из портов его выкосили, но можно взять в сети.


"FreeBSD 10.2 + pf + VPN (GRE)"
Отправлено Аноним , 16-Дек-15 18:33 
PF никогда не умел в ALG (Application Layer Gateway). Без него вы поимеете проблемы с натом следующего трафика:
-активным FTP
-PPTP
-SIP
-IRC DCC (не думаю что это кому-то сейчас нужно правда..)

Самый простой способ решения проблемы - миграция на ipfw (или Linux :))