Как через vpn увидеть компьютеры в сети
Безопасный удаленный доступ к сервисам в локальной сети.
VPN (англ. Virtual Private Network, «виртуальная частная сеть») — обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (например Интернет).
Наиболее популярные решения с открытым исходным кодом для построения виртуальных частных сетей — «OpenVPN» и «IPSec». В релиз ядра Linux 5.6, который состоялся 30 марта 2020 года, вошла еще одна реализация технологии VPN — «WireGuard». Это молодой набирающий популярность проект.
Основные преимущества «WireGuard»:
- Высокая производительность (бенчмарки можно посмотреть тут)
- Простая настройка
- Современная криптография
- Качественный код
В этой инструкции мы настроим VPN-туннель в локальную сеть с помощью «WireGuard» и обеспечим доступ из интернета к узлам LAN с различных устройств.
Адресация в LAN - 192.168.100.0/24, VPN-сети назначим диапазон 10.0.0.0/24.
Для размещения сервера потребуется VPS. При выборе необходимо обратить внимание на технологию виртуализации: предпочтительно KVM, можно XEN, а вот OpenVZ следует избегать. Дело в том, что в WireGuard реализован как модуль ядра, а в OpenVZ ядро очень старое. Я буду использовать самый дешевый виртуальный сервер c операционной системой Ubuntu 20.04 (KVM 512 МБ RAM 20 ГБ SSD 1 CPU - такая конфигурация вполне подойдет).
Залогинимся на сервер с правами пользователя root и выполним следующие команды:
Создадим конфигурационный файл /etc/wireguard/wg0.conf со следующим содержимым:
[Interface] Address = 10.0.0.1/24 PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE ListenPort = 51820 PrivateKey = <SERVER_PRIVATE_KEY>Параметры PostUp/PostDown содержат правила iptables, которые будут применены при запуске/остановке сервиса. Обратите внимание на название сетевого интерфейса — оно должно соответствовать общедоступному сетевому адаптеру, в моем случае это eth0. Вывести список адаптеров можно командой:
Выберите из списка тот, которому соответствует внешний IP-адрес. <SERVER_PRIVATE_KEY> - заменяем содержимым файла /etc/wireguard/privatekey.
Запустим VPN-сервис и добавим его в автозагрузку:
Убедимся, что служба запустилась корректно:
Если ваш роутер поддерживает WireGuard (Zyxel KeeneticOS >=3.3, Mikrotik RouterOS >=7.1beta2, OpenWRT) — можно настроить VPN-клиент прямо на нем. Я буду использовать для этой цели сервер Ubuntu 20.04 (локальный адрес 192.168.100.7).
Первый этап настройки аналогичен конфигурации серверной части. Выполняем с правами root-пользователя:
[Interface] PrivateKey = <PEER_LAN_PRIVATE_KEY> Address = 10.0.0.2/32 PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o wlp2s0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o wlp2s0 -j MASQUERADE [Peer] PublicKey = <SERVER_PUBLIC_KEY> Endpoint = <SERVER_IP>:51820 AllowedIPs = 10.0.0.0/24 PersistentKeepalive = 20<PEER_LAN_PRIVATE_KEY> — заменяем содержимым /etc/wireguard/privatekey, <SERVER_PUBLIC_KEY> — /etc/wireguard/publickey с сервера, <SERVER_IP> — внешний IP-адрес сервера. Правила iptables в PostUp/PostDown необходимы для того, чтобы наш клиент выступал в роли шлюза в LAN. Указываем в правилах тот сетевой интерфейс, на который назначен локальный адрес (192.168.100.7, в моем случае это wlp2s0). Уточните его путем исполнения команды:
В параметре AllowedIPs задаются адреса, маршрутизация к которым будет осуществляться через VPN-интерфейс. В поле PersistentKeepalive — периодичность проверки доступности соединения в секундах. Запускаем службу и добавляем в автозагрузку:
На сервере добавляем в файл /etc/wireguard/wg0.conf блок:
Где <PEER_LAN_PUBLIC_KEY> — /etc/wireguard/publickey клиента. Перезапустим службу и убедимся, что все настроено корректно:
Проверим теперь с клиента:
Сборки WireGuard доступны для основных платформ: Linux, Windows, Mac, Android, FreeBSD, OpenWRT и др. Рассмотрим настройку VPN-клиента на десктопах под управлением Linux и Windows, а так же на Android-смартфоне.
На клиенте выполняем с правами root:
Конфигурационный файл /etc/wireguard/wg0.conf:
<PEER_1_PRIVATE_KEY> — заменяем содержимым /etc/wireguard/peer_1_privatekey, <SERVER_PUBLIC_KEY> — /etc/wireguard/publickey с сервера.
Обратите внимание на строку «AllowedIPs = 0.0.0.0/0» - в данной конфигурации весь трафик будет маршрутизироваться через VPN-адаптер. Это может понадобиться для сокрытия реального IP при работе в интернет или для защиты трафика при подключении к недоверенным сетям (например публичные Wi-Fi точки доступа). В этом случае указываем «DNS = 8.8.8.8» (8.8.8.8 - DNS-сервер Google), чтобы DNS-запросы выполнялись через защищенное VPN-соединение.
Если VPN-туннель необходим только для доступа к LAN 192.168.100.0/24 - убираем строчку «DNS = 8.8.8.8» и в параметре AllowedIPs меняем «0.0.0.0/0» на «10.0.0.0/24, 192.168.100.0/24».
На сервере в конфигурационный файл /etc/wireguard/wg0.conf добавляем блок:
. [Peer] PublicKey = <PEER_1_PUBLIC_KEY> AllowedIPs = 10.0.0.3/32Где <PEER_1_PUBLIC_KEY> — содержимое файла /etc/wireguard/peer_1_publickey клиента и перезапускаем службу:
Возвращаемся на клиент и проверяем доступность узлов в LAN через VPN-туннель:
Всем салют и побольше новогоднего настроения! В этой статье хочу продолжить тему подключения выделенных каналов связи. Если помните, в прошлом материале мы уже должным образом сконфигурировали роутер , а теперь пора взяться за большого брата (ПК).
Поэтому сейчас поговорим о том, как настроить VPN на Windows 7 и 10, но чтобы при этом работал интернет. Изучив поисковую статистику я понял, что многие люди заходят в тупик в этом довольно простом вопросе.
Содержание статьи:
Как правильно настроить сетевую карту для VPN
Как прописать маршруты для интернета и VPN
Как проверить работу интернета и VPN-канала
Ну что же, давайте разбираться вместе. Рассматриваемая схема подключения будет такой: сетевая карта компьютера подключена кабелем напрямую к VPN-модему, который работает в режиме "Router".
Хотя, по сути, разницы никакой нет, он может быть подключен и в общую локальную сеть , в составе которой уже имеется роутер, на котором организовано выделенное подключение. Естественно, что наш ПК также настроен на работу и в локалке. Он состоит в рабочей группе Windows, имеет папки с общим доступом, а также пользуется удаленными принтерами .
Проблема заключается в том, что для работы программ, которые пользуется VPN-каналом, в графе "Основной шлюз" сетевой карты нужно прописать IP-адрес роутера с этим каналом. Но тогда пропадает интернет. Получается, что надо постоянно менять эти адреса, что неудобно:
Далее все действия будут рассматриваться на примере Windows 10, но и на младших системах все будет аналогично. Значит, так, давайте еще раз пройдемся по имеющейся конфигурации:
192.168.1.1: IP-адрес модема, который раздает общий интернет.
192.168.0.1: IP-адрес роутера, на котором настроен VPN-канал.
10.30.254.56: IP-адрес сервера, на который нужно попасть с VPN.
По поводу третьего пункта я думаю все понятно, поскольку если вы организовываете такое подключение, то в нем всегда есть ваша сторона и та, с которой вы, таким образом,связываетесь.
Конкретно в нашем примере как раз-таки указан адрес сервера системы межведомственного документооборота ЛАИС.СМДО. Думаю, многие белорусские пользователи знают о чем сейчас идет речь.
Теперь возвращаемся к параметрам сетевой карты компьютера на Win 10 и жмем кнопку "Дополнительно":
Затем выбираем "Добавить" и вписываем IP-адрес, который будет находиться в одной подсети с роутером, который раздает VPN. Маска подсети прописывается здесь автоматически:
По итогу должна получиться вот такая картинка. Изучаем очень даже внимательно:
Теперь сохраняем все внесенные изменения в сетевые настройки и открываем от имени администратора командную строку. В ней пишем следующую комбинацию:
route add -p 10.30.254.56 mask 255.255.255.255 192.168.0.1.
Где route add: команда добавления маршрута.
-p: параметр постоянного маршрута. То есть, он сохранится после перезагрузки компьютера.
10.30.254.56: внешний сервер, на который нам нужно попасть через VPN.
255.255.255.255.255: маска сети для одного рабочего места.
192.168.0.1: IP-адрес основного шлюза, то есть роутера с VPN.
Теперь можно ввести команду route print , чтобы проверить правильность введенныхданных:
Вот и все, друзья, теперь осталось лишь пропинговать удаленный сервер , чтобы убедиться в правильности настроек. Я же, например, проверяю это дело с помощью ведомственной программы, которая уже установлена на компьютере:
Как видите, тема о том, как настроить VPN на Windows 7/10 раскрыта и интернет при этом также работает. Да и секретарю на работе стало гораздо легче работать. Теперь можно секретную почту принимать одновременно с просмотром ленты в Одноклассниках. 😉 Кстати, если у вас почему-то вышеприведенная схема не сработает, попробуйте ввести в командной строке вот такую комбинацию: Как видите, тема о том, как настроить VPN на Windows 7/10 раскрыта и интернет при этом также работает. Да и секретарю на работе стало гораздо легче работать. Теперь можно секретную почту принимать одновременно с просмотром ленты в Одноклассниках. 😉 Кстати, если у вас почему-то вышеприведенная схема не сработает, попробуйте ввести в командной строке вот такую комбинацию:В любом случае знайте, что постоянные маршруты без проблем удаляются командой route -f . Ну что же, делитесь своим мнением по поводу данного материала, рассказывайте про свой опыт, думаю, будет интересно.
Все чаще возникают ситуации, в которых пользователям, находящимся в пути, приходится обращаться к домашней сети и сетевому хранилищу. Для минимизации рисков в незашифрованных беспроводных сетях при подобных действиях рекомендуется организовать «виртуальную частную сеть» (Virtual private network, VPN). Преимущество подобного VPN-соединения в сравнении с решением, использующим динамическую систему доменных имен: вы используете прямую связь со всей вашей домашней сетью, такую же, как если бы вы сидели дома, в рабочем кабинете. В этой статье мы расскажем, как настроить функцию VPN в сетевом хранилище Synology и сконфигурировать устройства.
1 VPN-соединение с сетевым хранилищем Synology
Важный момент: если вы используете брандмауэр сетевого хранилища, следует открыть указанные выше порты. Кроме того, в диалоговом окне «VPN-сервер» необходимо выбрать пункт «Привилегии» и ограничить права пользователей, которым запрещен доступ по VPN. Во избежание этих действий в будущем выберите в левом столбце раздел «Общие настройки» и снимите галочку в пункте «Предоставить права доступа по VPN для новых пользователей». Пользователи, имеющие права доступа по VPN, перечислены в пункте «Протокол». Системы сетевого хранения данных производства компаний Asustor и Qnap также поддерживают доступ по VPN. Настройка практически одинакова: запуск приложения (Asustor — «VPN-сервер», Qnap — «QVPN-сервис»), выбор типа VPN и ввод необходимой информации.
2 Настройка переадресации портов на маршрутизаторе
Чтобы маршрутизатор мог пересылать пакеты данных, поступающие из Интернета, к требуемым устройствам, он должен «знать», какими сетевыми клиентами являются эти устройства. Для этого на нем необходимо настроить переадресацию портов. Это осуществляется с помощью маски конфигурации маршрутизатора. Откройте веб-браузер и зайдите на ваш роутер через веб-интерфейс.
Затем щелкните по пункту меню «Интернет | Разрешения» и активируйте вкладку «Переадресация портов» для настройки переадресации. Перейдите вниз, к пункту «Добавить разрешенное устройство», и выберите ваше сетевое хранилище. После нажатия кнопки «Новое разрешение» выберите опцию «Разрешение портов», затем в пункте «Применение» выберите «Название фильтра» и впишите название, например «VPN-сервер». В разделе «Протокол» выберите «UDP», в пунктах «Порт к устройству», «До порта» и «Желаемый внешний порт (IPv4)» введите число «500» и подтвердите ввод, нажав «OK». Затем аналогичным образом настройте переадресацию UDP-портов 1701 и 4500. Сохраните настройки, щелкнув по кнопке «OK».
3 Создание VPN-соединения с Windows 10
После проведения подготовительных действий можно проверить, все ли получилось. В идеальном случае первый доступ по VPN следует осуществить с локального компьютера, так как в случае возникновения проблем у вас есть доступ как к маршрутизатору, так и к сетевому хранилищу, и следовательно, будет возможность оперативного внесения изменений. При работе с Windows 10 настройка весьма проста. Выберите в разделе «Параметры» пункт «Сеть и Интернет», в левом столбце выберите «VPN», щелкните по ссылке «Добавление VPN-подключения» и введите необходимые данные. В меню «Поставщик услуг VPN» выберите «Windows (встроенные)», имя подключения можно указать любое, например «VPN-NAS». В пункте «Имя или адрес сервера» введите динамический DNS-адрес вашего сетевого хранилища Synology, в «Тип VPN» выберите «Автоматически». Подтвердите ввод кнопкой «Сохранить», затем кликните по иконке VPN и выберите «Подключить».
4 Настройка VPN на мобильных устройствах
Доступ к сетевому хранилищу через VPN также возможен и с мобильных устройств. Однако их настройка немного сложнее, чем в Windows 10.
Android: откройте «Настройки», в пункте «Сетевые подключения» нажмите «Дополнительные настройки» и добавьте новое подключение, нажав на «+». После этого в разделе «Тип» выберите пункт «L2TP/IPSec PSK», введите «Адрес сервера» (динамический DNS-адрес вашего хранилища), а также «IPsec Pre-shared Key» (то есть заданный в шаге 1 пароль), далее нажмите «Сохранить». В завершение коснитесь нового подключения, введите имя пользователя и пароль, активируйте опцию «Сохранить данные учетной записи» и нажмите «Подключить».
iOS: перейдите в «Настройки | Основные | VPN | Добавить VPN» и в пункте «Тип» выберите «L2TP». После этого введите данные в «Описание», в пункте «Сервер» укажите динамический DNS-адрес вашего сетевого хранилища и в завершение, в пункте «Секретный пароль» — заданный на шаге 1 пароль. Данные доступа укажите в пунктах «Логин» и «Пароль». Затем нажмите «Готово», вернитесь к предыдущему диалоговому окну и установите переключатель в разделе «Конфигурация VPN» в положение «Вкл» для установки соединения.
Если вы впервые настраиваете свою систему то вам, вероятно, будет важно знать ту последовательность действий, которая приведет к успеху.
Ниже представлена последовательность шагов, которая даст вам уверенность в том, что вы на верном пути.
Большинство пользователей потратят на подключение 15-30 минут своего времени в зависимости от ИТ-подготовки.
Постарайтесь не отступать от последовательности, чтобы не запутаться.
Не отвлекайтесь от процесса, старайтесь понимать что именно вы делаете и каким должен быть результат каждого действия.
PS: Если вы читаете этот раздел уже после "некоторых экспериментов", то имеет смысл очистить все настройки на сайте в разделе "Дополнительно", а также на ваших устройствах и начать все заново.
В этом примере приведены вымышленные данные. В вашем случае, используемые адреса устройств будут другими.
Этот пример написан для того, чтобы вы могли сопоставить схему и текст, а затем применить полученные знания к своей задаче.
Исходные данные
Итак, мы хотим получить удаленный доступ к компьютеру с ОС Windows с другого компьютера с ОС Windows через Интернет. Будем считать, что оба компьютера обладают "серыми" адресами от операторов связи и напрямую из сети Интернет не доступны.
Давайте представим, что мы хотим получить удаленный доступ с Компьютера 1 (дом) на Компьютер 2 (офис). Для этого мы будем использовать подключения двух компьютеров с протоколом OpenVPN, систему VPNKI и штатное средство Windows для удаленного доступа к компьютеру под названием "Подключение к удаленному рабочему столу".
Для этого мы подключим одно VPN соединение с домашнего компьютера, а другое VPN соединение с офисного комьютера. Таким образом, схема подключений будет выглядеть следующим образом. Адреса и имена подключений мы рассмотрим позднее, а пока просто схема:
Шаг 1. Установка программ OpenVPN на оба компьютера
Результат: OpenVPN установлен на оба компьютера
Шаг 1.0. Скачайте с сайта проекта OpenVPN последнюю версию этой программы.
Например нас интересует версия для Windows7/8/8.1 и т.д..
Шаг 1.1. Установите эту программу на оба компьютера. При установке, вероятнее всего, потребуются права администратора системы Windows
На этом шаге установщик может спросить к какой сети ("Общественной" или "Частной" в терминах Windows) следут отнести новое сетевое подключение.
Тут выбирать вам, но запомните свой выбор, так как он напрямую касается раздела в правилах межсетевого экрана Windows, с которым вам еще предстоит иметь дело.
Шаг 1.2. После установки запустите ярлык программы OpenVPN GUI на обоих комьютерах и переходите к настройкам на сайте VPNKI.
Шаг 2. Создаем туннели на сайте VPNKI
Результат: Туннели созданы, процесс OpenVPN на сервере запущен, скачан профиль подключения на оба компьютера
Шаг 2.0. На личной странице сайта создайте два туннеля. Запишите куда-нибудь IP адреса, выданные вам системой для обоих туннелей
Шаг 2.1. Запустите процесс OpenVPN на сервере, установив галочку, скачайте и сохраните профиль подключения (файл с расширением .ovpn) на оба компьютера. Этот профиль будет использоваться клиентскими программами OpenVPN на обоих компьютерах для установления подключения. Обратите внимание на порт, выданный вам системой - он уникален и выделен только для вас. Его номер также содержится в скачанном вами профиле.
Важно! Скриншот немного устарел, так как с февраля 2021 мы запустили поддержку OpenVPN как поверх протокола UDP, так и через TCP. У этих вариантов есть свои плюсы и минусы. Чуть более подробно смотрите здесь.
Все готово для подключения. попробуем
Шаг 3. Подключение VPN туннелей
Результат: Оба туннеля подключены
Шаг 3.1. Импортируйте загруженные профили в программу OpenVPN на обоих компьютерах. Для этого запустите программу OpenVPN GUI (хотя она уже должна быть запущена) и найдите ее ярлычок в системном трее Windows, рядом с часами.
Нажмите на ярлычок правой кнопкой мыши и выберите пункт "Импорт профиля" (Import file). Затем выберите сохранный профиль на своем компьютере.
Шаг 3.2. Теперь давайте подключим туннели на обоих компьтерах. При установлении соединения вас попросят ввести логин и пароль, который вы назначили туннелю в личном кабинете сайта VPNKI. Естественно, на каждом компьютере мы указываем свое собственное имя и пароль. В данном случае скриншот показывает подключение Компьютера 1. На втором компьютере имя будет user10279.
После успешного подключения вы увидите в системном трее Windows зеленый значок OpenVPN, который означает, что подключение успешно.
Если так, то имеет смысл посмотреть как оба соединения выглядят на стороне сервера VPNKI. Для этого перейдите в пункт меню "Статус подключений" в личном кабинете сайта. На сайте вы увидите приблизительно такую картину.
Шаг 4. Пинг удаленного компьютера
Результат: Пинг удаленного компьютера успешен
Шаг 4.1 Если два туннеля работают, то самое время проверить связь двух компьютеров между собой. Начать имеет смысл с выполнения команды ping на Компьютере 1. Это важный шаг и не стоит им пренебрегать.
В меню Windows - "Пуск" - "Выполнить" напишите три буквы - cmd
Это запустит командную строку Windows и в ней мы воспользуемся командой ping. Напишите там ping и далее адрес удаленного компьютера (в нашем примере Компьютера 2 - 172.16.35.182). Команда будет выглядеть так: ping 172.16.35.182
Если вы все делали по инструкции, то пинг, вероятнее всего, будет неуспешен. И это не удивительно, так как при установке OpenVPN ваш компьютер создал новое сетевое подключение, а правила межсетевого экрана должны все заблокировать.
На время тестов отключите межсетевой экран на принимающей стороне (Компьютер 2) и после этого пинги должны быть успешны.
Такой же пинг вы можете выполнить и из личного кабинета системы, перейдя на страницу "Инструменты"
Шаг 4. Доступ к удаленному рабочему столу компьютера
Результат: Вы получили доступ к удаленному рабочему столу Компьютера 2
После того, как пинг оказался успешен можно переходить к удаленонму доступу к рабочему столу.
Шаг 4.1. На Компьютере 2 вам потребуется разрешить удаленный доступ. Для этого перейдите в "Свойства системы" и установите галочку в разделе "Удаленный помощник". На разных ОС Windows этот пункт меню может выглядет по-разному, но смысл его тот же.
Шаг 4.2. На компьютере 1 запустите программу подключения к удаленному рабочему столу. Этот пункт меню находится - "Пуск" - "Программы" - "Стандартные" - "Подключение к удаленному рабочему столу". В открывшемся окне впишите IP адрес Компьютера 2 - 172.16.35.182
Нажмите "Подключить" и после этого вы должны увидеть окно для ввода логина и пароля, но уже в систему Windows Компьютера 2.
Надеемся, что все получилось успешно.
Вы успешно прошли все пункты и получили удаленный доступ к рабочему столу Windows на удаленном компьютере!
Какие могут быть сложности после установления соединения?
- так как в примере использовалось подключение по протоколу OpenVPN, то следует иметь ввиду, что в системе VPNKI мы принудительно обрываем соединения OpenVPN в 00-00 по Московскому времени. Это связано не только с OpenVPN, но и со всеми другими протоколами, так как слишком много сессий VPN на нашем сервере зависает из-за нестабильности Интернета. Это означает, что удаленный Компьютер 2 потеряет соединение с сервером VPNKI в 00-00 и должен смочь переустановить это соединение автоматически.Увы, это не всегда происходит успешно, поэтому:
1. По слухам :) переподключение без всплывающего окна с вводом логина и пароля возможно при использовании OpenVPN как системной службы Windows, а не как программы пользователя.
- может не хватать скорости для передачи трафика удаленного рабочего стола. Это решается путем перехода на другой тарифный план в системе VPNKI
Читайте также: