- Объединение двух локальных сетей через VDS
- Как происходит объединение сетей
- Объединяем локальные сети через VDS и PPTP
- Настройка и подключение PPTP
- Установка MikroTik
- Iptables
- Объединяем свои устройства через интернет в одну сеть (VPN для самых маленьких, в картинках)
- Шаг 1 — регистрация на AWS
- Шаг 2 — создаём виртуальный сервер
- Шаг 3.1 — настройка сервера (AWS)
- Шаг 3.2 — настройка сервера (Windows)
- Шаг 4 — настройка клиента
- Бонус (shadowsocks)
Объединение двух локальных сетей через VDS
Несколько офисов можно объединить в одну сеть – это позволяет обеспечить расширенный доступ к информационным ресурсам одной организации. Целью такого слияния обычно служит использование единой офисной АТС, обеспечение доступа к ресурсам компании из различных локаций, удаленный доступ к другим ПК и многое другое.
О том, как все это можно организовать через VDS, мы поговорим в сегодняшней статье.
Как происходит объединение сетей
Первое, что может прийти в голову перед связкой двух мест, – это приобрести персональную линию между двумя точками. Ранее такой способ мог пройти, но сейчас есть более выгодные решения.
Например, использование виртуальной частной сети, которая именуется VPN. Это набор технологий, которые позволяют провести несколько сетевых соединений. В зависимости от используемого протокола, VPN разрешает организовать объединение различных типов сетей. С помощью VPN осуществляется соединение нескольких сетей в офисах и прочих учреждениях.
Далее мы рассмотрим, как выполнить такую связь на VDS-сервере с использованием PPTP.
Объединяем локальные сети через VDS и PPTP
Мы выяснили, что при слиянии сетей в силу вступает технология VPN, но что же такое PPTP? Это один из первых протоколов, который использовался в VPN еще на ОС Windows 95. Он работает во многих организациях и по сей день. PPTP наиболее простой в настройке и быстрый протокол.
Нельзя не упомянуть и его минусы: PPTP уязвим. Его стандартные методы аутентификации небезопасны, в связи с чем часто взламываются злоумышленниками. Альтернативой этому протоколу могут выступать L2TP, IPSec или OpenVPN – они хорошо защищены и используются многими разработчиками. Однако в данной статье мы не будем на них останавливаться, а рассмотрим лишь подключение через PPTP.
Настройка и подключение PPTP
Для примера мы будем использовать VDS на хостинге Timeweb.
Подключение к консоли реализуем через программу PuTTY, которая предназначена для удаленного доступа к серверу. С помощью нее можно удобно копировать и вставлять команды в консоль. Давайте посмотрим, как с ней работать.
Переходим по ссылке и загружаем на рабочий стол PuTTY. Далее запускаем программу и в разделе «Session» вводим IP-адрес хостинга, указываем порт 22 и выбираем SSH-соединение. Последним действием кликаем по кнопке «Open».
В результате перед нами отобразится консольное окно – в нем пока что требуется только авторизоваться. Вводим логин и пароль от своего VDS и следуем далее.
Теперь все последующие команды, которые нам нужно использовать для объединения сетей, можно скопировать и вставить в консоль простым кликом правой кнопки мыши.
Можно переходить к установке протокола. Первым делом ставим PPTP на сервер, для этого вводим:
Эта и последующие команды актуальны для дистрибутивов Ubuntu.
В результате установки не должно возникнуть никаких ошибочных строчек. Если такое произойдет, то стоит использовать команду снова – после этого ошибки чаще всего исчезают.
Далее открываем файл для редактирования:
При открытии файла перед нами отобразится новое окно. В нем мы будем выполнять последующее редактирование строк.
Указываем диапазон выдаваемых IP-адресов, для этого изменяем строчки localip (IP-адрес вашего сервера) и remoteip (адреса клиентов). Для примера я использую значения:
localip 17.255.0.1 remoteip 17.255.0.100-200
После этого сохраняем внесенные изменения с помощью комбинации клавиш «CTRL+O» и выходим из файла «CTRL+X». Следующим шагом открываем chap-secrets и добавляем в него клиентов. Пример:
A pptpd password 17.255.0.1 B pptpd password 17.255.0.15 C pptpd password 17.255.0.20
Первая буква – это наши сети, password – придуманный пароль, содержащий не более 63 символов, IP – адреса клиентов.
Сохраняем изменения и перезагружаемся:
Далее переходим в nano /etc/sysctl.conf и добавляем:
net.ipv4.ip_forward = 1
Завершаем действия строчкой:
На этом настройка завершена. Далее мы поговорим о подключении Микротика.
Установка MikroTik
Следующая инструкция будет приведена на примере последней версии роутера MikroTik, поэтому вы можете спокойно скачивать самую свежую прошивку.
Запускаем программу Микротик и переходим в Interface -> + PPTP Client. В разделе «General» указываем имя и переходим в окно «Dial Out».
Далее в строчке «Connect To» прописываем адрес для соединения, указываем имя и пароль, в завершение кликаем по кнопке «Apply».
После этого произойдет подключение по адресу 17.255.0.1, который мы указали ранее.
Аналогичным образом подключаем MikroTik к другой сети, он будет соединяться с 17.255.0.15 и другими IP.
Iptables
С Микротиком мы разобрались, но подключиться к нему по VPN мы пока не можем.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A INPUT -p gre -j ACCEPT iptables -A INPUT -m tcp -p tcp --dport 1723 -j ACCEPT iptables -I INPUT -s 17.255.0.0/32 -i ppp0 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp1 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp1 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp2 -j MASQUERADE Далее добавляем еще один набор: iptables -I INPUT -s 17.255.0.0/32 -i ppp2 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp3 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp3 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp4 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp4 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp5 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp5 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp6 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp6 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp7 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp7 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp8 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp8 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp9 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp09 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp10 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp10 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp11 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp11 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp12 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp12 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp13 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp13 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp14 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp14 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp15 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp15 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp16 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp16 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp17 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp17 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp18 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp18 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp19 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp19 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp20 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp20 -j ACCEPT iptables --append FORWARD --in-interface eth0 -j ACCEPT
Перезапускаем сервер, чтобы изменения вступили в силу:
Сохраняем установленные выше настройки, чтобы они не сбросились при следующем запуске (актуально для Ubuntu, на других дистрибутивах пути могут отличаться):
iptables-save > /etc/iptables_rules
Объединяем свои устройства через интернет в одну сеть (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 под него устанавливается менеджером пакетов, да и сама ОС потребляет меньше ресурсов и без того дохлого виртуального сервера.