Как предоставить доступ для всех устройств из локальной сети к VPN
Наверное, ни для кого уже не секрет, что использование технологии Virtual Private Network (VPN) становится повседневной необходимостью. На рынке присутствует много решений – платных и бесплатных.
Так как бесплатным бывает только сыр в мышеловке, бесплатные решения вызывают подозрения, да и надоедливая реклама, которая сейчас окружает все бесплатное в интернете, очень раздражает. Стоимость же платных решений достаточно высока.
Обычно решение представляет из себя приложение, которое устанавливается на компьютер, смартфон или браузер, и серверную часть, с которой это обеспечение работает. Часто VPN позволяет выбирать страну, где будет находиться VPN сервер.
Установка приложения на компьютер, смартфон или браузер имеет ряд недостатков.
На некоторые устройства, например телевизор со Smart TV, или какое-то нестандартное устройство, требующее доступа к интернету, установка приложения может быть невозможна.
На разные виды устройств ставятся разные приложения. Для Android оно будут одни, для Windows — другие.
Приложение может содержать вирус или какую-нибудь уязвимость. Чем больше различных устройств с этим приложением вы используете, тем больше вероятность, что оно их содержит.
Мне хотелось более простого доступа к интернету через VPN, и я понял, что самое удобное решение, это предоставить доступ из локальной сети в сеть VPN. Для этого понадобится роутер, который может выступать в качестве VPN клиента, и VPN сервер.
То, что скорее всего, моя идея осуществима, меня вдохновило, и я принялся воплощать ее в жизнь. Процесс этот был методом проб и ошибок, я его не документировал, да и, наверное, это было бы утомительно приводить его в этой статье. Результатом стало то, что из множества протоколов VPN (PPTP, L2TP/IPSec, OpenVPN и WireGuard) я выбрал WireGuard, а из различных кастомных прошивок (DD-WRT, FreshTomato, OpenWRT) я выбрал OpenWRT. Также из-за того, что я хотел иметь постоянный доступ в интернет и проводить различные эксперименты, я установил кастомную прошивку на один роутер и подключил его WAN порт к одному из LAN портов другого, имеющего доступ в интернет.
Я не претендую на то, что это решение правильное, полностью безопасное и не лишено уязвимостей, но оно работает и решает основную задачу — быстро и просто получить доступ в интернет, минуя ограничения, с которыми вы можете столкнуться, например, приехав в командировку в другую страну.
Установка кастомной прошивки на роутер
Начнем с самого трудного, на мой взгляд, это установки кастомной прошивки на роутер. Я долго не мог решиться на этот шаг, так как боялся сделать кирпич из своего роутера. Меня, как и вероятно, вас пугали различные предупреждающие сообщения в статьях по перепрошивке каких-либо устройств. К счастью, мои опасения оказались напрасными. Кирпич из своего роутера у меня сделать не получилось, но это не значит, что не получится у вас. Операция по перепрошивке роутера отличается для разных моделей роутеров и может преподнести различные сюрпризы.
Вам понадобится одна из самых последних версий этой прошивки. На момент написания статьи это OpenWrt 22.03.0.
Для начала необходимо убедиться, что эта версия прошивки есть для вашего роутера, что у роутера достаточно ресурсов, чтобы корректно работала прошивка и была возможность поставить VPN клиент.
Следует внимательно почитать страницу на сайте OpenWRT для вашего роутера, посмотреть какие у него есть особенности. Например, как можно восстановить стоковую прошивку на вашем роутере, как необходимо устанавливать кастомную прошивку. Также необходимо внимательно изучить информацию об аппаратных версиях вашего роутера. Роутеры одной модели могут иметь разные аппаратные реализации, это очень важно, чтобы не испортить роутер при перепрошивке.
Так как у меня был роутер ASUS RT-56U V1, то здесь приведу, как я устанавливал прошивку на свой роутер. Подробно процесс описан по следующей ссылке https://www.asus.com/ru/support/FAQ/1000814/.
Отключаем в Windows все сетевые карты на компьютере, кроме той, к которой при помощи кабеля будем подключать роутер.
Заходим в настройки TCP/IP для сетевой карты и вводим адрес 192.168.1.10 и маску 255.255.255.0.
Запускаем приложение для прошивки.
Выбираем файл с нужной прошивкой.
Подключаем роутер по сетевому кабелю к компьютеру. Зажимаем кнопку Reset и включаем роутер. Ждем пока он перейдет в режим обновления (мигающий светодиод питания, я подождал на всякий случай секунд 15).
Нажимаем кнопку Upload в приложении.
Ждем пока роутер прошьется и перезагрузится.
Заходим в настройки TCP/IP для сетевой карты и устанавливаем переключатель на «Получать IP адрес автоматически».
Настройка WiFi на роутере
Так как в прошивке OpenWRТ по умолчанию отключен WiFi, его нужно включить в настройках.
Заходим в браузере по адресу https://192.168.1.1 и выполняем базовую настройку роутера (устанавливаем пароли и доступ к роутеру через SSH, включаем и настраиваем WiFi.)
Подключаем роутер к интернету.
Подключаемся к роутеру через WiFi.
Я использовал еще один роутер, у которого было настроено подключение к интернету, поэтому мне достаточно было WAN порт роутера с кастомной прошивкой соединить при помощи кабеля с LAN портом роутера с интернетом. Вам же, если, вы хотите обойтись одним роутером, в зависимости от вида доступа в интернет вашего провайдера придётся больше покопаться в настройках роутера (например, если доступ предоставляется по технологии PPPoE).
Установка WireGuard клиента на роутер
Если вы через роутер с прошивкой от OpenWRT можете заходить в Internet, то можно приступать к установке WireGuard клиента. Во многих видео и статьях это делается из командной строки. На мой взгляд, это проще это сделать из графического интерфейса роутера.
Обновляем список пакетов: System -> Software -> Update Lists…
Заходим в раздел System -> Software и устанавливаем пакет luci-i18n-wireguard-en.
Роутер у нас предварительно настроен, теперь можно приступить к настройке VPN сервера WireGuard.
Выбор и создание VPS сервера
Для начала нужно выбрать провайдера VPS сервера. Есть несколько вариантов, у каждого есть свои достоинства и недостатки. Все зависит от ваших потребностей. Вам необходимо выбрать следующие параметры:
количество оперативной памяти;
тип жесткого диска;
размер жесткого диска;
пропускная способность сети;
лимит исходящего и входящего трафика.
Выбор провайдера VPS сервера оставляют за вами, для проверки решения можно использовать, например, DigitalOcean.
Выбор операционной системы на VPS серверe
Обычно на VPS сервер при создании можно установить какую-либо операционную из списка. Все зависит от ваших предпочтений и знаний, но по опыту хочу сказать, что Ubuntu 20.04 будет самым оптимальным решением для начала.
Установка VPN сервера
Следующий шаг, это установка VPN сервера. Для установки сервера WireGuard существует множество статей и видео в Internet. Если вы хотите лучше понимать технологию или улучшить свои знания по Linux, можно настраивать по ним. Но к счастью, на данный момент существует решение, которое позволяет установить и настроить сервер без труда человеку, имеющему минимальные знания по Linux. Утилита располагается на GitHub по адресу: https://github.com/angristan/wireguard-install
Нужно зайти в консоль ОС, установленной на VPS и выполнить следующие команды:
Если вы боитесь выполнять этот скрипт вслепую, что логично, просмотрите его содержимое с помощью следующей команды перед установкой.
Скрипт при выполнении задаст несколько вопросов. На вопросы достаточно дать ответы по умолчанию. Единственное, что нужно, это ввести имя для клиента, настройки для которого создаст скрипт.
После выполнения скрипт сообщит, где находится файл с настройками для клиента. Этот файл нам необходимо скачать к себе на компьютер при помощи команды scp, утилиты WinSCP, так как он понадобится нам для настройки WireGuard клиента. Но можно просто вывести его содержимое, используя команду cat в SSH консоли и копировать данные, которые нам понадобятся.
Настройка WireGuard клиента на роутере
1. Добавляем интерфейс WireGuard. Network -> Interfaces -> Add new interface…
Создание интерфейса WireGuard
2. Заполняем вкладку General Settings настройками из файла конфигурации WireGuard клиента (Private Key, Public Key, IP Addresses). Для получения Public Key в SSH консоли необходимо ввести:
Содержимое файла конфигурации клиента
Вкладка General Settings
3. Добавляем параметры WireGuard сервера (Description, Public Key, Preshared Key, Allowed IPs, Route Allowed IPs, End Point Host, End Point Port, Persistent Keep Alive). Большинство параметров располагается в файле /etc/wireguard/wg0.conf на сервере. Peers -> Add Peer
Содержимое файла конфигурации сервера WireGuard
Параметры WireGuard сервера
4. Удостоверяемся, что VPN поднялся. Network -> Interfaces. Если он работает, то зачения RX и TX будут ненулевые.
Работающий WireGuard VPN
5. Настраиваем файервол для Fireguard. Network -> Firewall -> Add.
Параметры файервола для WireGuard
6. Добавляем маршрут в таблицу маршрутизации. В поле Target, вам необходимо ввести реальный IP адрес вашего сервера в нотации CIDR (<IP адрес>/32) Network -> Routing -> Add.
7. Настраиваем DNS. Network -> Interfaces -> WAN -> Edit -> Advanced Settings.
Выводы
На мой взгляд, такой вариант организации VPN отличается простотой в использовании самого VPN. При использовании VPN достаточно просто подключить WAN порт роутера к порту, имеющему доступ в интернет. Настроенный таким образом роутер можно взять с собой в командировку и подключить к роутеру, который будет там, и получить точно такой же интернет за тысячи километров от дома. Решение немного напоминает рецепт борща, так как можно экспериментировать с различными VPS провайдерами, роутерами, прошивками, VPN протоколами, VPN серверами и их настройками, операционными системами. Я привел только тот вариант, который у меня получился и устроил. Например, я пробовал использовать OpenVPN, но хочу сразу сказать, меня не устроила скорость получаемого интернета, она была в 2-3 раза ниже, чем при использовании WireGuard.
Я не являюсь экспертом в сетевых технологиях, и если у вас есть какие-то замечания или советы по улучшению, всегда буду рад их выслушать. Но пока у меня еще есть идеи как можно расширить и улучшить это решение, сделать его более универсальным, но это, я думаю тема моей следующей отдельной статьи после того, как проверю это решение на практике.
Объединение компьютеров через VPN и личное облако на VPS сервере
В прошлом материале я подробно рассказал как настроить VPN на арендованном виртуальном сервере.
Данная статья является её продолжением, так как наличие своего сервера и настроенного VPN позволяет использовать сам сервер, в том числе как облачное хранилище которое не сможет заблокировать важные данные, а также организовать зашифрованную связь между устройствами внутри VPN сети и производить обмен данными, в том числе, встроенными возможностями Windows.
Ну и напомню, что одного сервера хватит на несколько домохозяйств и по итогу вы получаете сервис с очень большой скоростью соединения, статическим IP, который не будет вызывать вопросы у сайтов, и если поделить оплату на несколько семей, то выходит 100-150 рублей в месяц на домохозяйство.
Коротко напомню как арендовать сервер и зайти в него через терминал. За рубли иностранные серверы можно заказать на:
RU VDS
RU VDS. Минимальная комплектация около 550 рублей в месяц (есть скидка 5% по промокоду KFQ-OTS-NCD, SKU-SLL-WFW, HNX-AIO-PJN, JJT-SBM-SOE, JFX-FHN-QOP, SJQ-FMH-HBA, AXG-SEJ-FEX, QXX-EAV-LWD, SCC-TRK-IER, IKK-JXW-RGF, QWV-XLP-VTV, CBT-WCD-RIJ, CTU-FSV-WQV, VDL-NWS-UDP, JOI-OTV-BXL, OGJ-GXN-UOF, JHB-TJG-ETK, NJI-CAE-GBR, GCX-LCM-OML, SCN-EJB-HQS, промокоды, к сожалению, одноразовые. Я их периодически обновляю).
Доступны не все сервера
veesp.com
Второй сервис чуть дешевле. И я заранее ещё связался с этим сервисом, так что вам ещё есть промокод (90LHJT906Q9W — скидка 5%).
Забегая вперёд скажу, что я буду показывать на примере этого варианта. Юридически он находится в Латвии, что не ограничивает возможности по расширению доступных мощностей в будущем из-за санкций на покупку оборудования, но при этом ориентирован на русскоязычных пользователей и компании, то есть имеется русскоязычная поддержка, и возможности оплаты любыми нашими картами. И сами сервера находятся в России и в Латвии, что максимально близко к России, а значит обеспечат минимальный пинг, и кроме того в Латвии достаточно много русскоязычных пользователей, чтобы, например, в кешах гугла, быстро дублировались видео на русском языке. То есть для просмотра ютуба сервера в Латвии — это один из наиболее оптимальных вариантов.
Если купить сразу на год, то с учётом скидки выходит примерно 4 доллара в месяц. Если купить просто на месяц то выходит около 5-х долларов.
Как зайти на свой сервер?
Если у вас Windows 10 или 11, MAC и Linux, то там вы можете начать подключение используя встроенную командную строку или терминал. Если у вас Windows 7, то вам понадобится сторонний терминал с поддержкой SSH.
Несмотря на то, что я показываю на Windows 10 я его тоже поставил, так как в нём можно сохранить параметры для входа, что в будущем упростит работу.
Скачиваете его и запускаете.
- В окно имя хоста копируете IP адрес того сервера, что взяли в аренду.
- Придумайте название
- Сохраните запись
- Нажмите кнопку соединиться
При первом соединении возникнет всплывающее окно. В нём нажимаете «ок».
Далее откроется терминал, который будет ждать от вас залогинивания.
В качестве логина вводите Root
Пароль должен быть в сведениях о арендованном сервере.
Его нужно скопировать в буфер обмена в том месте где он у вас записан и далее в окне терминала нажать правую клавишу мыши, он вставится, но внешне отображаться не будет. Далее нажимайте «enter» и если вы сделали всё правильно, то вас залогинен на арендуемый сервер
Далее вы можете сменить пароль введя команду: passwd
И далее дважды ввести новый пароль
Пароль внешне так же не будет отображаться в терминале
Всё. теперь вы на своём сервере. И можете отдавать ему нужные для дальнейшей работы команды.
ОБРАЩАЮ ВАШЕ ВНИМАНИЕ, ЧТО МНОГИЕ ВЕЩИ ИЗ ЭТОЙ СТАТИ ОПИСЫВАЮТ РАБОТУ КОГДА VPN УЖЕ НАСТРОЕН. И ЕЩЁ РАЗ УКАЗЫВАЮ, ЧТО СТАТЬЯ ОБ ЭТОМ ЕСТЬ ТУТ.
Коротко про то из-за чего возможен иной доступ между компьютерами внутри VPN
Мои инструкции направлены на развитие частных VPN, то есть когда вы делаете из для себя и своих близких без посредников, получая более высокое качество и надёжность, за те же деньги. Ну и логично, что если вы разбили один сервер между знакомыми людьми, то общий сервер с VPN даёт вам ряд преимуществ. По сути теперь у каждого из компьютеров есть 3 ip адреса. Первый — локальный, который начинается на 192.168.*.*, его даёт роутер у вас дома, второй — тот что даёт вам ваш провайдер, для внешний части интернета, и третий — это адрес, который вам даёт ваш арендованный сервер для VPN подключения, используя Wiregard, который мы настраивали в прошлой статье — этот адрес у всех пользователей тоже статический, что облегчает настройку связей. Это адрес с маской 10.0.0.0. Так вот.
Все компьютеры внутри VPN получают адреса с маской 10.0.0.0 в едином пространстве адресов.
А это значит, что вы можете через VPN сервер напрямую общаться между компьютерами, которые могут находится в разных странах мира так, как будто они в одной локальной сети и все эти обмены будут упакованы в зашифрованный туннель.
Ну и когда я говорю про деление одного сервера на несколько домохозяйств надо понимать, что есть вы — продвинутый пользователь, и есть кучка из ваших близких, друзей и родственников. Лично я на свой сервер подключил все свои компьютеры, смартфон, два смартфона родителей, два компьютера родителей, компьютер сестры, смартфоны сестры и смартфоны её детей. В вашем случае — это могут быть также родственники, друзья, или коллеги, однокурсники или одноклассники.
Но все подобные группы объединяет то, что в этой группе образуются люди, которые хорошо доверяют друг другу и нуждаются в обмене данными между собой. Например, у меня на одном из компьютеров хранится семейный фотоархив, к которому могут хотеть иметь доступ остальные пользователи сервера. И по сути находясь в единой сети через VPN я могу расшарить какие-то свои папки другим пользователям. И делается это просто средствами Windows.
Как раздать доступ на любые папки между компьютерами внутри VPN средствами Windows?
Выбираете папку, которую хотите расшарить в сети и в её параметрах задаёте общий доступ.
Тут же сразу вы можете увидеть как эту папку вводить на других компьютерах в сети. Но если вы не переименовывали свой компьютер, то у него как правило какое-то дурацкое название. Так что в других компьютерах в сети можно в проводнике входить через ip адрес в маске 10.0.0.0 по адресу, который указан в профиле WireGuard того компьютера, с которого вы расшарили папку.
На разные папки вы можете задавать разные параметры по доступу. Выбирать какие пользователи или группы пользователей должны иметь доступ. Или вообще делать папки доступными без пароля. Чтобы было проще настроить доступ надо на всех компьютерах сети включить обнаружение компьютера в сети.
Для открытия этих настроек, просто копируете текст ниже его в проводник Windows жмёте Enter и в открывшемся меню включаете отображение компьютера в сети:
Это позволит проще раздавать права доступа, так как в настройках начнут «светится» пользователи других компьютеров сети. Потом, после завершения настроек отображение можно отключить.
В остальном с этим — разберётесь сами. Тут всё понятно, там ничего сложного нет, да и, думаю, домашнюю сеть устройств объединённых внутри роутера многие и так делали, так что тут ничего нового знать не надо, так как делается всё точно так же.
Но это только половина дела.
Дело в том, что для того чтобы обмениваться таким образом данными компьютер того, у кого вам надо что-то посмотреть должен быть включен и подключен к VPN.
Два способа сделать «облако» на своём сервере
И тут возникает вторая важная вещь. Дело в том, что сам сервер тоже находится в этой же локальной сети и он как раз таки включен всегда. Более того сервер имеет статический ip адрес, а значит вы можете сделать его ресурсы доступными как через просто интернет, так и внутри VPN.
И в этом плане сервер может полноценно заменить облачные сервисы, так как можно раздать доступ к синхронизируемым ресурсам на любые свои устройства. И всё это, само собой, входит в оплату сервера поверх уже настроенного быстрого VPN.
Вообще если вам нужно чтобы облако было прям как в коммерческих вариациях, рюшки и всякие интерфейсы — то такое тоже можно сделать.
Гуглите по запросу Linux VPS облако, это будет требовать больше мощностей от самого сервера, но если это надо, то такое тоже можно сделать. И в интернете есть гайды как это сделать.
Мне лично нужно только то, чтобы у меня была папка к которой у меня будет доступ через интернет с любых моих устройств. К обычным сетевым папкам можно подключиться как с компьютеров, так и с мобильных устройств, через приложения проводников, в которых можно настроить сетевые папки, допустим через Total Commander на андроид.
Ну и, собственно, то что мы настроили для компьютеров между собой — это обмены через SMB протокол.
SMB is a client server, request-response protocol. The only exception to the request-response nature of SMB is when the client has requested opportunistic locks (oplocks) and the server subsequently has to break an already granted oplock because another client has requested a file open with a mode that is incompatible with the granted oplock. In this case, the server sends an unsolicited message to the client signaling the oplock break. Addl. info at cifs/docs/what-is-smb.html.
Такое теперь надо настроить на арендованном сервере. Но и это тоже не обязательно. Так как всё зависит от ваших задач.
Я сейчас покажу два варианта как сделать сетевую папку.
Первый — без каких-либо настроек на сервере, но со сторонним софтом на клиенте, то есть на ваших компьютерах, а второй — с настройками на сервере, но работать это будет штатными средствами в винде на клиентах.
Использование протокола на основе SCP команд
Начнём с первого варианта.
В прошлой статье я показывал как можно взаимодействовать с файловой системой вашего сервера через командную строку Windows, так мы скачивали файлы конфигурации для подключения клиентов VPN к своему серверу.
Но в комментариях мне подсказали, что есть программы, которые в бэкэнде общаются с сервером этими же командами, но при этом выводят файлы в привычном виде, работают всякие перетаскивания копипаст и т.д. И само собой, то что я показывал в прошлой статье, как скачивать конфигурации можно сделать гораздо проще используя подобные программы.
Наверное самая распространённая из программ, которая это позволяет делать — это WinSCP.
В WinSCP можно заходить и под пользователем root, но делать так на постоянку не стоит. Так что для начала вам надо создать какую-то папку, которую вы будите использовать для файлообмена и задать права доступа к этой папке для нового пользователя с ограниченными правами.
Например это будет папка /user_data/222.
Для создания пользователя с ограниченными правами перходим обратно в PuTTY
Далее создаёте нового пользователя командой
Где, имя нового пользователя «userobmen»
Далее задаёте пароль этому пользователю.
После чего нужно дважды ввести новый пароль.
Далее нужно этому пользователю разрешить доступ к той папке, которую вы будите использовать в WinSCP для обмена данных.
Эта команда разрешает для владельцев папки и группы владельцев папки чтение, запись и запуск файлов.
И теперь надо добавить в качестве владельца папки нашего пользователя userobmen.
Вкупе эти две команды говорят о том, что папка принадлежит пользователю userobmen и владельцам папки разрешён доступ к файлам в этой папке.
Подробнее про работу с доступами пользователей рекомендую ознакомится с двум (1, 2) статьями про вышеуказанные команды.
Теперь можно при входе в WinSCP логинится пользователем userobmen и работать внутри созданной папки.
Далее находим папку, для которой вы дали доступ. Откройте свойства папки в свойствах владелец должен быть ваш новый пользователь.
Собственно ограничения тут в том, что у вас доступ к файлам только через эту программу. Упростить жизнь может функционал автоматической синхронизации. Вы можете на компьютере создать папку и задать связь между папкой на компьютере и сервере.
Можно включить WinSCP в автозагрузку системы. В настройках ещё есть опции по «интеграции».
Но в целом — полноценной заменой облака такой подход не является, так как работать не удобно, в добавок работа идёт по сути просто с локальными копиями файлов.
Поэтому я ещё покажу вам другой вариант, используя тот же протокол, что для доступа к сетевым папкам между компьютерами.
Использование протокола SMB
Если вы зайдёте в «этот компьютер» в Windows, то вы увидите, что там есть кнопка «подключение сетевого диска», она позволяет использовать сетевые ресурсы ровно так же, как локальные, то есть не подгружая файлы целиком из интернета и т.д.
А подтягивая только те части файла, что нужны были бы от локального диска.
Ну то есть как будто бы это реально локальный диск. Допустим чтобы посмотреть фильм лежащий в сетевом диске вам не надо будет ждать пока фильм закешируется где-то локально, так как для вашего компьютера он типа и так уже лежит локально. И это принципиальное отличие от использования SCP которому нужно для открытия файла его закешировать локально. Но если вы просто так пропишите в настройках подключения сетевого диска адрес арендованного сервера, то ничего не произойдёт, так как на сервере для начала нужно развернуть и настроить подключение по SMB протоколу.
Благо создать такой доступ очень просто.
Для убунту есть такая программа как Samba.
Заходите в терминал на сервер.
Для начала нужно обновить все текущие пакеты установленные на сервере командой
Тут процесс зависит от того насколько старая развёрнута версия убунты на сервере.
Если для уже настроенной ривергард всплывёт вопрос что делать с её конфигурациями, то выбирайте пункт, про то, что всё оставить как есть.
Дальше нужно установить пакет samba.
Он как раз таки отвечает за активирование SMB протокола на сервере.
В процессе установки надо будет один раз нажать на Y.
Установка закончится сама.
Всё. теперь к вашему серверу можно подключиться с любого компьютера, так как сервер теперь умеет отвечать на запросы про сетевые папки.
Правда пока что никаких данных так получить будет нельзя.
Для этого надо расшарить какие-то папки для доступа, а также опционально задать требования по доступу к данным, то есть создать пользователей, пароли для них и при необходимости объединять пользователей в группы, чтобы давать доступ к отдельным папкам целым группам пользователей.
К слову — если включить VPN, то доступ как к сетевой папке появится у сервера как по глобальному IP адресу сервера, так и по локальному для VPN адресу.
Локальный ip адрес сервера для VPN узнать довольно легко.
В прошлом видео мы устанавливали в качестве VPN — виергард.
В нём вы можете зайти в свой конфигурационный файл и там посмотреть тот ip адрес который выдан вашему компьютеру или смартфону. Сервер находится по этой же сетевой маске, но с единичкой в последнем блоке адреса. У меня это, например 10.6.0.1. Само собой, если у вас отключен VPN, то подключится к сетевой папке вы сможете только через ip адрес сервера, который прописан в личном кабинете у хост провайдера.
Но вернёмся к сетевым папкам.
Изначально нужно создать какую-то папку на сервере, которую вы потом сделаете сетевой.
Это можно сделать и в терминале, но проще это сделать через программу WinSCP.
Логинитесь на свой сервер через WinSCP.
Тут вам надо создать новую папку.
Собственно этот процесс я уже ранее показал.
Я назвал её user_data и в ней создал две папки — 001 и 002.
Теперь мы эти папки будем делать доступными разным пользователям.
Свойства того, что будет сервер допускать как сетевые папки задаётся в файле параметров программы Samba.
Можно параметры вписывать через командную строку, но мы и тут воспользуемся WinSCP.
В корне сервера находите папку etc и там открываете папку Samba.
В этой папке лежит файл smb.conf.
Советую сделать для этого файла резервную копию.
На всякий случай я ещё в текстовой версии оставлю свой файл как пример.
Открываете его блокнотом, или ворт падом или любым другим текстовым редактором.
То что там вписано не трогайте, мы свою часть будем вписывать просто дальше в конец файла новыми строками.
В этом файле мы прописываем те папки, что будут отображаться, а также параметры доступа к ним.
Давайте для начала откроем доступ для папки так чтобы он был без пароля. Само собой, не следует так делать, если вы оставите свой сервер видимым как сетевую папку для открытого интернета. Ограничить работу в открытом интернете можно либо через настрйоки самой самбы, которые я покажу чуть позже, либо настройкой брандмауера сервера, ограничивая работу через порт 445 командой
iptables ограничив доступ для всего кроме пространства запросов из локальной сети.
Ещё приложу страницу на сайте самбы, где описаны принципы обеспечения безопасности данных.
Кроме того, если вдруг вы будите планировать редактировать файл конфигураций не в WinCSP а через терминал, то рекомендую этот файл почистить от инструкций и лишних записей.
Для этого в терминале пропишите команду
Эта команда перезапишет файл конфигурации из созданной копии но без лишних строк. Если редактировать будите открывая в текстовом редакторе, то на лишнюю писанину можно забить.
Но вернёмся к публичным папкам.
Открываете файл конфигураций и вписывайте в его конец вот такой текст.
Видится папка будет как “Сетевая папка”, в поле коммент вписываете пояснение чтобы вы сами понимали что это вы такое понаписали, дальше вам надо прописать путь к той папке, что лежит на сервере. Тут я поясню сразу, что те названия папок что мы создавали в WinCSP — это, своего рода, служебные названия. Так папка 001 в сети будет отображаться как “Сетевая папка”, то есть так как вы укажете её в конфигурационном файле.
Далее мы пишем атрибут — паблик “Да”. Врейтебл, то есть с возможностью записи — да, риад онли, то есть только для чтения — нет, и гостевой доступ — да.
По разные стороны от равно должны быть пробелы. Если не поставить — работать не будет.
Всё. Сохраняете файл. Закрываете.
Заходите обратно в терминал и там прописывайте команду для перезагрузки самбы.
Теперь можете ещё раз проверить свой сервер. Доступ к папке появился. Вы можете туда копировать, вставлять и т.д. И доступ к этой папке есть у всего интернета, что, учитывая дырявость стандарта SMB нисколько ни хорошо. Поэтому теперь надо сделать так, чтобы доступ к серверу был только через VPN.
Для этого открывайте файл конфигурации самбы. В нём найдите раздел GLOBAL.
И введите туда в любую строку
Эти два параметра позволяют задать доступ только для компьютера самого к себе и доступ в моём случае при обращении с адреса 10.6.0.3.
Сохраняете файл. Закрываете.
Ещё раз прописывайте командой через терминал
Теперь проверяете доступ к вашей папке. С ip адреса сервера, который прописан в данных о арендованном сервере доступ должен прекратиться. А при включенном VPN с ip адреса в сети, у меня это 10.6.0.1 доступ должен работать. При выключеном VPN доступ должен быть недоступен.
Иногда происходят затупы в винде, из-за того что винда кеширует какие-то данные, но смысл в том, что возможность открытия новых папок, чтения новых файлов, запись и т.д. без VPN должны пропасть.
Соответственно для большинства, так как в сети будут только доверенные устройства — вариант с папкой без пароля будет приемлемым. И на этом можно уже подключать папку как сетевой диск. Делается это просто. Прописываете путь и всё.
Кроме того можно как и с другими облаками работать в режиме синхронизации и работать в режиме работы в самом облаке. Штатными средствами винды это тоже реализуемо. Жмёте правой клавишей на сетевом диске и там будет такой пункт.
Но предупреждаю, что он отключается потом только выпиливанием самой службы. В майкрасофт видимо не думали, что кто-то этим будет пользоваться и не продумали нормального отключения синхронизации, так что как там дальше я показывать не буду. Захотите — нажмите. Меня устраивает и работа с данными сквозь VPN без кеширования и предварительных синхронизаций, так как скорости доступа высокие.
И всё. Вот оно ваше личное облако. Какой объём данных нужен, такой и проплачивайте у хост провайдера, у меня тариф на 25 гигабайт, в качестве флешки вполне пойдёт. Домашний интернет 100 Мбит/с, так что на скачивание с облака у меня эти 100 Мбит/с и работают. И напомню, что это уже бонусом к быстрому VPN.
Ну и теперь коротко рассмотрим вопрос с доступом к папкам по паролям.
Доступ к папкам по паролям
Для папок с закрытым доступом нужно будет создавать пользователей на сервере и прописывать в параметрах доступ только пользователей или групп пользователей. Как мы это делали уже для папки с WinSCP.
Но потом надо будет пробросить этих пользователей в параметры самбы, задав им дополнительный пароль уже для доступа через самбу.
В общем — суть такая.
У вас есть пользователь, и папка. Нужно установить доступ пользователя к папке и доступ к пользователю через самбу.
Пароли для пользователя и для этого же пользователя для самбы могут быть одинаковыми. Первый пароль нужен для залогинивания в самой операционной системе убунту, а второй уже для захода в сетевую папку.
Ещё раз покажу весь процесс. На этот раз создадим пользователя для собаки. А то что мы всё для людей, да для людей.
Возвращаемся в терминал сервера.
Создаём нового пользователя.
Делается это командой:
Далее нужно создать пароль этому пользователю для вашего сервера командой
Далее нужно два раза вписать пароль. Он не будет отображаться — но он вписывается.
Дальше можете проверить, что пользователь создался командой
Вам пропишутся id этого пользователя. И видно, что для пользователя создалась группа пользователей собака, про группы я скажу чуть позже.
дальше нужно задать пароль этого пользователя для самбы.
Это делается командой:
Два раза вводите пароль. Он может быть таким же как и пароль введённый для системы целиком.
Всё пользователь создан.
Теперь нужно создать папку, которую вы хотите сделать доступной только для отдельных пользователей. У меня это, например 002, которую я создал чуть ранее.
Если вы ранее через WinCSP её не создали, то можно создать командой
Теперь надо нашему новому пользователю открыть доступ в эту папку.
Делается это командой
И назначить собаку владельцем папки
Соответственно теперь нужно создать необходимое количество пользователей и прописать их пароли для системы и пароли для самбы. А также раздать права на нужные папки разным пользователям.
Кроме того пользователей можно объединять в группы.
Группы создаются командой:
Я создал группу звери.
Далее в эту группу надо добавить пользователей
Теперь ещё раз просмотрев id пользователя собака командой
Можно увидеть, что она принадлежит группе собаки и группе звери.
И прописывать владельцев для папок можно не для пользователей, а для групп пользователей.
Работа муторная, но сделать это надо только один раз. Опять же если вам эти всякие пароли нужны. Если не нужны, то инструкция для вас уже давно закончилась профитом.
Теперь надо прописать новую папку уже для самбы.
Для этого опять открываем файл конфигурации самбы и в конец дописываем новую конфигурацию.
Тут мы указываем название для сетевой папки, путь к ней. В качестве атрибутов невозможность гостевого доступа, возможность чтения и записи и так же от чьего имени производится работа на сервере, либо от имени пользователя, либо от имени группы пользователей.
ну и соответственно тут мы не регулируем то, кому допустим вход, но если вход от пользователей, которым не дан доступ к папке не сервере, то получить данные не получится.
Вообще есть регулирование доступа к данным через саму самбу. Ну то есть на сервере вы даёте доступ любым пользователям к папкам, а уже самбой ограничиваете тех кто может залогиниться. Тогда вместо force user или force group прописывается строка
И уже тут перечисляются пользователи через запятую, либо, если нужно указать группу, то группа пишется через знак собака.
Но, честно говоря, мне такой метод два дня сношал мозг. Доступ иногда давался, иногда не давался, а ошибки говорили, что надо обратиться к администратору ресурса, коим являлся я сам, и что там я делал не так — я так и не понял.
Само собой можно задать и правила доступа на сервере и одновременно с этим перечень допустимых пользователей через самбу.
То есть указывать и форс юзера, и давать ограничения на владельцев папок на сервере и указывать валидных пользователей списком в параметрах самбы. Это наверное наиболее безопасный метод, так как получается два уровня ограничений вместо одного.
Ну и в таком виде это будет работать уже с паролями. Если оно вам надо.
Ну и, думаю, тему со своими сервером заканчивать не будем.
Лично я свои хотелки для себя уже реализовал, но предлагаю вам в комментариях писать чтобы вы хотели от сервера ещё. А я постараюсь разобраться в том как это реализовать и покажу в будущем.
Записки IT специалиста
Организация каналов между офисами при помощи OpenVPN с дополнительной парольной защитой
- Автор: Чурилов А.А.
- 31.03.2015
OpenVPN пользуется заслуженной популярностью у системных администраторов, когда нужно быстро и эффективно соединить VPN-каналами удаленные офисы. Сегодня предлагаем вам статью нашего читателя в которой он расскажет вам как настроить безопасный канал между офисами с дополнительной парольной защитой на платформе Windows.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
И так нам нужно организовать VPN канал между двумя офисами. Сеть Офис 1 (назовем его С_ОФ1) и Сеть Офис 2 (назовем его С_ОФ2).
Скажу сразу что в моем случае OpenVPN в обоих офисах установлен на Windows 7.
С_ОФ1 включает:
Машина куда ставим OpenVPN Server имеет 2 сетевых интерфейса.
Также на ней установлен прокси-сервер который раздает инет в локалку, тем самым являясь для всех машин в локалке основным шлюзом(192.168.0.100)
192.168.0.100 смотрит в сеть
192.168.1.2 смотрит в мир через роутер. Роутер имеет статический IP скажем 111.222.333.444. На роутере сделан проброс порта 1190 (в моем случае порт 1190 проброшена на 192.168.1.2)
Пользователь в сети: 192.168.0.50
С_ОФ2 включает:
Машина куда ставим OpenVPN Client имеет 2 сетевых интерфейса.
Также на ней установлен прокси-сервер который раздает инет в локалку, тем самым являясь для всех машин в локалке основным шлюзом(172.17.10.10)
172.17.10.10смотрит в сеть
192.168.1.2 смотрит в мир через роутер.
Пользователь в сети: 172.17.10.50
Задача: Пользователь С_ОФ1(192.168.0.50) должен видеть расшареные ресурсы на Пользователе С_ОФ2 (172.17.10.50) и наоборот.
Приступаем к настройке
Скачиваем OpenVPN с официального сайта в соответствии с разрядностью системы.
Запускаем установку, на 3-м шаге активируем неактивные пункты.
Следующий шаг — путь для установки. Чтобы облегчить себе дальнейшую жизнь, устанавливаем в корень диска С.
В процессе установки в систему инсталлируется виртуальный сетевой адаптер TAP-Win32 Adapter V9 и, соответственно, драйвер к нему. Этому интерфейсу программа OpenVPN как раз и будет назначать IP адрес и маску виртуальной сети OpenVPN. В нашем случае ему назначен адрес 10.10.10.1с маской 255.255.255.0 на сервере С_ОФ1 и 10.10.10.2 с аналогичной маской на клиенте С_ОФ2.
Переименуем его в «VPN»
В директории «C:\OpenVPN» следует сразу же создать дополнительно папку ssl (здесь мы будем хранить ключи аутентификации) папку ccd (здесь будут находится конфигурация настроек сервера для клиента).
В папке easy-rsa создаем файл vars.bat, данный пакетный файл будет задавать переменные для сеанса генерации сертификатов, в той части что касается организации и расположения заполняем своими данными.
Запускаем командную строку от имени администратора.
Переходим по пути C:\OpenVPN\easy-rsa, набрав для перехода в командной строке команду
Запускаем vars.bat:
Далее запускаем clean-all.bat:
Теперь запускаем build-ca.bat. Так как вся информация о сервере у нас уже заполнена, все оставляем без изменений:
после этого у нас в папке ssl появится два файла ca.crt и ca.key.
Запускаем build-dh.bat:
в результате у нас в папке ssl появится файл dh1024.pem.
Создаем серверный ключ, для этого вводим команду:
где «ServerVPN» это название нащего VPN сервера, как в моем случае,
Важно! Указываем параметр «commonname» — пишем имя нашего VPN сервера. Все остальные параметры оставляем по умолчанию, на все вопросы отвечаем yes
в результате у нас в папке ssl появятся файлы ServerVPN.crt, ServerVPN.csr, ServerVPN.key.
Приступаем к формированию клиентских ключей.
где «UserVPN_1» имя нашего клиента.
Важно! Указываем параметр «commonname» — пишем имя нашего VPN клиента(UserVPN_1). Все остальные параметры оставляем по умолчанию, на все вопросы отвечаем yes
В результате у нас в папке ssl появятся файлы UserVPN_1.crt, UserVPN_1.csr, UserVPN_1.key.
Если у вас несколько клиентов, то повторяем формирование ключей; не забывая каждому клиенту присваивать свои имена
Генерация ключа tls-auth (ta.key) для аутентификации пакетов, для этого переходим в корневую папку OpenVPN:
и выполняем команду:
в результате в папке ssl плучим файл ta.key.
Приступаем к созданию конфига сервера. В папке config создаем файл OpenVPN.ovpn:
В папке ccd создаем файл без расширения и называем его точно, как клиента UserVPN_1, открываем его блокнотом и пишем следующее:
Создаем конфиг клиента.
Устанавливаем на клиенте OpenVPN, предаём ему ca.crt, UserVPN_1.crt, UserVPN_1.key, ta.key.
Настраиваем файрволы и антивирусы на клиенте и на сервере для беспрепятственного прохождения пакетов. Описывать не буду все зависит от установленных антивирусов и файрволов.
После всего этого запускаем наш сервер и клиент.
Если все правильно сделали наш сервер получит IP 10.10.10.1 и подключится к нему клиент и получит IP 10.10.10.2 . И так подключение у нас состоялось теперь сервер и клиент пингуют друг друга по IP нашей VPN сети, то есть 10.10.10.1 и 10.10.10.2.
Для того чтобы пинг шел по внутренним адресам наших С_ОФ1 и С_ОФ2 нужно включить службу Маршрутизации и удаленного доступа.
Hужно зайти в свойства службы, настроить ее на автоматическое включение и запустить.
После этого мы сможем пинговать внутренние IP сервера и клиента (172.17.10.10 клиент и 192.168.0.100 сервер).
Но у этого способа есть маленький недостаток: после включения этой службы и подключения к нашему VPN-каналу на значке сетевого подключения повиснет красный крест до отключения VPN.
При этом все сети работают в штатном режиме. Лично меня этот крест раздражает и иногда сбивает с толку.
Есть второй способ как сделать видимыми внутренние IP сетей наших сервера и клиента.
Для этого заходим в реестр, открываем ветку реестра:
Находим параметр и меняем значение: IPEnableRouter типа REG_DWORD значение 1.
Не забываем перезагрузить машину, чтобы настройки вступили в силу!
Это нужно проделать и на сервере, и на клиенте.
Итак мы пингуем наши сети по внутренним IP, а так как у нас и сервер и клиент для своих сетей являются шлюзами, то и машины из сети 1 могут видеть машины из сети 2 и наоборот. то есть Пользователь С_ОФ1(192.168.0.50) может видеть расшаренные папки Пользователя С_ОФ2 (172.17.10.50) и наоборот.
Если сервер и клиент не будут являться шлюзами для своих сетей, в том случае придётся прописывать маршруты руками.
Пример для С_ОФ1:
Пример для С_ОФ2:
в моем случае этого не понадобилось.
Для автоматического запуска сервера и клиента нам нужно включить службу OpenVPN Service
теперь при загрузке машины сервер автоматически стартует, а при включении машины клиента он также автоматически подключится к серверу.
Дополнительная защита
Как известно в OpenVPN есть возможность аутентификации по сертификатам, как описано выше, а так же по логину и паролю, но можно еще и объединить их вместе. Насколько мне известно только в Linux есть возможность штатными средствами настроить аутентификацию по логину и паролю, но в Windows это тоже можно решить. Для этого в папке config создаем файл auth.vbs и пишем в него следующее
Так же в папке config содаем файл Users.pw туда пише логин и пароль нашего клиента
Если несколько клиентов то:
Дальше нужно в конфиге клиента прописать строку auth-user-pass, теперь когда клиент будет подключаться к серверу у него будет выплывать окно авторизации где нужно ввести логин и пароль, который вы назначили ему в Users.pw,их нужно будет сообщить клиенту.
У меня настроено что имя пользователь(логин) соответствует имени клиента в сертификате, то есть UserVPN_1. но можно задать и другое имя отличное от имени в сертификате, для этого нужно смотреть настройки в auth.vbs.
‘ открываем переменную окружения common_name (это CN предъявленного клиентом сертификата)
‘ и сравниваем её с введенным именем пользователя.
‘ если это сравнение не нужно, то следующие 2 строки удалить или закомменировать
CurrentCommonName = CreateObject(«WscrIPt.Shell»).ExpandEnvironmentStrings(«%common_name%»)
if UCase(CurrentCommonName) <> UCase(UserName) then WScrIPt.Quit(1)
WScrIPt.Echo «Debug: CurrentCommonName alert alert-bq»> Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Дополнительные материалы:
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Объединение двух офисов через VPN. Часть 1 – обходимся средствами Windows
Хотя тема и избита, но тем не менее, часто многие испытывают затруднения – будь то начинающий системный администратор или же просто продвинутый пользователь, которого начальство заставило выполнять функции эникейщика. Парадоксально, но несмотря на обилие информации по VPN, найти внятный вариант — целая проблема. Более того, даже складывается впечатление, что один написал – другие же нагло скопировали текст. В итоге, поисковая выдача буквально захламлена обилием ненужной информации, из которой стоящее редко можно вычленить. Поэтому я решил в своей манере разжевать все нюансы (может, кому и пригодится).
Итак, что такое VPN? VPN ( Virtual Private Network — виртуальная частная сеть) — обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (в том числе и интернет). В зависимости от применяемых протоколов и назначений, VPN может обеспечивать соединения трёх видов: узел-узел, узел-сеть и сеть-сеть. Как говорится, без комментариев.
VPN позволяет легко объединить удаленный хост с локальной сеткой фирмы или другого хоста, а также объединить сети в одну. Выгода вполне очевидна – мы легко с клиента VPN получаем доступ к сети предприятия. Кроме того, VPN еще и защищает ваши данные посредством шифрования.
Я не претендую на то, чтобы вам описать все принципы работы VPN, так как есть масса специальной литературы, да и если честно, я и сам много чего не знаю. Тем не менее, если у вас стоит задача «Сделай!», нужно срочно вливаться в тему.
Давайте рассмотрим задачу из моей личной практики, когда нужно было объединить по VPN два офиса –головной и филиал. Ситуацию еще и осложнял тот факт, что в головном офисе стоял видео-сервер, который должен принимать видео с IP камеры филиала. Вот вам вкратце задача.
Способов решения много. Все зависит от того, что у вас есть под рукой. Вообще, VPN легко построить с помощью железного решения на базе различных роутеров Zyxel. В идеале, может случиться и то, что интернет обоим офисам раздает один провайдер и тогда у вас вообще проблем не возникнет (достаточно просто обратиться к прову). Если фирма богата, то может себе позволить и CISCO. Но обычно все решается программными средствами.
А тут выбор велик – Open VPN, WinRoute (учтите, что он платный), средства операционной системы, программы типа Hamanchi (честно говоря, в редких случаях она может и выручит, но полагаться на нее не рекомендую – бесплатная версия имеет ограничение в 5 хостов и еще один существенный минус заключается в том, что все ваше соединение зависит хоста Hamanchi, что не всегда гуд). В моем случае идеально было бы воспользоваться OpenVPN – бесплатной программой, способной незатейливо создать надежное VPN-соединение. Но мы, как всегда, пойдем по пути наименьшего сопротивления.
У меня в филиале интернет раздает шлюз на базе клиентской Windows. Согласен, не самое лучшее решение, но для тройки клиентских компьютеров хватит с головой. Мне нужно сделать VPN-сервер из этого шлюза. Так как вы читаете эту статью, то наверняка уверен, что являетесь новичком в VPN. Поэтому для вас я привожу самый простой пример, который, в принципе, устраивает и меня.
В Windows семейства NT уже вшиты зачаточные возможности серверов. Поднять VPN-сервер на одной из машин не составит труда. В качестве сервера я буду приводить примеры скриншотов Windows 7, но общие принципы будут теми же самыми, что и для старушки XP.
Учтите, что для соединения двух сетей, нужно чтобы они имели разный диапазон! Например, в головном офисе диапазон может быть 192.168.0.x, а в филиале – 192.168.20.x (или любой диапазон серых ip). Это очень важно, так что будьте внимательны. Теперь, можно приступать к настройке.
Зайдите на сервере VPN в Панель управления -> Центр управления сетями и общим доступом ->изменение параметров адаптера.
Теперь нажмите клавишу Alt, вызвав меню. Там в пункте Файл нужно выбрать «Новое входящее подключение».
Поставьте галочки тем пользователям, которые могут входить в систему по VPN. Я настоятельно рекомендую Добавить нового пользователя, назвать его понятным именем и назначить пароль.
После того, как вы это сделали, нужно в следующем окне выбрать как будут подключаться пользователи. Ставьте галку «Через интернет». Теперь вам остается назначить диапазон адресов виртуальной сети. Причем, можно выбрать сколько всего компьютеров может участвовать в обмене данных. В следующем окне выберите протокол TCP/IP версии 4 нажмите «Свойства»:
У вас появится то, что у меня на скриншоте. Если вы хотите, чтобы клиент получил доступ к локальной сети, в которой находится сервер, просто ставьте галку «Разрешить звонящим доступ к локальной сети». В пункте «Назначение IP адресов» я рекомендую указать адреса вручную по принципу, который я выше описал. В моем примере я дал диапазону всего двадцать пять адресов, хотя мог указать просто и два и 255.
После этого жмем на кнопку «Разрешить доступ».
Система автоматически создаст VPN-сервер, который будет сиротливо ожидать, когда к нему кто-либо присоединится.
Теперь остается дело за малым – настроить VPN-клиента. На клиентской машине также идете в Центр управления сетями и общим доступом и выбираете Настройка нового подключения или сети. Теперь вам нужно будет выбрать пункт «Подключение к рабочему месту»
Жмете на «Использовать мое подключение к Интернету и теперь вас выбросит в окно, где нужно будет ввести адрес нашего интернет-шлюза в филиале. У меня он имеет вид 95.2.x.x
Теперь можно вызывать подключение, вводить то имя пользователя и пароль, который вы ввели на сервере и пытаться подключиться. Если все правильно, то вы подключитесь. В моем случае, я могу уже посылать пинг любому компьютеру филиала и запрашивать камеру. Теперь ее моно легко цеплять к видеосерверу. У вас же может быть что-то другое.
Как вариант, при подключении может выскочить ошибка 800, сигнализируящая о том, что с подключением что-то не то. Это проблема брэндмауэра либо клиента, либо сервера. Конкретно я сказать вам не могу – все определяется экспериментально.
Вот так незатейливо мы создали VPN между двумя офисами. Таким же образом можно объединить и игроков. Однако не стоит забывать, что это будет все-таки не полноценный сервер и лучше использовать более продвинутые средства, о которых я расскажу в следующих частях.
В частности, в части 2 мы с вами рассмотрим настройку OPenVPN под Windows и Linux.