Задать вопрос
Ответы пользователя по тегу VPN
  • FireWall (Linux) для VLESS (Nekoray) и с разными профилями VPN (IP, Port). Как настроить Kill Switch?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Убрать default route в системе. Вручную прописать роуты до необходимых адресов (VPN-сервера, DNS). При падении VPN не будет в системе ни одного лишнего маршрута и трафик не сможет никуда уйти.

    Как вариант, дефолт сделать так: ip route add unreachable default с метрикой больше любого роута в VPN. Либо зарезать средствами iptables. Но это уже средствами network-manager или что там используется может быть сложнее сделать.
    Ответ написан
    Комментировать
  • Маршрутизация из одной сети в другую через цепочку Wireguard > OpenVPN?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Когда мы идём с самого сервера 192.168.11.3 в 192.168.1.* и 192.168.2.*, то в качестве исходящего адреса выставляется IP местного конца туннеля, в данном случае 10.8.2.3, поэтому всё и работает. Это легко проверить с помощью команды типа:

    ip route get 192.168.1.77

    Когда же подобный трафик приходит с телефона, у него IP-адрес 10.1.3.2. С таким адресом трафик попадает на astrave-mainsrv и в дальнейшем роутится в openvpn либо не пропускается на astrave-mainsrv (смотря как там настроено). Аналогичная фигня происходит с трафиком из сетей 192.168.11.* и 192.168.12.* - он не будет уходить в туннель с адресом источника 10.8.2.3.

    Решение: на astrave-mainsrv весь трафик, уходящий в openvpn, NATить в 10.8.2.3.

    Вот так (тут tun666 - интерфейс openvpn):

    iptables -t nat -A POSTROUTING -s 10.1.3.0/24 -o tun666 -j SNAT --to 10.8.2.3

    Или даже так (тогда можно не задумываться о том, какой IP на нашей стороне туннеля, особенно если он динамический):

    iptables -t nat -A POSTROUTING -s 10.1.3.0/24 -o tun666 -j MASQUERADE

    Или даже можно не особо разбираться с конкретным адресом (тогда заодно с любых IP типа 192.168.11.* заработает, если трафик от них как-то попадёт на astrave-mainsrv):

    iptables -t nat -A POSTROUTING -o tun666 -j MASQUERADE

    Общий смысл: если компания хочет видеть у себя весь трафик подключающегося по VPN сотрудника c адреса 10.8.2.3, то мы весь трафик должны посылать именно с этого адреса, подменяя адрес источника.
    Ответ написан
  • Поможете разобраться в принципе маршрутизации в схеме подключения?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Как написано - так и работает.

    Вот, например, правило:

    -A POSTROUTING -s 10.1.3.0/24 -o br0 -j SNAT --to-source 192.168.11.3

    Оно должно подменять source у пакетов, прилетевших с адресов 10.1.3.0/24 на выходе в интерфейс br0. Однако если мы пингуем 192.168.1.72, обратно пакеты приходят с адреса 192.168.1.72 и нигде не подменяются на 10.1.3.0/24. А, собственно, зачем их подменять?

    Решать задачу надо иначе. Надо или сделать SNAT (MASQUERADE) на 192.168.1.44 с адресов не только 10.1.3.0/24, но и 192.168.11.0/24 (в этом случае в wg-туннеле будут ходить адреса 192.168.11.0/24):

    192.168.1.44:
    -A POSTROUTING -s 10.1.3.0/24 -o enp4s0 -j MASQUERADE
    -A POSTROUTING -s 192.168.11.0/24 -o enp4s0 -j MASQUERADE

    Либо надо на 192.168.11.3 делать подмену в туннельные адреса, которые в свою очередь заменяются в местный IP уже на "той" стороне (в этом случае в туннеле будут ходить только адреса 10.1.3.0/24):

    192.168.11.3:
    -A POSTROUTING -o wg0 -j MASQUERADE

    192.168.1.44:
    -A POSTROUTING -s 10.1.3.0/24 -o enp4s0 -j MASQUERADE
    Ответ написан
  • Как обеспечить Отказоустойчивость web-сервиса и ipsec vpn?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    На самом деле ipsec vpn это не очень-то и vpn, это просто инкапсуляция трафика в tunnel esp режиме ipsec, которая выполняется уже после маршрутизации на основе правил в конфигурации ipsec. Я бы советовал поднять с клиентом настоящие vpn (openvpn/l2tp/итд), в том числе их можно поднять поверх ipsec (если политика безопасности клиента того требует). И дальше просто даже метриками разрулить основной и резервный VPN до одинакового IP (который будет на самом деле терминироваться в разных датацентрах). Это самый простой вариант в случае если клиент не может сам балансировать между двумя точками подключения, одна из которых может отказать.
    Ответ написан
    Комментировать