- Локалка через интернет
- Openvpn сервер
- Openvpn клиент
- Объединяем свои устройства через интернет в одну сеть (VPN для самых маленьких, в картинках)
- Шаг 1 — регистрация на AWS
- Шаг 2 — создаём виртуальный сервер
- Шаг 3.1 — настройка сервера (AWS)
- Шаг 3.2 — настройка сервера (Windows)
- Шаг 4 — настройка клиента
- Бонус (shadowsocks)
Локалка через интернет
У меня на блоге уже была одна статья про организацию локальной сети через интернет при помощи Hamachi, но сегодня мы поговорим про еще один сервис, используемый в подобных целях, — OpenVPN.
О чем вообще речь? О том, чтобы связать два или большее количество компьютеров, находящихся в совершенно разных местах, в единую локальную сеть. То есть физически то они будут далеко друг от друга, а виртуально — как будто в одной локальной сети. Что это дает?
- Возможность делиться файлами по сети;
- Возможность запустить какую-нибудь программу типа 1с, обращающуюся с одного компьютера на другой;
- Возможность играть вместе в игры и многое другое.
Сама статья написана не мной, предложил мне ее один из постоянных участников нашего форума, NicromanseR, за что я ему очень благодарен. Сам я лишь немного подредактировал статью, чтобы она больше ложилась в стилистику этого блога.
Итак, как же сделать локалку через интернет с использованием OpenVPN? Задача не совсем простая и потребует некоторого количества манипуляций, но предлагаемая инструкция описывает их достаточно подробно.
Итак, скачиваем дистрибутив программы с официального сайта, распаковываем его и устанавливаем всё по умолчанию. Внимание! Нужно подтвердить установку драйвера сетевого адаптера TAP-Win32 Adapter V9, когда Windows это попросит.
Openvpn сервер
Один из компьютеров будет выступать в качестве Openvpn сервера, к нему будут подключаться другие компьютеры. Желательно, чтобы на нем был выделенный (постоянный) IP адрес. Начнем с его настройки.
- Запустите окно командной строки Пуск – Выполнить (или Win+R) – cmd.exe
- Cамая сложная часть настройки – генерация сертификатов и ключей. Здесь нужно быть предельно внимательным и точно следовать инструкциям. В окне консоли вводим без кавычек «cd C:\Program Files\OpenVPN\easy-rsa» где C:\Program Files\OpenVPN\ папка с установленной программой. Окно консоли не закрываем.
- Вводим опять без кавычек «init-config»
- Реедактируем файл vars.bat и устанавливаем следующие параметры: KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, KEY_EMAIL. Эти параметры нельзя оставлять пустыми, остальные можно оставить по умолчанию. Пример: set KEY_COUNTRY=RU
set KEY_PROVINCE=MO
set KEY_CITY=Moskow
set KEY_ORG=GazProm
set KEY_EMAIL=root@yandex.ru
set KEY_CN=changeme
set KEY_NAME=changeme
set KEY_OU=changeme
set PKCS11_MODULE_PATH=changeme
set PKCS11_PIN=1234 В стандартном блокноте вам не получится отредактировать данный файл, поэтому я воспользовался программкой «Notepad++». - Вводим по очереди команды «vars» «clean-all» и «build-ca». Последняя команда build-ca запросит значения параметров. Все параметры можно не менять, нажав Enter, кроме одного – Common Name. Здесь нужно ввести какое-нибудь имя, я ввёл название организации.
- Теперь сгенерируем сертификат и ключ для сервера, выполнив команду: «build-key-server server» Также, как и в предыдущей команде, все параметры можно принять по умолчанию, но для Common Name введите слово «server». На последние два вопроса «Sign the certificate? [y/n]» and «1 out of 1 certificate requests certified, commit? [y/n]» ответьте утвердительно, нажав «y»
- Теперь сгенерируем ключи для клиентов, выполнив команды:
«build-key client1»
«build-key client2»
(это команды для двух филиалов, по аналогии можно сделать ключи для большего количества) - Как и в прошлый раз, принимаем все параметры, кроме Common Name, для которого указываем client1 и client2 соответственно. На последние вопросы опять ответьте утвердительно. Осталось выполнить еще одну команду: «build-dh»
- Итак, в результате выполнения всех команд, мы получим в папке C:\Program Files\OpenVPN\easy-rs\keys ряд файлов ключей и сертификатов. Зайдите на сервере в папку C:\Program Files\OpenVPN\config и скопируйте туда содержимое папки .\easy-rs\keys. Скопируйте отдельно следующие файлы для клиентских машин: ca.crt, client1.crt, client1.key, client2.crt, client2.key в безопасное место, затем их нужно будет перенести на компьютеры подключаемых клиентов. Вот и все с сервером, можно запускать службу OpenVPN Service, можно сделать автоматический запуск службы при необходимости (через Пуск- Панель управления – Службы), но осталось сделать конфиг для сервера. Сразу хочу сделать замечание, что на Windows клиентах и серверах путь надо прописывать через ДВОЙНОЙ «\\». И так, зайдём в папку C:\Program Files\OpenVPN\config и создадим там файл «server.ovpn», его содержание должно быть примерно следующее: port 5194
proto udp
dev tun
topology subnet
ca C:\\Program Files\\OpenVPN\\config\\keys\\ca.crt
cert C:\\Program Files\\OpenVPN\\config\\keys \\server.crt
key C:\\Program Files\\OpenVPN\\config\\keys \\server.key # This file should be kept secret
dh C:\\Program Files\\OpenVPN\\config\\keys \\dh1024.pem
server 10.218.77.0 255.255.255.0 # vpn subnet
ifconfig-pool-persist ipp.txt # Тут будут храниться ip адреса клиентов
push «route 192.168.78.0 255.255.255.0»
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
log-append openvpn.log
verb 4
mute 20
client-to-client
client-config-dir C:\\Program Files\\OpenVPN\\config\\keys
Конфиг готов, осталось создать ещё 1 файлик с именем «ipp.txt» и следующим содержанием:
client1,10.218.77.10
client2,10.218.77.11
client3,10.218.77.12
Всё, от сервера OpenVPN можно пока отстать. Переходим к настройке клиентской части для создания локалки через интернет.
Openvpn клиент
Чтобы настроить Openvpn клиент, Заходим в папку по адресу C:\Program Files\OpenVPN\config и создаём там файлик «client.ovpn» со следующим содержанием:
remote my_server 5194
client
dev tun
proto udp
topology subnet
persist-key
persist-tun
ca C:\\Program Files\\OpenVPN\\config\\keys \\ca.crt
cert C:\\Program Files\\OpenVPN\\config\\keys \\client1.crt
key C:\\Program Files\\OpenVPN\\config\\keys \\client1.key
comp-lzo
verb 4
mute 20
Тут Вам надо поменять значение «my_server» на IP адрес вашего сервера. Скопируем файлы ca.crt, client1.crt, client1.key в папку C:\Program Files\OpenVPN\config\keys для пользователя «client1» и файлы ca.crt, client2.crt, client2.key для второго клиента (если у вас планируется больше двух). На этом настройка OpenVPN клиента закончена. Пробуем подключиться.
Примечание (Сандер): Если вы все правильно настроите, то после запуска службы на сервере и сеансов на клиентах, ваши компьютеры окажутся в одной локальной сети. Технически это будет выглядеть как будто в сетевых настройках у вас появился новый сетевой адаптер, который функционирует как локалка через интернет. И еще. OpenVPN — это бесплатный продукт с открытым кодом, так что вы работаете не через черный ящик, не завязаны на чужие сервера, в общем, при помощи этой технологии вы получаете настоящую защиту от внешнего мира. Кроме того, OpenVPN прекрасно работает под Линуксом, так что вы даже сможете связать друг с другом в одну компьютеры с совершенно разными операционными системами.
Если у вас будут вопросы, пишите, мы постараемся помочь.
- Основы интернета (11)
- Настройки интернета (17)
- Настройки Windows (17)
- Программы для Windows (12)
- Интересное в интернете (33)
- Настройка сайта (18)
- Развлечения в интернете (13)
- Опасный интернет (23)
- Развитие интернета (18)
- Интернет сервисы (29)
- Линукс для начинающих (8)
- Деньги в интернете (11)
- Цифровая фотография (12)
Объединяем свои устройства через интернет в одну сеть (VPN для самых маленьких, в картинках)
Подобных обзоров «как создать свой VPN» крайне много, но я так и не нашёл простого решения для новичка, с поддержкой создания полноценной локальной сети между двух и более клиентов с серым IP, находящимися за NAT.
Данное руководство я отношу к уровню подготовки «user+»: пользователь должен но не обязан знать что хочет получить, уверенно держит в руке мышь и видел командную строку в фильмах про хакеров.
Хочу обратить внимание начинающих хакеров: если вы взломаете пентагон с данного IP, скорее всего, ваш провайдер (Amazon в данном случае) сдаст вас «с потрохами» и от суровых людей с паяльником в руках спасения не будет.
Ежемесячный платёж 350 рублей, но вы можете сэкономить и не покупать выделенный IP у своего провайдера.
Шаг 1 — регистрация на AWS
Собственно проходим по ссылке и регистрируемся lightsail.aws.amazon.com
Номер телефона и банковскую карту указываем свою, может придётся пройти проверку по телефону (звонит робот), мне не пришлось.
(дополнительно) для доступа по SSH нужно получить отдельный ключ
делается один раз — для учётной записи
Шаг 2 — создаём виртуальный сервер
Мой выбор региона — Ирландия (Дублин), если нужна максимальная скорость — Германия (Франкфурт).
Теперь резервируем выделенный IP4 адрес, IP6 — закрепляется автоматом при создании виртуального сервера (его поменять нельзя).
Получив IP4 адрес, сразу закрепляем его за нашим виртуальным сервером.
Здесь важный момент (его можно сделать как до настройки сервера, так и позже). Рядом с кнопкой вызова терминала (выделена синим квадратом) нажимаем 3 точки, выбираем Manage затем Networking.
Открываем входящие порты для нашего сервера, добавлю только что 2012 выбран для shadowsocks.
Шаг 3.1 — настройка сервера (AWS)
Запускаем терминал и обновляем систему и устанавливаем пакеты (копируем построчно, нажимая enter и отвечая «y«).
su pkg update pkg upgrade pkg install shadowsocks-libev pkg install softether sysrc softether_server_enable=yes sysrc shadowsocks_libev_enable=yes
Я не осилил текстовый редактор vi, поэтому установим более простой вариант 🙂
Удаляем все строки несколько раз нажимаем ctrl+k и добавляем, где 12345 — ваш пароль для подключения к shadowsocks (лучше заменить).
Сохраняем и выходим ctrl+x, на вопрос о сохранении отвечаем «y«.
Перезагружаем сервер: пишем в консоли reboot и нажимаем enter.
Шаг 3.2 — настройка сервера (Windows)
Скачиваем SoftEther VPN Client для Windows www.softether.org, устанавливаем оба приложения из списка во время установки.
После установки запускаем SoftEther VPN Server Manager.
В главном окне нажимаем «Encryption and Network» Выбираем шифрование для VPN подключений и скачиваем сертификат
На этом настройка сервера полностью завершена, я рекомендую ещё раз перезагрузить свой удаленный сервер.
Шаг 4 — настройка клиента
Устанавливаем сертификат, сертификат нужен на всех устройствах для подключения VPN (Windows: только в «локальный компьютер», по другому не работает SSTP VPN).
Создаём подключение SSTP VPN (Пуск\Параметры\Сеть и Интернет\VPN).
дополнительно — интернет через VPN, локальная сеть без изменений
Панель управления\Все элементы панели управления\Сетевые подключения
Или SSL VPN (запускаем SoftEther VPN Client Manager).
дополнительно — интернет через VPN, локальная сеть без изменений
Теперь, разные ПК подключённые к вашему VPN серверу, будут находится в одной сети.
Если вам нужен полный доступ между домашней подсетью и подсетью рабочего компьютера, вам понадобиться на рабочий и домашний компьютер установить SoftEther VPN Bridge.
По уровню сложности это выходит за рамки данной статьи, если интересно — читайте здесь https://www.softethernet.ru/pr1.html
Бонус (shadowsocks)
Не всегда нужен полноценный VPN, иногда просто хочется безопасно посмотреть котиков в браузере. Для Windows скачиваем https://github.com/shadowsocks/shadowsocks-windows/releases
В браузере Firefox скачиваем расширение FoxyProxy (так же и на Android), настройка: SOCKS5/127.0.0.1/1080
Для Android https://play.google.com/store/apps/details?id=com.github.shadowsocks выбираем только прокси (тогда не будет подниматься VPN канал).
Почему Amazon? — самая низкая скорость, которая была — 10Mbps.
Почему FreeBSD? — SoftEther под него устанавливается менеджером пакетов, да и сама ОС потребляет меньше ресурсов и без того дохлого виртуального сервера.