Локалка через интернет
У меня на блоге уже была одна статья про организацию локальной сети через интернет при помощи 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)
Как соединить локальную сеть с интернетом
Всё чаще возникают ситуации, в которых требуется получить доступ к сети интернет сразу с нескольких устройств. Это могут быть как компьютеры и ноутбуки, так и коммуникаторы или мобильные телефоны, поддерживающие стандарты Wi-Fi. В любом случае, простейший способ добиться общего доступа в интернет – это создание локальной сети, один из компьютеров которой имеет доступ к сети интернет.
Определитесь с компьютером, с которого будет раздаваться доступ в интернет. Один из обязательных критериев при выборе – это наличие хотя бы одного свободного порта LAN в сетевой карте.
Приобретите свитч. При выборе этого устройства руководствуйтесь следующим принципом: количество портов LAN не должно быть меньше количества компьютеров в будущей локальной сети, включая основной.