4

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

4 ответа4

7

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

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

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

3

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

1

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

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

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

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

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

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

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

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

1

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .