Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Решение административных задач в Linux

Удаленный доступ к рабочему столу между Ubuntu/Linux и Windows

Часть II. Настройка вашего маршрутизатора

Оригинал: Remote Desktop Between Ubuntu/Linux and Windows, Part II
Автор: Eric Geier
Дата публикации: вторник, 26 января 2009г. 11:43:16
Перевод: Коваленко А.М.
Дата перевода: 5 августа 2009 г.

В первой части этого пособия мы рассмотрели опции для организации удаленного подключения между компьютерами Linux и Windows. Дополнительно мы установили VNC решение на каждую из платформ. Теперь мы продолжим, и настроим наш маршрутизатор для выполнения удаленного подключения через Интернет. Дополнительно, мы рассмотрим как шифровать соединения и как организовать подключение с использованием параметров "родного" дисплея удаленного компьютера. Итак, давайте начнем.

Настройка вашего маршрутизатора для перенаправления

Перед тем, как вы сможете удаленно подключиться к вашему компьютеру из другого местоположения через Интернет, необходимо правильно настроить маршрутизатор. Маршрутизатор выступает в роли распределителя вашего сетевого трафика. Если вы не укажете на нем куда перенаправлять трафик удаленного рабочего стола, ничего не будет происходить и ваше удаленное подключение не будет работать. Таким образом, вы должны создать перенаправление портов или запись виртуального сервера для соответствующих портов к IP адресам желаемого компьютера. В дальнейшем, когда входящий трафик будет поступать из Интернета на эти порты, ваш маршрутизатор будет перенаправлять его на компьютер и сервер удаленного рабочего стола будет отвечать.

В зависимости от вашего протокола, используйте один из следующих портов (или области портов):

  • RDP использует TCP порт 3389.
  • VNC использует порты начиная с 5900 (каждое удаленное соединение к серверу использует отдельный порт; дисплей 1 использует порт 5901, дисплей 2 использует порт 5902, и т.д.). Лучше всего, поэтому, будет определить области портов (таких как 5900 - 5905), когда вы создаете перенаправление или запись для виртуального сервера.

Для того, чтобы настроить маршрутизатор, вы можете использовать его веб-интерфейс, введя в адресной строке браузера его IP адрес. Затем необходимо перейти на страницу Виртуальные серверы или Перенаправление портов. Возможно, имя записи уже имеется, тогда его можно выбрать из выпадающего списка, а если нет - можно вручную ввести IP адрес компьютера, кроме того, необходимо ввести частный и публичный порт (оба одинаковые) или область портов и нажать кнопку Сохранить.

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

Если имеется множество компьютеров, которыми вы хотите управлять удаленно через Интернет с использованием VNC, то вам необходимо создать отдельную запись для каждого компьютера. Убедитесь, что каждый компьютер использует свой порт, который представлен номером дисплея или туннеля, когда вы запускаете команду vncserver, например, в Linux. Так же необходимо убедиться, что каждая запись перенаправляется на другой IP адрес.

Статьи на эту тему:

Безопасность VNC соединений

Обмен паролями между клиентом и сервером VNC всегда шифруется, однако, все, что передается после пароля - нешифрованное. Это не имеет большого значения, если управление компьютером выполняется в безопасной (локальной) сети. Иное дело, когда выполняется удаленное подключение через Интернет. В этом случае необходимо убедиться, что соединение зашифровано целиком. Это защищает как от хакеров, так и от нежелательных соглядатаев, которые могут перехватить трафик в то время, как он будет передаваться между сервером и клиентом в больших объемах.

Один из путей создания безопасного туннеля между клиентом и сервером для пропуска в нем VNC трафика, это установка Secure Shell (SSH) соединения между ними. Для этого вы должны установить SSH сервер на компьютеры, к которым вы хотите организовать удаленный доступ, и SSH клиентов на компьютеры, с которых вы будете выполнять удаленное подключение. В некоторых случаях вы можете установить и сервер и клиента вместе, на каждом компьютере. На компьютерах под управлением Windows вы можете скачать и установить freeSSHd для сервера и PuTTY для клиента (оба имеют графический интерфейс). Для машин под управлением Linux, попробуйте использовать OpenSSH.

