Удаленный запуск и управление вашим компьютером через Интернет

В наши дни очень популярна удаленная работа. Все чаще компании выбирают эту форму работы, потому что она просто дешевле. Для сотрудника это экономит время и деньги. Подключение может выполняться в любом месте и в любое время. Однако работодателю не нужно тратить деньги на организацию работы. Это также позволяет избежать возможного конфликта между сотрудниками, если им придется работать в одном офисе.

Возможность работать удаленно на компьютере полезна не только для компаний. Иногда такая возможность нужна и для обычного пользователя. Иногда, находясь вне дома, полезно не только получать доступ к файлам, которые мы имеем на локальном компьютере, но также и к приложениям. Стоит знать об этой возможности тем более, что конфигурация не очень сложная. Конечно, есть определенные условия, которые мы должны выполнить, чтобы сделать метод, представленный ниже в статье, работать. Прежде всего, мы должны иметь открытый адрес и порты 22 и 3389, которые не блокируются оператором. Компьютер, которым мы хотим управлять через Интернет, должен поддерживать функцию WoL (Wake on LAN).

Удаленный доступ к компьютеру, который включен — очень простой вопрос. TeamViewer — одно из приложений, которое не требует какой-либо конфигурации для правильной работы. Мы пройдем более длинный, но более безопасный путь. Мы настроим сервер служб удаленных рабочих столов по умолчанию, доступный в Windows (RDP). Для сравнения я также покажу альтернативное решение в виде различных типов программ, поддерживающих протокол VNC. Почему я предпочитаю использовать RDP и VNC вместо TeamViewer? Потому что никакая часть трафика не проходит через сторонние серверы. Я не обвиняю компанию разработчиков TeamViewer или подобное программное обеспечение в любых злонамеренных намерениях, но в эпоху широкомасштабного наблюдения я предпочитаю риск подслушивания до минимума.

Вам интересно, почему я рекомендую протокол RDP, когда есть так много альтернатив? Прежде всего, продукт Microsoft гораздо более интегрирован с системой, чем большинство других бесплатных серверов и клиентов служб удаленных рабочих столов. Вы можете использовать те же учетные записи, которые существуют в вашей системе. RDP может создать отдельный сеанс. Благодаря этому пользователь, смотрящий на монитор, подключенный к компьютеру, с которым мы подключаемся, не сможет увидеть действия, выполняемые нами. Он также имеет большее количество возможностей для адаптации качества передаваемого изображения к скорости связи. Последнее и самое важное для меня преимущество — это шифрование соединения. RealVNC и подобные программы в бесплатной версии шифруют только этап аутентификации. Остальная часть передачи уже отправлена в открытой форме. В эпоху современных цифровых угроз это не интересная перспектива. К сожалению, нет розы без шипов. Хотя в операционной системе Windows конфигурация как VNC, так и RDP очень проста, ситуация в Linux сложна. В системах с логотипом пингвинов на борту только VNC достаточно прост в настройке. Однако несколько осложнений связаны с протоколом RDP.

Если целевой компьютер включен, практически нет проблем, которые мешают нам получить доступ. Хуже (и это обычно бывает), когда наша машина выключена. Затем мы должны использовать технологию WoL. На данный момент существует определенное осложнение, так как мы обычно не можем отправлять WoL-пакеты через Интернет. Вам не нужно использовать следующий способ, когда ваш маршрутизатор позволяет перенаправлять «волшебный пакет» на широковещательный адрес. В противном случае мы должны дополнительно иметь постоянно работающее устройство в локальной сети, к которому мы можем войти, например, через SSH. .

Принцип действия идеи, обсуждаемой в этой статье, представлен ниже:

Начнем с теории пробуждения

Когда компьютер выключен, не все компоненты не имеют питания. Один из тех компонентов, кто работает все время, — это сетевая карта. При совместимости с компьютерами WoL (Wake on LAN) сетевая карта постоянно прослушивает соответствующее сообщение, называемое «волшебным пакетом». Когда такая строка
принимается, сетевая карта обычно запускает компьютер.

В большинстве случаев WoL отключается по умолчанию. Почему? Прежде всего, это может привести к нарушению безопасности сети. Однако, когда дело доходит до мобильных устройств, постоянно работающая сетевая карта может значительно сократить срок службы батареи. Поэтому стоит включить эту функцию только тогда, когда она нам действительно нужна.

Эта опция называется по-разному. Наиболее распространенным является устройство Power on By PCI / PCIE. Чтобы мы могли запустить компьютер через локальную сеть, мы должны изменить статус этого параметра с Disabled на Enabled. С этого момента наша сетевая карта будет прослушивать соответствующий сигнал.

