Как я могу направить свой интернет через туннель SSH?

24

Old Q Как мне настроить сервер OpenVPN без прав root?

Есть ли способ настроить сервер OpenVPN без прав root? Например, с файлами конфигурации в моем домашнем каталоге? Если да, то как мне это настроить?

Я пытаюсь войти в систему через SSH и настроить сервер OpenVPN для личного использования.

РЕДАКТИРОВАТЬ

Поскольку очевидно, что OpenVPN нужны привилегии суперпользователя, я переключаю вопрос на маршрутизацию своего интернета с использованием SSH, который я могу легко настроить.

Oxwivi
источник
Под "userspace" вы подразумеваете домашнюю папку без прав root? Обычно «пространство пользователя» используется как противоположность «пространству ядра».
Лекенштейн
@Lekensteyn, да без разрешения root, я не знал, что пользовательское пространство ссылается на что-то еще. Пожалуйста, не стесняйтесь редактировать мой вопрос в нечто подходящее. Я тоже думал об этом ответе, но не знаю, как настроить его без прав root.
Oxwivi

Ответы:

32

sshuttle - это прозрачный прокси-сервер, который пересылает через SSH-соединение и устанавливает прокси-сервер, запуская скрипты Python на удаленном сервере. sshuttleможет быть запущен при следующих условиях:

  • клиентский компьютер или маршрутизатор на базе Linux, FreeBSD или Mac OS
  • административные привилегии на клиенте
  • доступ к удаленной сети через SSH
  • нет прав администратора в удаленной сети
  • наличие Python на удаленном сервере

Установите sshuttleвведите описание изображения здесь из Центра программного обеспечения или Терминала:

sudo apt-get install sshuttle

Основная команда для запуска sshuttle с маршрутизацией всего трафика:

sshuttle -r username@sshserver:port 0/0

После выполнения команды появится sudoзапрос пароля, а затем пароль к учетной записи SSH. Никаких других подробностей не появится, кроме короткого сообщения и возврата в оболочку при сбое. Для большего количества сообщений о состоянии, запустите sshuttleв подробном режиме с -vфлагом.

В этом примере весь интернет-трафик, кроме DNS, маршрутизируется через VPN. -rфлаг обозначает имя удаленного хоста и необязательные имя пользователя и порт, которые следуют в приведенном выше примере. 0/0сокращенно 0.0.0.0/0это представляет подсети для маршрутизации через VPN. Использование 0/0маршрутизации всего трафика, кроме DNS-запросов к удаленному серверу. DNS-туннелирование возможно с использованием -Hфлага.

Пожалуйста, прочитайте справочную страницу ( man sshuttle) для получения подробной информации о параметрах и режимах, в которых sshuttleможно работать. Для получения информации о концепции и других примерах, обратитесь к странице проекта .

Андре Парамес
источник
краснокожие также стоит рассмотреть; те же черты, немного другое исполнение
sanmai
17

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

  • Предварительные условия: вам нужно включить пересылку пакетов в вашем (iptables?) Брандмауэре
  • Добавление устройств в эксплуатацию: специальное виртуальное устройство должно быть добавлено с помощью ifconfig. В противном случае связь между сервером и клиентом невозможна.

В зависимости от ваших потребностей, другие решения доступны. Для просмотра вашего сервера вы можете настроить сервер SOCKS.

SOCKS прокси

Настроить прокси SOCKS несложно: он встроен в OpenSSH. Чтобы включить сервер SOCKS, выполните следующую команду в терминале :

ssh user@host -D1234

Замените 1234 на предпочитаемый вами порт. В вашем браузере вы можете войти localhostкак хост и 1234как порт на сервере SOCKS4 / 5.

Ниже приведен пример в браузере Firefox:

  1. Перейти в Редактировать -> Настройки
  2. Откройте раздел Advanced
  3. Перейти на вкладку Сеть
  4. Нажмите Настройки
  5. Выберите Ручную настройку прокси
  6. Войдите в localhostкачестве хоста SOCKS
  7. Введите 1234как порт (тот же порт, который указан в команде SSH)
  8. Нажмите OK и Закрыть, чтобы закрыть диалоги настроек.

Пример настройки FIrefox

Lekensteyn
источник
1
Я хочу направить свой интернет через систему, в которой я хочу настроить VPN.
Oxwivi
К сожалению, вы не можете изменить правила маршрутизации на сервере без прав root. Одним из решений, которое обеспечивает по крайней мере безопасное решение для просмотра, является использование прокси-сервера SOCKS, как описано в ответе.
Лекенштейн
1
Я преуспел в том, чтобы получить мой интернет, маршрутизируемый по туннелю SSH. Должен ли я отредактировать ваш ответ, чтобы он относился к нему, как я редактировал вопрос? Или ты это сделаешь?
Oxwivi
@Oxwivi: я сделаю заказ и добавлю пример для Firefox.
Лекенштейн
-1

Если вы хотите только туннелировать трафик TCP вашей системы, я рекомендую использовать программу под названием tun2socks. Если вы также хотите туннелировать UDP-трафик, вы должны установить на свой сервер udpgw.

Вот руководство по установке и использованию этих программ: http://board.nwrk.biz/viewtopic.php?id=3

гири
источник
4
Не могли бы вы обновить свой ответ и объяснить наиболее важные шаги вашей ссылки здесь? Таким образом, этот ответ все еще будет полезен, даже если сайт исчезнет.
Луи Матейссен