В первом офисе стоит usergate 5.4 постоянно подвисает решил его поменять на freebsd10+pf. Столкнулся с такой проблемой как то странно отрабатывать PF фильтр касаемо протокола GRE. В двух других офисах стоят тоже шлюзы freebsd9.2+pf и vpn сервер на mpd5.
Во всех офисах политика в pf
block in log all
block out log all
правило разрешающее gre
pass quick inet proto gre to any keep state
В двух офисах где freebsd9.2 с этим правилом все работает. Между офисами по vpn все соединяется без проблем. В офисе где поставил вместо ug5 freebsd10+pf. Это правило перестало отрабатывать соединение по vpn, с двумя офисами где freebsd9. Перестало соединяться и отваливается на моменте проверки имени и пароля пользователя т.е. как будто gre не проходит.
Я смотрю в лог pflog и вижу
если стоит правило
pass quick inet proto gre to any keep state
соединение отваливается с ошибкой 619
но в логе где em1 это внутренний интерфейс а em0 внешний интерфейс а 85.22.22.22 адрес сервера vpn, 192.168.100.80 адрес машины с которой я хочу подключиться к серверу vpn:
#########################################
00:00:06.318768 rule 8..16777216/0(match): pass in on em1: 192.168.100.80 > 85.22.22.22: GREv1, call 55004, seq 0, proto PPP (0x880b), length 37: LCP (0xc021), length 25: LCP, Conf-Request (0x01), id 0, length 2300:00:00.001076 rule 8..16777216/0(match): pass out on em0: 192.168.100.80 > 85.22.22.22: GREv1, call 55004, seq 0, proto PPP (0x880b), length 37: LCP (0xc021), length 25: LCP, Conf-Request (0x01), id 0, length 23
#########################################
Судя по логу gre проходит и все должно подключатся так как gre правильно проходит что мы и видим в логе. Но нет соединение не происходит и отваливается с ошибкой 619.
Но если я вместо правила указанного выше ставлю два правила
pass in log on $int_if inet proto gre to any keep state
pass out log on $ext_if inet proto gre to any keep state
то соединение устанавливается без проблем.
Правда в логах как то странно показывается что отрабатывает только первое правило, которое пропускает gre на внутреннем интерфейсе.
в логе pflog где em1 это внутренний интерфейс а 85.22.22.22 адрес сервера vpn, 192.168.100.80 адрес машины с которой я хочу подключиться к серверу vpn
##########################################################
00:00:34.863975 rule 8..16777216/0(match): pass in on em1: 192.168.100.80 > 85.22.22.22: GREv1, call 55004, seq 0, proto PPP (0x880b), length 37: LCP (0xc021), length 25: LCP, Conf-Request (0x01), id 0, length 23
############################################################
и записи в логе для правила внешнего интерфейса так и не будет. Но соединение с офисами устанавливается без проблем.
В чем причина такого поведения PF????????? Подскажите. Менял сетевые карты, ставил realtek, 3COM сейчас стоят intel 1000MT. Пробовал все также настроить на дистрибутиве freebsd9.2. Результат один и тот же. Причем есть еще два офиса в одном стоит cisco pix506
в другом vpn сервер поднят на windows 7 с этими офисами соединятся без проблем хоть с первым хоть со вторыми двумя правилами. Через UG5 соединение по vpn устанавливается без проблем с любым офисом где стоит freebsd9.2+pf, в UG открыты 1723 и разрешен протокол GRE.