GRE, PPTP, VPN Использование больше 1 сессии



  • Здравствуйте!

    Проблема в том, что я не могу установить больше одного подключения к удаленному VPN Серверу по PPTP протоколу из-за того, что pf некорректно натит две PPTP-сессии к одному vpn-серверу.

    Многие знают такую проблему: https://forum.pfsense.org/index.php?topic=79985.msg436436#msg436436
    Или вот отличная ветка по проблеме https://forum.pfsense.org/index.php?topic=52302.0

    Но ни там ни там нет решения. Решение есть в этих словах найденных на другом форуме.
    А так как я на форуме первый день, а PfSence юзаю с понедельника, мне не совсем понятно как по шагам применить такое решение:
    Можете помочь записать код ниже в файл конигурации?

    Идея заключается в том, чтобы натить клиентские pptp-сессии через natd, а все остальное рулить уже pf.
    
    1\. Запрещаем натить pptp-сессии и разрешаем прохождение транзитом этого траффика. Для этого в pf.conf добавляем:
    
    <...skip...>
    no nat on $ext_if2 proto gre from $internal_net to any
    no nat on $ext_if2 proto tcp from $internal_net to any port pptp
    <...skip...>
    pass quick proto tcp from any to any port 1723 keep state
    pass quick proto gre from any to any
    
    2\. И заворачиваем весь этот траф в natd (stge0 - внешний интерфейс):
    
    ipfw add 100 divert natd gre from any to any via stge0
    ipfw add 200 divert natd tcp from any to any dst-port 1723 out via stge0
    ipfw add 300 divert natd tcp from any 1723 to any in via stge0
    ipfw add 400 allow ip from any to any
    

    Кто ни будь может по шагам ответить на такие вопросы:

    1. Как найти файл конфигурации на PF если я подключаюсь через PYTTY… по SSH?

    2. Если подключаться надо по WinSCP то как избежать ошибок? У меня даже сессия не устанавливается по SCP  :(

    3. Когда мы нашли файл конфигeрации, как туда добавить записи (как в коде выше), а главное в какое место? (на данном этапе сам ПфСенсе - настроен по дефолту, кроме IP адресов на лан и ван - ничего нет, поэтому думаю конфиг будет небольшим.)

    4. Как сохранить конфигурацию с добавленным туда таким кодом?

    5. Не слетят ли настройки когда буду добалять другие правила через веб интерфейс?



  • @abutov:

    Здравствуйте!

    Проблема в том, что я не могу установить больше одного подключения к удаленному VPN Серверу по PPTP протоколу из-за того, что pf некорректно натит две PPTP-сессии к одному vpn-серверу.

    Этот эффект не является проблемой pfSense или pf, это является проблемой GRE и NAT вообще, так как протокол GRE не имеет такого понятия как порты, а для однозначной идентификации сообщений в NAT используются уникальные наборы значений IP/Port



  • Кто ни будь может по шагам ответить на такие вопросы:

    1. Как найти файл конфигурации на PF если я подключаюсь через PYTTY… по SSH?
    /cf/config.xml      - собственно конфиг pfSense
    /tmp/rules.debug - кэш правил фильтра

    2. Если подключаться надо по WinSCP то как избежать ошибок? У меня даже сессия не устанавливается по SCP  :(
    Разрешить подключения SSH в консоли или в GUI.

    3. Когда мы нашли файл конфигeрации, как туда добавить записи (как в коде выше), а главное в какое место? (на данном этапе сам ПфСенсе - настроен по дефолту, кроме IP адресов на лан и ван - ничего нет, поэтому думаю конфиг будет небольшим.)
    На Вашем уровне понимания работы pfSense - никак, только разрушите систему. Попробуйте модифицировать правила напрямую в /tmp/rules.debug (гуглить про pfFilter) и подгужать его в систему руками.
    При проблемах будет достаточным перезагрузиться для восстановления текущих настроек.

    4. Как сохранить конфигурацию с добавленным туда таким кодом?

    5. Не слетят ли настройки когда буду добалять другие правила через веб интерфейс?
    Все ручные изменения правил слетят, будет восстановлен конфиг из GUI.



  • Немного не в тему.
    Если нужен именно PPTP, удаленный PPTP-сервер - 2008 или новее, а клиенты - Vista мли новее - сконфигурируйте удаленный  сервер для поддержки SSTP.
    Для клиентов не изменится практически ничего, зато избавитесь от GRE и повысите безопасность туннеля.

    Как альтернативное решение - OpenVPN.



  • Еще для SSTP (и не только!) есть мультипротокольный SoftEther

    https://terrty.net/2014/softether-vpn-ubuntu/
    http://blog.lincoln.hk/blog/2013/03/19/softether-on-vps/



  • только там (SoftEther) драйвер был сыроват. я пробовал экспериментировать, в определенный момент при входящем соединении у меня win8.1 стала в синьку падать.
    пришлось выдернуть провод интернета и снести этот чудо драйвер



  • Парни конечно мне самому нравится вариант OpenVpn и прочие… но так исторически сложилось, что не могу я перевести 500 пользователей в другом городе на другой vpn. Проще сделать чтобы 10 юзеров из одного филиала получили доступ к PPTP из-за пфсенса.

    Как понимаю для этого надо:

    Запрещаем натить pptp-сессии и разрешить прохождение транзитом этого траффика...

    Собственно есть ли ответ на этот вопрос, как это сделать через Веб Конфигуратор? (а то как понимаю через консоль я там наделаю дел...)

    Или может можно как то запретить натить pptp-сессии через команды в меню: Click Diagnostics > Command
    Подскажите какие команды использовать?



  • не могу я перевести 500 пользователей в другом городе на другой vpn.

    У вас 500 рыл и все через рртр ходят?



  • @aleksvolgin:

    не могу я перевести 500 пользователей в другом городе на другой vpn.

    У вас 500 рыл и все через рртр ходят?

    Да.

    Повторю вопрос:
    Парни конечно мне самому нравится вариант OpenVpn и прочие… но так исторически сложилось, что не могу я перевести 500 пользователей в другом городе на другой vpn. Проще сделать чтобы 10 юзеров из одного филиала получили доступ к PPTP из-за пфсенса.

    Как понимаю для этого надо:

    Запрещаем натить pptp-сессии и разрешить прохождение транзитом этого траффика...

    Собственно есть ли ответ на этот вопрос, как это сделать через Веб Конфигуратор? (а то как понимаю через консоль я там наделаю дел...)

    Или может можно как то запретить натить pptp-сессии через команды в меню: Click Diagnostics > Command
    Подскажите какие команды использовать?



  • Не выйдет у вас с pptp ничего. Ни с NAT-ом ни с чем - ограничения нативные, к сожалению. Или ждите 2.2 в след. году.



  • Если хотите оставить pfsense
    и
    сделать, чтобы 10 юзеров из одного филиала получили доступ к удаленному серверу.

    Поднимите для них на удаленном сервере иное VPN-решение. Если пользователи не мобильные, канал к этому серверу для этого филиала может держать сам pfsense.



  • Соглашусь с ув. pigbrother. Советую недорогие роутеры, напр., asus rt-n12 + TomatoUSB (http://tomato.groov.pl/?page_id=69) или tp-link (741,841-ые) + OpenWRT.
    Данные решения отлично работают и с pptp (TomatoUSB, OpenWRT) и с OpenVPN (TomatoUSB). Недорого, стабильно и экономично!



  • Ребят, как раз по данной проблеме бъёмся =)

    сам пфсэнс не умеет поднимать pptp с шифрованием, тоесть оно примитивное. это я уже рпобовал делать.
    вопрос следующий, на практике оттестю только на след неделе.

    есть правила исходящего ната.
    так вот если туда при включенном автоматическом режиме прописать правило для рртр и гре траффика гулять пешком без ната
    и в правилах интерфейсов прописать правила с рртр и гре с указанием гейтвэя и сливать весь этот траффик через выделенный маршрутизатор, который на прямую смотрит в инет?
    как вам идея?
    тоесть, мы берём трафф, маршрутизируем через соседнюю железяку и выпускаем наружу без гемороя. пока я вижу онли такой вариант.
    сейчас занят очень, потому пока протестить не могу. сделаю, скину ман



  • @WY6EPT:

    Ребят, как раз по данной проблеме бъёмся =)

    сам пфсэнс не умеет поднимать pptp с шифрованием, тоесть оно примитивное. это я уже рпобовал делать.
    вопрос следующий, на практике оттестю только на след неделе.

    есть правила исходящего ната.
    так вот если туда при включенном автоматическом режиме прописать правило для рртр и гре траффика гулять пешком без ната
    и в правилах интерфейсов прописать правила с рртр и гре с указанием гейтвэя и сливать весь этот траффик через выделенный маршрутизатор, который на прямую смотрит в инет?
    как вам идея?
    тоесть, мы берём трафф, маршрутизируем через соседнюю железяку и выпускаем наружу без гемороя. пока я вижу онли такой вариант.
    сейчас занят очень, потому пока протестить не могу. сделаю, скину ман

    То есть предлагаете выпускать в инет пакеты с серыми src адресами?



  • Самым быстрым\простым\дешевым решением может оказаться  поднятие VPN на любой дешевой железке, умеющей PPTP, типа dlink\tplink и добавить маршрут в удаленную сеть либо на pfSense либо через
    route add
    прямо на клиентах.



  • @dvserg:

    @WY6EPT:

    Ребят, как раз по данной проблеме бъёмся =)

    сам пфсэнс не умеет поднимать pptp с шифрованием, тоесть оно примитивное. это я уже рпобовал делать.
    вопрос следующий, на практике оттестю только на след неделе.

    есть правила исходящего ната.
    так вот если туда при включенном автоматическом режиме прописать правило для рртр и гре траффика гулять пешком без ната
    и в правилах интерфейсов прописать правила с рртр и гре с указанием гейтвэя и сливать весь этот траффик через выделенный маршрутизатор, который на прямую смотрит в инет?
    как вам идея?
    тоесть, мы берём трафф, маршрутизируем через соседнюю железяку и выпускаем наружу без гемороя. пока я вижу онли такой вариант.
    сейчас занят очень, потому пока протестить не могу. сделаю, скину ман

    То есть предлагаете выпускать в инет пакеты с серыми src адресами?

    нет, я предлагаю натить именно впн трафик любым аппаратным роутером =)
    просто до этого роутера нужно этот траффик смаршрутизировать



  • Мляха муха.  У меня PfSense ваще то и служит маршрутизатором.

    Другое дело, что дешевый ASUS  или (asus rt-n12 + TomatoUSB) как здесь уже написали - умеет через себя пропускать сколько угодно PPTP подключений к 1 адресу. (С 1 адреса на 1 адрес - хоть 10 подключений), а весь такой крутой и навороченный ПФсенсе - этого делать не умеет. Само по себе осознание этой мысли - кажется бредом. Но это реальность.

    Спасибо pigbrother и всем вам за совет. Я так понимаю решением за пфсенсом поставить еще один маршрутизатор и на нем поднять 1 единственное PPTP до 1 единственного адреса. А потом ебаться с прописыванием маршрутов каждому клиенту. А если клиентов станет 50 - то секс начнет расти в геометрической прогрессии.

    Я естественно смотрю уже в сторону поднятия тунеля между офисами. Для решения этой проблемы. Но ветка и эта тема создавалась для решения и ответа всего навсего на 1 единственный вопрос:

    Как научить пфсенсе пропустить через себя трафик PPTP (GRE+1723 порт) подключения и НЕ NAT ить его. Даже в первом сообщении темы - сказано как это сделать, но не знаю как применить это решение на практике. Кто нибудь может расшифровать первый пост, гениев который что то дописали в freebsd и все заработало??

    Кто нить может по шагам расшифровать их слова? Как дописать конфиг?
    Просто мой опыт 2ую неделю мучений с ПФ - еще не позволяет сходу понять о чем они пишут…

    Слава богу жизненного опыта хватает понять - что пишиты вы.



  • @pigbrother:

    Если нужен именно PPTP, удаленный PPTP-сервер - 2008 или новее, а клиенты - Vista мли новее - сконфигурируйте удаленный  сервер для поддержки SSTP.

    Ох сегодня с сертификатами для SSTP потрахался. нашел такой гайд(http://www.oszone.net/10777/TMG-SSTP-VPN)
    На на создании сертификатов и завис… может подскажешь лучше другой гайд? А то проблема PPTP - уже кажется мелочью.

    На стороне Pfsensa - openvpn поднимается на ура. Даже маршруты добавляются 1 галочкой.
    И к своему пфсенсу уже легко конекчусь. Это было оч.  приятным удивлением... веде бы так все настраивалось в 2 клика...

    Но сожалению на Винде (куда надо коннектиться) не все так гладко, даже с такой подробной статьей нифига не получатся. http://compkaluga.ru/articles/172/ . У кого нить есть гайд получше? Понимаю что не в тему, но решение все той же проблемы из-за PPTP





  • Апну тему.
    подскажите, существует ли эта проблема в версиях 2 ?



  • существует, к сожалению



  • я правильно понял. что проблему с GRE для PPTP никто решать так и не собирается?
    а то вылезла вторая сторона медали. мало того, что 1 тоннель до каждого внешнего ip, дак ещё и не более 1 тоннеля с 1 внешнего айпи на рртр сервер пф сенс. о как.
    а это уже жопка. приходится придумывать, всякую фигню типа микротиков. что бы общий впн был. это не хорошо



  • pfsense точно не собирается её решать.
    настраивайте OpenVPN. сейчас клиенты даже на iphone есть и всё работает.
    Авторы явно указали, что не хотят его поддерживать.


Log in to reply