Волшебный пакет — как он работает?

Общее название WoL-пакетов исходит из их конкретной конструкции. Это обычный Ethernet-кадр. Магические пакеты отправляются на уровне второй модели OSI (если вы хотите узнать подробности, я обращаюсь к курсу Packet Tracera ). Это делает их независимыми от IP-адреса, который, в конце концов, не имеет компьютера.

Типичный пакет (фактически кадр) WoL очень прост и мал. Он состоит из 102 байтов и в основном двух частей. Первый фрагмент содержит шесть бит, заполненных теми же двоичными числами. Второй — это шестнадцатикратный повторный MAC-адрес компьютера, который мы хотим включить. Такой кадр отправляется на широковещательный адрес локальной сети. Он распространяется на все компьютеры в данной сети. Устройства, пакет которых не применяется, игнорируют его. С другой стороны, целевой компьютер, MAC-адрес которого совпадает с адресом, включенным в пакет, запускает процедуру запуска.

Таким образом, мы также объяснили, почему мы не можем запускать компьютер через Интернет, отправив пакет WoL. По общему признанию, кадр может быть упакован в правильный пакет протокола UDP. Он будет маршрутизирован правильно, дойдя до нашей локальной сети. Впрочем, что тогда? Многие маршрутизаторы (по соображениям безопасности) блокируют отправку пакета из глобальной сети в широковещательный адрес локальной сети. В самых дешевых конструкциях чаще всего мы не сможем перенаправлять трафик на широковещательный адрес. Пакет будет отклонен нашим маршрутизатором.

Мы настраиваем маршрутизатор

Если наш маршрутизатор не позволяет перенаправлять пакеты на широковещательный адрес, у нас должно быть устройство, работающее непрерывно в локальной сети. С ним можно связаться в любое время. Вы можете использовать для этой цели, например: Raspberry PI или встроенный телефон с занятой шиной и SSH-сервером. На этом устройстве мы должны настроить фиксированный IP-адрес. Необходимо, чтобы у нас не было проблем с соответствующей переадресацией портов. Дальнейшая часть конфигурации очень проста. Нам нужно установить программу, которая может отправлять магические пакеты. Таких приложений много. Одним из самых популярных является wakeonlan. В случае Android и BusyBox (на мобильном телефоне) у нас есть приложение EtherWake. В качестве аргументов указывается только MAC-адрес целевого компьютера.

Для того, чтобы мы могли подключиться к нашему «окну» в локальной сети, мы должны правильно маршрутизировать порты. Эта концепция уже появилась раньше, но что это значит? В домашней сети мы обычно имеем один общедоступный адрес. Все компьютеры в нашей локальной сети видны по этому адресу. Маршрутизатор использует технологию NAT для «перевода» трафика в сеть и из нее. Давайте подумаем о том, что произойдет, если мы хотим подключиться к SSH-серверу, расположенному в нашей локальной сети, с уровня Интернета? Мы должны будем предоставить наш публичный адрес в качестве адреса сервера. Однако, как маршрутизатор знает, о каком компьютере в нашей сети мы говорим? Мы должны объяснить это ему, настроив переадресацию портов соответствующим образом.

Перенаправление портов в маршрутизаторе Netiaspot

Мы видим примерное правило на рисунке выше. Это означает, что любой трафик, поступающий в порт 22 общего сетевого адреса, должен быть направлен на тот же порт локального устройства с IP-адресом 192.168.1.200. Порт 22, ответственный за сервис SSH, мы должны перенаправить на наше постоянно работающее устройство, такое как Raspberry Pi или разорванный смартфон. Мы должны настроить аналогичное правило для портов 3389 (RDP) и 5900 и 5800 (VNC). Но в этом случае трафик должен быть перенаправлен на правильный компьютер, с которым мы будем связываться. Благодаря этому маршрутизатор будет знать, куда направлять пакеты, которые он получит, к общедоступному адресу нашей сети.

Однако, что, если мы хотим иметь доступ к нескольким компьютерам из нашей локальной сети? Мы не можем перенаправлять трафик с порта, например 3389, одновременно на два компьютера. В этом случае на втором компьютере нам нужно установить другой диапазон портов. В случае VNC изменение этого типа вещей довольно просто, потому что мы можем сделать это с уровня GUI. Мы можем сделать это только путем редактирования реестра. Перейти к клавише

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp

Затем мы должны найти переменную DWORD с именем PortNumber и изменить ее содержимое. Затем мы должны перенаправить трафик с новых портов на второй компьютер в локальной сети.

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

Конфигурация без IP-адреса

