Pfsence и l2tp



  • Доброго дня.
    Подскажите, есть шлюз с pfsence, нужно людям в локальной сети подключаться к удаленному VPN, работающему на винсервере. Через обычные модемы нормально подключается только после тыкания галочки l2tp, ipsec passthrough. Как такое можно реализовать в pfsence, искал тоже некую галочку, но понял что не все так просто )



  • То есть пользователи индивидуально у себя запускают l2tp соединение, сидя в LAN за pfSense?
    Если так - может стоит тогда настроить l2tp на самом pfSense и пускать клиентов через него?
    Если надумаете - не привязывайте l2tp к WAN - можно получить бутлуп, делайте привязку к LAN.



  • @pigbrother А нет ли какой инструкции как это сделать?
    Пользователи в lan запускают каждый у себя VPN к удаленному серверу, да.



  • @antonvs85 said in Pfsence и l2tp:

    Пользователи в lan запускают каждый у себя VPN к удаленному серверу, да.

    Если к одному и тому же серверу, и не стоит задача ограничения на уровне доступа к l2tp - вариант коннекта через единственный коннект на pfSense, imho, идеологически правильнее.



  • @pigbrother ну пока к одному, а не тыкните пальцем где это настраивается? Я так понимаю во вкладке VPN настаиваться только сервер?



  • Делал давным давно.

    @antonvs85 said in Pfsence и l2tp:

    Я так понимаю во вкладке VPN настаиваться только сервер?

    Да.

    Клиент - тут:
    Interfaces-Assign-PPPs.
    Повторюсь - не привязывайте l2tp к WAN - можно получить бутлуп, делайте привязку к LAN-интерфейсу.
    Важно - адресация вашей LAN и LAN за удаленным сервером не должны совпадать\пересекаться. Если это не так - дальнейшее можно не читать.

    Когда\если интерфейс поднимется:

    1. Добавляем маршрут через этот интерфейс . Source - ваша LAN, dest - LAN за удаленным сервером.
    2. Firewall-NAT-Outbound.
      Переводим NAT в Hybrid Outbound NAT rule generation. Жмем кнопку Save.
    3. Добавляем правило NAT. Interface - поднятый вами L2TP. Source - ваша LAN. Destination - LAN за удаленным сервером.

    Возможно без п.1 можно обойтись, было давно - не помню.



  • @pigbrother Спасибо, буду завтра смотреть.



  • @antonvs85 Не забудьте сохранить бэкап конфига перед началом.



  • @pigbrother обязательно, спасибо



  • @antonvs85 И это - важно:
    Важно - адресация вашей LAN и LAN за удаленным сервером не должны совпадать\пересекаться.
    Если сообществу интересно, почему в случае клиента Windows это (в общем) не имеет значения - расскажу дополнительно.



  • Добрый.

    @pigbrother
    Вин-клиент по дефолту, если не снять галку в настройках впн-подключения, заворачивает весь траффик в туннель.



  • @werter said in Pfsence и l2tp:

    Вин-клиент по дефолту, если не снять галку в настройках впн-подключения, заворачивает весь траффик в туннель.

    Это всем известно.
    Речь о том, что даже со снятой галкой "использовать шлюз в удаленной сети" он все равно будет по умолчанию заворачивать трафик в "серые" сети в туннель. Майкрософт сняла с пользователя проблему передачи маршрутов в своих реализациях VPN и по умолчанию пихает в него все "серые" сети.
    За это отвечает другая галка - Disable class based route addition\Отключить добавление маршрута, основанное на классе.
    В клиенте в настройках IP эта галка в инверсном виде - Отключить добавление маршрута, основанное на классе. По умолчанию (галка снята) Windows автоматически добавляет на VPN-интерфейс маршрут на соответствуюющую классовую сеть - 10/8, 172./16, 192.168./24
    При этом приоритет(метрика) для VPN ставится меньшей и именно поэтому, находясь в LAN 192.168.0/24 клиент Windows может попасть в удаленную сеть с той же адресацией.
    Автоматически это может вызвать (и вызывает) проблемы с доступом в собственную LAN - но это уже совсем другая история.
    Более того, говорят в некоторых редакциях Windows 10 такой настройки вообще нет, и исправлять при необходимости, надо так:

    There is no such option in Windows 10, so you need to edit the phonebook file in %AppData%\Microsoft\Network\Connections\Pbk\rasphone.pbk
    и добавить
    DisableClassBasedDefaultRoute=1
    https://superuser.com/questions/121528/what-is-disable-class-based-route-addition-good-for



  • Добрый.

    Речь о том, что даже со снятой галкой “использовать шлюз в удаленной сети” он все равно будет по умолчанию заворачивать трафик в “серые” сети в туннель.

    Спасибо за разъяснение.

    Вот тут http://blog.umicorp.ru/dobavlenie-marshrutov-pri-rabote-s-vpn-vpn-marshrutyi/ человек галку на "Отключить добавление ..." ставит. Так и есть.

    Зы2. Возможно, что со снятой галкой "Отключить добавление маршрута, основанное на классе" добавляется только маршрут с адресацией как у подключающегося? Т.е., если у клиента сеть вида 192.168.x.x, то и маршрут автоматом ему добавится только на 192.168.0.0\16?



  • @werter said in Pfsence и l2tp:

    Т.е., если у клиента сеть вида 192.168.x.x, то и маршрут автоматом ему добавится только на 192.168.0.0\16?

    Млжет быть и так, что маршруты добавляюются на основании имеющегося у клиента IP на LAN, надо будет проверить.
    Даже если и так - "элегантное решение" от Микрософт- imho, все равно дыра. Пользователь вместо доступа только к LAN за VPN, получает доступ ко всем 192.168.0.0/16 сетям, для которых у VPN-сервера есть маршрут.
    UPD.
    Проверил пока только это - если поставить галку "Отключить добавление маршрута, основанное на классе" клиент теряет доступ даже к сети за VPN-сервером. В моем случае и домашняя сеть и сеть\сети за сервером - попадают в 10/8, доступ теряется ко всем 10/8. Возможно - это зависит от версии сервера, тестировал на древнем резервном PPTP WIN 2003.