Перед тем, как вы попытаетесь установить SSH соединение, убедитесь, что маршрутизатор настроен для перенаправления трафика и межсетевой экран разрешает его. Для SSH по умолчанию используется 22 порт TCP. Если производится подключение через Интернет, настройте перенаправление портов или запись виртуального сервера (подобно тому как обсуждалось ранее для VNC трафика) для этого порта на маршрутизаторе, к которому подключен принимающий соединение компьютер. Откройте порты на клиентском и серверном компьютере как обсуждалось в предыдущей части.

После установки SSH сервера создайте частный и публичный ключи и поместите их в правильное местоположение. Для SSH серверов на Linux используйте инструмент OpenSSH для создания ключей. Для компьютеров с Windows вы можете использовать PuTTygen. Для подключения из Windows к Linux запустите PuTTy, перейдите к настройкам SSH туннеля и введите порт VNC, который вы хотите использовать, базируясь на номере дисплея. Затем, в настройках Сессии введите IP адрес машины Linux и нажмите Открыть. На машинах Linux, для создания туннеля, используйте OpenSSH клиент, подключаясь по IP адресу удаленного компьютера. После установки SSH туннеля запустите VNC Вьюер так, как описывалось в предыдущей части, но взамен IP адреса удаленного компьютера введите localhost.

Поддержка "родного" Х дисплея

Теперь, как вы понимаете, VNC соединения по умолчанию используют другой Х дисплей, не используя при этом "родной" дисплей удаленного компьютера (тот дисплей, который физически подключен к удаленному компьютеру). Это может быть достаточно неприятно, если вы работали за компьютером перед тем, как к нему произвели удаленное подключение, и вы хотели бы продолжить работу с теми приложениями, которые запустили на самОм удаленном компьютере. В данном случае, Один из легчайших способов осуществить это - использовать x0vncserver взамен vncserver. Этот вопрос мы обсудим чуть ниже. Другая опция, более объемная, но обеспечивающая лучшую производительность - это использование vnc.so модуля.

Как было отмечено выше, один из простейших путей удаленного подключения к "родному" дисплею - это использование x0vncserver взамен vncserver. В терминале вы можете ввести x0vncserver password = ВАШПАРОЛЬ SecurityType=none. При этом будет запущен прием удаленных соединений на дисплей 0, защищенных паролем, который вы выбрали. Для установки соединения используйте VNC вьюер таким же образом, как обсуждалось в предыдущей части, но здесь есть одно отличие - не нужно вводить номер дисплея после ввода IP адреса.

Получение справки

Мы обсудили как использовать удаленное управление между компьютерами с ОС Linux и Windows. Мы так же настроили наши межсетевые экраны (брандмауэры), чтобы разрешить прохождение трафика удаленных подключений, и маршрутизатор, для перенаправления трафика на "ведомый" компьютер. Дополнительно мы поняли, как обезопасить VNC соединения, которые устанавливаются через Интернет. И наконец, определили, каким образом можно подключиться к "родному" дисплею удаленной машины для того, чтобы видеть именно экран этой машины, а не виртуальный дисплей.

Для получения документации о компонентах Linux вспомните, что вы можете использовать страницы документации, запустив в терминале следующие команды:

  • man vncserver
  • man vncviewer
  • man x0vncserver

Так же не забудьте посмотреть FAQ и страницу поддержки на веб-сайте соответствующего разработчика.

Eric Geier, автор множества книг о компьютерах и сетях, включая книги "Домашняя Сеть. Все в одном. Настольное руководство для чайников" (Wiley 2008) и "100 вещей, которые вам необходимо знать о Microsoft Windows Vista" (Que 2007).