Вопрос SSH против OpenVPN, какой из них быстрее?


Мне нужен удаленный доступ к моему серверу. Я хотел бы также иметь функциональность X Forwarding. SSH дает мне это; однако, это немного медленнее через Интернет. Будет ли OpenVPN работать лучше? Или есть альтернатива, которая будет работать лучше?


4
2018-01-27 16:38


происхождения


Если возможно, вам следует переключиться с X-пересылки на NX или VNC, чтобы ускорить его. X-пересылка не имеет полосы пропускания в любом смысле. - Olli
По моему опыту, VNC примерно так же плох, как X Forwarding. Однако NX приятно. - Fake Name


ответы:


Я хотел бы также иметь функцию пересылки x. SSH предоставляет мне это, но это немного медленнее через Интернет. Будет ли openvpn работать лучше?

Любая пересылка, выполняемая через SSH, будет подчиняться хорошо известному Проблема TCP-over-TCP, Протокол TCP добавляет достаточное количество накладных расходов, поскольку это протокол транзакций. Использование туннеля UDP, который является стандартом OpenVPN, позволит вам избежать всех проблем с туннелированием TCP через TCP.

Я действительно сомневаюсь, что это очень поможет в пересылке X11 сессии. X11 чрезвычайно чувствителен к задержкам и джиттеру. Протокол туннелирования, даже самый эффективный, не может преодолеть латентность или перенасыщенные интернет-ссылки.


7
2018-01-28 07:02



Добро пожаловать в ряды Штабелеры, - Dennis Williamson
Этот ответ SO говорит, что SSH-туннелирование не имеет проблемы TCP-over-TCP: serverfault.com/a/653748/180974 - Jeff Widman


SSH против OpenVPN для туннелирования: Пока вам нужен только один TCP-порт, перенаправленный, SSH намного быстрее, потому что он имеет меньше накладных расходов.


3
2017-11-01 05:55





SSH подключит вас к вашему компьютеру. OpenVPN подключит вас к вашей сети. Это будет похоже на то, что вы подключены непосредственно к своей сети. Иногда это может вызвать дополнительный трафик, например, если ваш компьютер внезапно видит свои общие сетевые диски или сетевые принтеры, он может начать с ними разговаривать.

Если вы просто хотите иметь удаленное управление рабочим столом, то о каком-то из многих, многих вариантов VNC, которые имеют небольшой вес и размер. Вы можете открыть и перенести нестандартный порт на свой маршрутизатор.


1
2018-01-27 16:46



Правда, VPN - это гораздо более ... сложное решение. Если вам нужен только удаленный рабочий стол, вы не должны открывать VPN. Также открытие VPN может повлиять на ваше обычное подключение к Интернету и сетевое подключение :). (Он может начать переходить через VPN). Теперь я не могу решить, хочу ли я проголосовать за вас или Zoredache - sinni800


Вы пробовали параметр -C в ssh для включения сжатия? Вы также можете установить уровень сжатия в файле конфигурации, как описано в руководстве ssh для «CompressionLevel». Это должно использовать меньшую пропускную способность.

У меня нет опыта работы с openVPN, поэтому, к сожалению, я не могу дать вам хорошее сравнение. Я бы подумал, что пересылка X может теоретически развиваться быстрее, поскольку, похоже, он использует много локального кода сеанса X, чтобы отображать определенные окна вместо того, чтобы рисовать весь рабочий стол, как с помощью VNC. Хотя я не знаю точно.

Я предполагаю, что вы используете команду, подобную ssh -C -X username@yourdomain.com и запуск gui-программ из командной строки, например / usr / bin / firefox.

Если вы хотите туннелировать VNC по вашей сессии ssh, вы можете использовать пересылку порта ssh, не открывая никаких дополнительных портов в брандмауэре. Вам просто нужен сервер vnc на удаленном хосте.

ssh -C -L 4000:localhost:5900 username@yourdomain.com

(предполагая, что сервер vnc обслуживает порт 5900)

Затем откройте клиент vnc на локальной машине и подключите его к localhost: 4000

Я тестировал обе опции ssh в своей локальной сети, а пересылка X-session намного превосходила любой из моих локальных тестов VNC. Я был в состоянии смотреть видео с YouTube с одного x-сеанса на другое в полускабельном качестве. Тем не менее, звук воспроизводился в исходной системе.


1
2018-01-28 06:32