Я предполагаю, что вы являетесь пользователем обычного домашнего Интернета, например, например: Neostrada. В этом случае у вас есть общедоступный динамический IP-адрес. Значение публичного слова уже объяснено. Что означает, что адрес динамичен? Это означает, что IP-адрес не назначается нам постоянно. Это может измениться. Например: сегодня оператор назначил нам строку чисел 30.40.50.60, а на следующий день эти числа могут принадлежать нашему соседу. Это затрудняет подключение к нашей локальной сети, потому что мы не можем предсказать, какой адрес мы получаем от оператора.

Это очень простое решение этой проблемы. Все, что вам нужно сделать, это создать бесплатный домен на www.noip.com . Далее, мы должны сообщить маршрутизатору (большинство устройств, даже дешевые), использовать такой вариант и использовать такой-то динамический провайдер домена и входить в систему с использованием таких логинов и паролей. Есть много поставщиков такого рода услуг. Я рекомендую www.noip.com из-за отсутствия проблем, бесплатной регистрации и очень простой и бесплатной конфигурации до 5 хостов.

После регистрации нового домена на noip.com все, что вам нужно сделать, это ввести правильные настройки в свой маршрутизатор. Опция, связанная с этой опцией, обычно называется Dynamic DNS или DDNS.

Мы настраиваем RDP в Windows

RDP — Службы удаленных рабочих столов — служба, присутствующая в системах Windows с 1998 года. Первоначально клиент был выпущен в качестве дополнения к системе, а затем неизбежно сопровождал последующие выпуски системы компании Редмонд. По умолчанию удаленный доступ к компьютеру отключен. Разрешение удаленного входа в систему очень просто. Все, что вам нужно сделать, это войти в панель управления (традиционная, старая школа). Мы выбираем группу параметров «Система и безопасность». Следующий шаг — «Система». Нажмите «Изменить» и перейдите на вкладку «Удаленный». Затем мы разрешаем удаленные подключения к этому компьютеру и выбираем пользователей, которые могут подключаться удаленно.

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

Конфигурация RealVNC в Windows

Конфигурация RDP проста, но VNC еще более банальна, чем есть. Установщик, загруженный с официального веб-сайта проекта, ведет нас стандартными процедурами. После установки программного обеспечения нам нужно открыть конфигуратор сервера VNC. Будет запущен мастер, позволяющий получить ключ продукта. Если раньше у вас не было этой программы, мы должны выбрать первый вариант — «Посетите наш веб-сайт, чтобы получить лицензионный ключ». После бесплатной регистрации мы получим ключ продукта, который должен быть введен на следующем экране. Затем нам нужно проверить, что опция «Unencrypsets connections приемлема», поскольку бесплатная версия не позволяет шифровать. Затем мы вводим пароль, который мы будем использовать для входа на этот компьютер. На этом этапе конфигурация завершена. Программа приветствует вас и информирует вас о том, что она готова принять звонки.

Мы тестируем решение на практике

Основная конфигурация выполнена. Давайте теперь рассмотрим, как будет выглядеть процедура запуска удаленного компьютера, а затем подключение к нему через удаленный рабочий стол.

В самом начале, используя протокол SSH (если на машине, с которой мы подключаемся, мы установили Windows, мы можем использовать Putty), мы подключаемся к нашему «постоянно работающему» устройству. В качестве имени хоста мы предоставляем домен no-ip, который мы предварительно настроили. Мы выдаем команду Etherwake или wakeonlan, где мы указываем MAC-адрес компьютера, который мы хотим запустить в качестве аргумента. Используя команду ping, мы можем проверить, уже ли рабочая станция уже запущена. Когда мы начинаем получать ответы с нашего целевого компьютера, мы можем попытаться связаться с ним. Запущено подключение удаленного рабочего стола. Мы указываем имя нашего домена no-ip как имя хоста. Если мы все правильно настроили, нас попросят ввести имя пользователя и пароль для целевого компьютера.

Дополнительные параметры конфигурации

Когда мы закончим работу с удаленным компьютером, и мы хотим отключить его, мы можем встретиться с неприятным сюрпризом. По умолчанию мы не сможем легко отключить удаленный компьютер через меню «Пуск». Опция отключения и перезагрузки компьютера заменяет кнопку «Отключить». Существует несколько решений этой проблемы.

Мы можем использовать командную строку для выключения машины. Команда shutdown с соответствующими переключателями в большинстве случаев решает проблему. Если мы боимся командной строки, мы можем вызвать окно «Выполнить» (комбинация клавиш: Win + R). В поле редактирования мы вводим shutdown -ii и нажимаем Enter. Затем будет отображен удобный графический интерфейс пользователя, который позволит нам выбрать способ и причину остановки рабочей станции остановки рабочей станции.

