PfSense+VPN по 80 порту для определенных сайтов



  • Всем доброго времени суток. Наткнулся в интернетах на интересную вещь про Микротик, и захотелось узнать можно ли реализовать на pfSense.
    Мысль такова:
    на данный момент имеем pfSense 2.4.1 на виртуальной машине Hyper-V , работает как шлюз. Подключение к провайдеру по PPPoE.
    Возможно ли поверх wan  создать подключение к какому нибудь серверу VPN чтобы клиенты находившиеся за pfSense (во внутренней сети) при попытке выйти на определенный ресурс по 80 порту запрос шел по VPN.
    То есть если пользователь в адресной строке указывает какой-либо адрес (goggle.ru yandex.ru) он просто идет по wan, а если пользователь идет на сайт из определенного списка (rutracker.org nnm-club.name) запрос шел уже через VPN.
    Реально ли такое организовать ?
    Зы, pfsense используется в домашней сети вместо роутера.
    Зы.Зы. Я совсем новичок в pfsense



  • Если коротко - да.
    Чуть длиннее.
    1. Настраиваем VPN.
    2. Если это Open VPN - назначаем соединению интерфейс.
    3. Узнаем IP нужных сайтов.
    4. Создаем из этих IP алиас
    5. Создаем на LAN правило выше, чем "Default allow LAN to any rule"
    в правиле:
    Source - LAN net
    Destination - алиас с вашими IP сайтов.
    порты можно не указывать - any
    жмем кнопку Advanced Options
    Gateway меняем с default на шлюз вашего VPN.



  • Доброго.
    Есть нюансы. Если ваш пров-р блокирует доступ к опред. ресурсам на уровне dns, то и запросы dns прийдется заворачивать в туннель.

    (rutracker.org nnm-club.name) запрос шел уже через VPN.

    Пользуйтесь анонимайзерами. Есть же Opera turbo и куча готовых дополнений для chrome, firefox. Это проще.



  • @werter:

    Пользуйтесь анонимайзерами. Есть же Opera turbo и куча готовых дополнений для chrome, firefox. Это проще.

    Понимаю что проще, но хочется попробовать именно таким образом обходить все блокировки, не переключая всякие расширения.

    Поэтому и прошу у знающих людей помощи)

    @pigbrother:

    Если коротко - да.
    Чуть длиннее.
    1. Настраиваем VPN.
    2. Если это Open VPN - назначаем соединению интерфейс.
    3. Узнаем IP нужных сайтов.
    4. Создаем из этих IP алиас
    5. Создаем на LAN правило выше, чем "Default allow LAN to any rule"
    в правиле:
    Source - LAN net
    Destination - алиас с вашими IP сайтов.
    порты можно не указывать - any
    жмем кнопку Advanced Options
    Gateway меняем с default на шлюз вашего VPN.

    а можно все еще длиннее? я что то даже не нашел как создать VPN  как клиента…..



  • а можно все еще длиннее? я что то даже не нашел как создать VPN  как клиента…..

    Длиннее - это пости сделать вместо вас. ;)

    Pfsense поддерживает как VPN-клиентов OpenVPN, L2TP и IPsec.
    Ваш VPN-провайдер должен поддерживать что-то из них и иметь образцы настроек под разные ОС\роутеры. Этих образцов обычно достаточно, чтобы настроить клиента в pfSense.

    OpenVPN настраивается тут:
    VPN-OpenVPN-Clients

    после создания OpenVPN - интерфейс назначается\включается  в
    Interfaces-Assign-Available network ports.

    L2TP - тут:
    Interfaces-Assign-PPPs
    после создания L2TP - назначается\включается  в
    Interface-Assign-Available network ports.

    Важное замечание. При создании L2TP привязывайте его к LAN. В прежних версиях была ошибка - при привязке L2TP к WAN pfSense уходил в циклическую перезагрузку. И справлена ли она теперь - не знаю.



  • @pigbrother:

    Длиннее - это пости сделать вместо вас. ;)

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

    Настроил OpenVPN, захожу status OpenVPN показывает Local address и прочие. Иду в Available network ports:
    создаю новой интерфейс
    OPT1  ovpnc1
    включаю его , делаю рестарт службы OpenVPN и захожу Status Gateways там появляется интерфейс OPT1 IP адреса, вроде все как нужно. но у меня перестает работать интернет , до создания  правил я даже не добирался еще.
    Где моя ошибка?

    для теста использую этот ресурс

    Зы. Спасибо Вам за помощь



  • Попробуйте для начала настроить Open VPN для единственного клиента, под Windows, например. Убедитесь, что он может ходить в интернет с новым IP. Зафиксируйте правильные настройки, для pfSense они мало будут отличаться.

    Open VPN настолько богат возможностями и их настройками, что ошибок избежать трудно.

    для теста использую этот ресурс

    Ваш trust.zone не пускает без регистрации даже на страницу с документацией.

    Если вы еще не успели оплатить его услуги - и нужен надежный зарубежный ресурс - смените его на, например этот,

    вот как на нем выглядит нужная вам информация:
    https://rus.privateinternetaccess.com/pages/client-support/pfsense.

    Или этот:
    https://airvpn.org/topic/17444-how-to-set-up-pfsense-23-for-airvpn/
    и т.д.

    Сразу скажу - эти инструкции в чистом виде вам могут не подойти, но общее представление составить помогут. По ним весь трафик заворачивается в VPN.



  • Доброго.
    @Tolyan63:

    Не то чтобы за нас сделать, но помощь Ваша нужна и важна))

    Цикл статей по настройке пф https://nguvu.org/. Там и про опенвпн есть. В закладки.



  • всем доброго времени суток. Не могу ни как правильно создать VPN-OpenVPN-Clients. Подскажите пожалуйста:
    использую для пробы и тд ресурс http://www.vpnbook.com/freevpn
    взял для пробы конфиг:

    client -это я думаю обозначения  клиент
    dev tun0 - режим работы
    proto udp - протокол
    remote 37.187.158.97 53 -сервера и порт
    remote fr1.vpnbook.com 53 -сервера и порт
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    auth-user-pass метод авторизации , запрашивать логин\пароль
    comp-lzo
    verb 3
    cipher AES-128-CBC -тип шифрования
    fast-io
    pull
    route-delay 2
    redirect-gateway

    Собственно остальное куда вписывать ?
    не поднимается у меня соединения когда захожу в Status\OpenVPN

    Помогите пожалуйста разобраться …



  • Доброго.
    Скрины того, что настраивали. Логи покажите.



  • Скрины того что вписал в настройки



  • У вас стоит галка на Automatic generate tls key. Снимите ее. Внесите key, к-ый предоставляет провайдер. Он в файле настроек –---BEGIN RSA PRIVATE KEY-----
    Директивы в Advanced configuration разделяются ; , а не новой строкой (там об этом написано)
    Оставьте в Advanced configuration только pull; route-delay 2; redirect-gateway
    Поставьте галку на UDP fast i\o
    Send\Receive buffer 512 KiB (поиграться в процессе)
    Verbosity level 3\5

    И да. Redirect-gateway в Advanced configuration завернет весь трафик в туннель.



  • @werter:

    У вас стоит галка на Automatic generate tls key. Снимите ее. Внесите key, к-ый предоставляет провайдер. Он в файле настроек –---BEGIN RSA PRIVATE KEY-----

    Спасибо
    Теперь я так понимаю в поле TLS Key я вставляю из файла настроек ключ начинающийся с –---BEGIN RSA PRIVATE KEY-----
    но тогда появляется ниже поле Shared Key которое уже заполнено, при попытке сохранить настройки, ругается на "The field 'TLS Key' does not appear to be valid"
    Что я опять делаю не так ?



  • Доброго.
    Похоже, что мой промах. Попробуйте галку c TLS вообще снять.
    https://forum.pfsense.org/index.php?topic=131255.0
    https://forum.pfsense.org/index.php?topic=130713.0
    https://forum.pfsense.org/index.php?topic=105810.0



  • @werter:

    Доброго.
    Похоже, что мой промах. Попробуйте галку c TLS вообще снять.
    https://forum.pfsense.org/index.php?topic=131255.0
    https://forum.pfsense.org/index.php?topic=130713.0
    https://forum.pfsense.org/index.php?topic=105810.0

    Спасибо за помощь!, воспользовался другим ресурсом vpn подключение поднялось, единственное не понимаю зачем копии правил нужны в Firewall\NAT\Outbound? если я отдельно правила для lan с указанием шлюза создаю
    Сейчас так
    Firewall\NAT\Outbound

    а в разделе правил создал два правила, одно все через pppoe_gateway, второе на запрещенные сайты через opnvpn

    На данный момент все работает как и хотел, трафик ходит на прямую, кроме перечня ресурсов, которые я добавил в алиас.
    Все верно мной сделано ? или что то не так ?



  • OPT1 - это интерфейс OVPN-клиента?
    Если так - вероятно, переключение в Manual outbound было нажато после создания OVPN-клиента.
    Поэтому в списке правил  Manual outbound и появилось автоматически созданное правило
    Auto created rule для OPT1.



  • @pigbrother:

    OPT1 - это интерфейс OVPN-клиента?
    Если так - вероятно, переключение в Manual outbound было нажато после создания OVPN-клиента.
    Поэтому в списке правил  Manual outbound и появилось автоматически созданное правило
    Auto created rule для OPT1.

    ОРТ1 да, это интерфейс опен впн
    Правила копированием я создавал сам и менял интерфейс с wan на opt1.
    Без них не работал впн туннель. Создал правила , весь трафик пошел в туннель . Потом уже в разделе правила создал два правила из lan весь трафик pppoe, а над ним из lan в alias через opt1



  • Должно работать и без явного создания vpn-интерфейса.



  • единственное не понимаю зачем копии правил нужны в Firewall\NAT\Outbound? если я отдельно правила для lan с указанием шлюза создаю
    Правила копированием я создавал сам и менял интерфейс с wan на opt1.

    Вас же не удивляет необходимость Outbound NAT для WAN?
    OPT1, в данном случае, - еще один псевдо-WAN, и для выхода в интернет через него тоже нужны правила Outbound NAT.

    Правила на LAN разрешают\запрещают ходить трафику, а правило Outbound NAT дает техническую возможность этому трафику ходить через OPT1.



  • @werter:

    Должно работать и без явного создания vpn-интерфейса.

    В случае единственного OVPN-клиента - вероятно, да.
    А если имеем несколько экземпляров OVPN-серверов с подключенными к ним сетями site-to-site и удаленными клиентами?



  • Доброго.

    А если имеем несколько экземпляров OVPN-серверов с подключенными к ним сетями site-to-site и удаленными клиентами?

    Это легко проверить. Попробуйте.