: :

ПнВтСрЧтПтСбВс

2017-12-04 13:28:36 2655 0

Создание VPN соединения по протоколу ssh (sshuttle)

Sshuttle - дает возможность создать VPN соединение от вашей локальной машины до удаленной машины с использованием подключения по ssh. Для работы необходим пакет python верисии не ниже 2.3

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

Возможно одновременное подключение сразу к нескольким удаленным серверам

Установка

sudo apt-get install sshuttle

Синтаксис команды:

sshuttle [options] [-r [username@]sshserver[:port]] < subnets ...>

Опции

  • subnets
    список подсетей маршрут до которых будет доступен через VPN.
    Значения 1.2.3.4 - ip-адрес, 1.2.3.4/32 - ip-адрес, 1.2.3.0/24 - сеть с маской 255.255.255.0
    Возможно указать туннелирование определенных портов:
    1.2.3.4:4000 - тунеллироваться будет трафик с портом назначения 4000,
    1.2.3.4:4000-6000 - диапозон портов;
    Так же возможно указание доменного имени: например test.un:9000.

  • --method [auto|nat|tproxy|pf]
    Метод файервола исползуемый sshuttle. По-умолчанию auto, пытается сам угадать подходящий метод использования файервола.

  • -l, --listen=[ip:]port
    Использовать указанный адрес и порт как прозрачный прокси. По-умолчанию sshuttle назначает порт автоматически и ip-адрес 127.0.0.1.

  • --dns
    Перехватывать локальные DNS запросы и перенаправлять их на удаленный DNS-сервер.

  • --python
    Для указания пути до python интерпритатора на удаленном сервере. По-умолчанию это python путь берется из переменной PATH.

  • -r, --remote=[username@]sshserver:[port]
    Указывается имя пользователя, адрес ssh сервера и порт под которыми будет происходить подключение.
    Например: sshuttle -r root@1.2.3.4:2208.

  • -x --exclude=subnet
    Указываем сеть, которая будет исключена из перенаправления.
    Например: sshuttle -r root@1.2.3.4:2208 0/0 -x 10.10.10.0/24 - через VPN будет перенаправлен весь трафик, кроме трафика к сети 10.10.10.0/24

  • -X, --exclude-from=file
    Список сетей для исключения из перенаправления берется из указанного файла. НА каждую сеть отдельная строка.

  • -v, --verbose
    Более информативный вывод информации о сессии. По-умолчанию выводятся только ошибки.

  • -D, --daemon
    Автоматический выполнять fork для sshuttle после подключения и выполнять в background режиме.

  • --syslog
    После подключения отправлять все лог-сообщения в syslog вместо stderr.

  • --pidfile=pidfilename
    Когда используется опция --daemon, сохранять pid sshuttle в указанном файле. По-умолчанию это sshuttle.pid файл в текущей директории.

Существую и другие опции с которыми можно ознакомиться в man

Примеры

sudo sshuttle -vr test@1.2.3.4:2208 10.10.0.0/16 -x 10.10.11/0/24

Создаем VPN соединение с сервером с адресом 1.2.3.4 по порту 2208 (порт ssh измененный) c правами пользователя test на удаленном сервере, организуем перенаправление через VPN трафика обращенного к сетям 10.10.0.0.16 за исключением подсети 10.10.11.0.24 с выводом расширенной информации.






Введите ответ:

+

=