Другой способ — нажать «Пуск» -> «Безопасность Windows». Появится экран, аналогичный экрану, полученному нажатием CTRL + ALT + DEL. Здесь также будет доступна опция отключения компьютера.

Если вы хотите разрешить пользователям без паролей удаленного входа, вы можете сделать это с помощью групповой политики (gpedit.msc). Однако я не рекомендую это решение, потому что это значительно снижает безопасность нашей сети.

Конфигурация удаленного рабочего стола в Linux (Ubuntu 16.04)

В случае с Linux, например Windows, у нас есть два пути. Мы можем использовать протокол VNC или RDP. Первый вариант определенно проще. В репозитории у нас есть выбор очень большого количества программ, которые предоставляют необходимые нам возможности. Мы, как и в случае с Windows, будем использовать RealVNC. Конфигурация и установка этого программного обеспечения очень проста. Во-первых, мы загружаем версию для нашего дистрибутива с сайта RealVNC. Файлы установки (.deb, .rpm) упакованы в архив tar.gz. В случае Ubuntu, вопреки внешнему виду, лучше использовать терминал и команду dpkg -i package_name.deb. Ubuntu Software иногда вызывает различные странные проблемы при установке пакетов извне репозитория. После перезагрузки компьютера мы запускаем программу, используемую для настройки сервера VNC. Подобно Windows, мы должны ввести лицензионный ключ. Интерфейс выглядит точно так же, поэтому я не буду повторять сам.

Последний шаг, который мы принимаем, чтобы добавить запуск приложения VNC Server. Это очень легко. Запуск Startup Programs. Нажмите на кнопку Добавить. Вы можете ввести имя, которое мы хотим. С другой стороны, мы служим в качестве команды: VNCserver-x11. Таким образом, программа будет запускаться автоматически при запуске системы и будет прослушивать входящие соединения, что дает нам возможность подключения в любое время.

Второй, более сложный вариант — настроить протокол RDP. Во-первых, нам нужно установить программу xrdp с помощью команды:

sudo apt-get install xrdp

Затем мы должны установить другую альтернативу графической среде Unity. Почему? Ну, Unity, расположенный в Ubuntu, просто не работает с сервером xrdp, и мы не можем ему помочь. Для этого мы можем выбрать любую другую развитую среду (например: MATE, KDE, GNOME, Xfce, LXDE). Посмотрим, как выглядит конфигурация, если вы выберете MATE.

Сначала мы устанавливаем MATE с помощью команды

sudo apt-get install mate-core mate-desktop-environment mate-notification-daemon

Затем мы запустим конфигурацию xrdp. Файлы конфигурации этого приложения находятся в каталоге / etc / xrdp. Из ассортимента многих предметов, расположенных там, нас будет интересовать только один: startwm.sh. Этот файл содержит информацию о том, что и как выполнить, когда клиент успешно прошел процесс аутентификации. Мы удаляем последнюю строку. Вместо этого вставьте следующую строку: / usr / bin / mate-session. Благодаря этому после успешного входа в систему будет запущен файл сеанса сопряжения, начинающийся с сеанса MATE.

Когда мы попытаемся подключиться к нашему удаленному компьютеру с помощью опции: «Подключение к удаленному рабочему столу», мы будем приветствоваться следующим экраном:

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

DualBoot и загрузчик

В приведенных выше соображениях мы предположили, что на компьютере установлена только одна операционная система. Однако, что, если и Ubuntu и Windows установлены на компьютере? Как мы хорошо знаем, GRUB не позволяет удаленно выбирать правильную операционную систему. Но неужели мы обречены на доступ только к выбору по умолчанию? Ну, нет. В настоящее время самый популярный загрузчик, среди множества доступных команд и параметров, имеет такую интересную команду, как: grub-reboot. В качестве аргумента он принимает номер опции, которую мы хотим запустить после перезагрузки. Благодаря этому мы можем запустить любую другую операционную систему, установленную на локальном компьютере. пример:

sudo grub-reboot 4

После перезапуска будет отмечен четвертый элемент меню. Стандартная установка обычно соответствует Windows.

Вывод

Вот и все. Описанные выше процедуры позволяют нам запускать и надежно, удаленно подключаться к нашему компьютеру из любой точки Земли. Конечно, эта процедура может быть улучшена. Ничто не мешает вам дополнительно защищать передачу с помощью VPN. Тем не менее, метод, представленный выше (при условии, что мы используем RDP), обеспечивает пользователю легкую и относительно безопасную связь с его домашней сетью.


Leave a reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>