Задать вопрос
  • Как настроить proxy + VPN в Linux?

    @rPman
    Все зависит от того, какие именно технологии тебе нужны.

    При наличии ssh сервера (удаленный сервер, в локальной корпоративной сети, куда тебе нужен доступ), то у тебя автоматически (это отключается администратором но по умолчанию обычно есть) есть возможность подключить на выбор:

    * socks прокси сервер (локальный, любая ОС), достаточно подключиться к ssh серверу с ключом -D1080 и у тебя появится локальный socks5 прокси без атворизации (будет localhost:1080)
    Это все что нужно для работы прокси, никаких настроек (максимум озаботиться об автоматическом запуске без пароля). Но прокси требует наличие поддержки в приложениях (браузеры поддерживают все).

    * tap или tun туннель (не windows машины) с помощью ключа -w 0:0 (цифры тут это номер tap или tun устройства, создаваемого локально и на удаленной машине
    для создания tap туннеля нужно добавить опцию -o Tunnel=ethernet в этом случае сетевое устройство будет полноценным ethernet подключением, его можно добавить в сетевой мост со всеми вытекающими от сюда плюсами.
    ssh только создает tap/tun сетевое устройство, но дальнейшую его настройку (ip адрес, настройка nat) нужно делать уже по тем правилам как у тебя организована сеть.
    Например на удаленном сервере можно организовать сетевой мост, в него поместить аппаратный сетевой адаптер и при ssh подключении добавлять созданный им tun/tap интерфейс, в этом случае туннель подключится к удаленной (корпоративной) локальной сети как машина в этой сети и ей будет выдан ip адрес согласно настроек этой сети
    То же самое можно делать и на клиенте, собственно нет никакой разницы как именно было организовано ssh подключение (у меня был конфиг когда ssh сервер из удаленной сети, к которой мне нужен доступ но на нем не было выделенного открытого порта, только доступ в интернет за nat) подключался к моей домашней машине (ssh сервер), подключив таким образом мою домашнюю машину в удаленную сеть, при этом в локальной домашней сети я сделал то же самое, поместил ее сетевой адаптер в сетевой мост и добавил в него tun от ssh, отключив dhcp в моей локальной сети, я получил единую локальную сеть, управляемую удаленно (т.е. ip адреса выдавались удаленной сетью, а так же настройки шлюза, т.е. интернет работал удаленный), в довесок я прописывал на машинах таблицу маршрутизации route add ... указав какие подсети нужно отправлять через мой локальный шлюз а не удаленный.

    p.s. ssh туннель полнофункциональный, удобный, универсальный... но это tcp подключение (т.е. при проблемах в сети будут большие лаги, ping может легко стать 5-секундным) , а еще российские провайдеры периодически (полагаю не 'со зла' а как последствия 'ковровых бомбардировок' других протоколов) замедляют именно ssh подключения

    Исторически в linux есть socat, инструмент поднятия туннеля любого типа через любой тип соединения, сам он по себе не шифрует подключения но можно нагородить конструкцию любой сложности другими утилитвми, попробуй его
    Ответ написан
    Комментировать