Собираем локальную сеть через интернет

Сегодня хочу показать как можно быстро и без существенных затрат собрать ваши ПК и телефоны в одну локальную сеть через интернет, делается все быстро, просто и без существенных затрат.

Собирать будем на базе ZeroTier

ZeroTier One - это программное обеспечение с открытым исходным кодом, которое может устанавливать одноранговое зашифрованное (P2P) между различными устройствами под управлением различных операционных систем. Он также предоставляет возможности управления сетью, такие как маршрутизация и создание правил брандмауэра.

Подготовка

  1. Переходим на https://my.zerotier.com/login создаем аккаунт и входим в него

  2. Откройте вкладку «Networks» и нажмите кнопку «Create a Network».

Собираем локальную сеть через интернет Windows, Linux, Android, Гайд, Программа, Длиннопост, Telegram (ссылка)

3. Зайдите во вновь созданную сеть что бы настроить ее

Собираем локальную сеть через интернет Windows, Linux, Android, Гайд, Программа, Длиннопост, Telegram (ссылка)

4. Вводим имя, выбираем тип сет Private

Собираем локальную сеть через интернет Windows, Linux, Android, Гайд, Программа, Длиннопост, Telegram (ссылка)

5. Мотаем ниже до раздела IPv4 Auto-Assign, ставим галочку Auto-Assign from Range, выбираем Easy, выбираем понравившийся диапазон из верхней или самой нижней строчки, это малые диапазоны на 256 адрес, больше не нужно, т.к. на бесплатном аккаунте ограничение в 25 устройств.

Собираем локальную сеть через интернет Windows, Linux, Android, Гайд, Программа, Длиннопост, Telegram (ссылка)

5. Мотаем еще чуть ниже до раздела Multicast, и проверяем что стоит галочка на пункте Enable Broadcast

Собираем локальную сеть через интернет Windows, Linux, Android, Гайд, Программа, Длиннопост, Telegram (ссылка)

Собственно на этом подготовка закончена, и можно приступать к добавлению участников локальной сети

Для телефонов ищем приложение ZeroTier One в официальном магазине приложений, как для Android так и для iOS, для Windows и Mac качаем приложение с официального сайта разработчика https://www.zerotier.com/download/
Если у вас Linux откройте терминал и выполните команду

sudo curl -s https://install.zerotier.com | sudo bash

Качаем, устанавливаем, запускаем

Настройка

  1. В Windows появится значок в трее, щалкаем по нему правой кнопкой и выбираем Join New Network

  2. В появившемся окошке вставляем ваш NetworkID из панели управления и нажимаем Join

Собираем локальную сеть через интернет Windows, Linux, Android, Гайд, Программа, Длиннопост, Telegram (ссылка)
Собираем локальную сеть через интернет Windows, Linux, Android, Гайд, Программа, Длиннопост, Telegram (ссылка)

3. Далее добавляем например телефон, устанавливаем приложение, открываем, нажимаем плюс в правом верхнем углу, вводим адрес сети и нажимаем Add Network

Собираем локальную сеть через интернет Windows, Linux, Android, Гайд, Программа, Длиннопост, Telegram (ссылка)
Собираем локальную сеть через интернет Windows, Linux, Android, Гайд, Программа, Длиннопост, Telegram (ссылка)

На Windows клиент автоматически подключится после добавления, на телефоне нужно будет переключить ползунок напротив идентификатора новой сети в положение включено.

4. Теперь возвращаемся в личный кабинет, и мотаем вниз до раздела Members, если оба клиента подключены, их можно будет увидеть в списке, ставим галочки в столбце Auth напротив каждого из них, и ждем пока у них появятся адреса в столбце Managed IPs

Собираем локальную сеть через интернет Windows, Linux, Android, Гайд, Программа, Длиннопост, Telegram (ссылка)

5. После того как мы поставили галочки, это значит что мы авторизовали устройства и они имеют доступ друг к другу, проверяем, открываем терминал на ПК например и пробуем пинговать телефон, если пинг прошел, ура, мы справились, наша сеть работает.

Собираем локальную сеть через интернет Windows, Linux, Android, Гайд, Программа, Длиннопост, Telegram (ссылка)

Данный способ позволяет быстро организовывать небольшие сетки, можно расшарить доступ например к сетевой папке или принтеру для друга, или выйти в интернет с домашнего адреса. Например если мобильный оператор куда-то не пускает, ну или организовать что-то вроде шлюза в интернет если вас куда-то не пускают с адресом домашнего интернета.

Сделать последний пункт не сложно, у меня есть VPS на базе убунту22 с личным сайтом и я его тоже подулючил в эту локалку. Там требуется вчего несколько действий:

1.Подключаемся к серверу по ssh и установливаем ZeroTier One

sudo curl -s https://install.zerotier.com | sudo bash

2. Подключаем сервер к нашей сети командой

sudo zerotier-cli join xxxx62b0157d3aeb

где xxxx62b0157d3aeb это id вашей сети из панели управления

3. Включаем маршрутизацию на сервере, добавляем в файл /etc/sysctl.conf строчку

net.ipv4.ip_forward = 1

и применяем параметры ядра командой

sudo sysctl -p

4. Вот тут важно, далее нужно настроить фаервол что бы работали правила NAT, проверяем включен ли фаервол вообще командой

ufw status verbose

если статус inactive или команда не найдена то выполняем команду

iptables -t nat -A POSTROUTING -o ethXXX -j MASQUERADE

где ethXXX это глеавнй интерфейс вашего сервера, посмотреть его можно командой ip link show, на виртуальных серверах это обычно ethX или ensX

!!!Данное правило будет работать только до момента перезагрузки, и в зависимости от того как ваш хостер собирает образ этой ОС список правил iptables может хранится в разных местах если вообще хранится, это нужно будет искать на сервере или уточнить у хостера.

Если же фаервол включен, то открываем на редактирование файл /etc/ufw/before.rules и в конец вставляем следующий блок

*nat

-F

:POSTROUTING ACCEPT [0:0]

-A POSTROUTING -o ethXXX -j MASQUERADE

COMMIT

Не забываем указать правильное имя интерфейса, сохраняем и перезапускаем фаервол командой

sudo ufw reload

5. Теперь идем в личный кабинет ZeroTier и добавляем маршурт по умолчанию для нашей сети

Находим блок Managed Routes
В поле Destination вводим 0.0.0.0/0 а в поле Via адрес нашего сервера в локальной сети, его можно посмотреть в списке Member ниже, и нажимаем кнопку Submit

Собираем локальную сеть через интернет Windows, Linux, Android, Гайд, Программа, Длиннопост, Telegram (ссылка)

6.Далее в телефоне открываем приложение, выключаем подключение, заходим в него и переключаем ползунок Enable Default Route в положение включено, возвращаемся к списку сетей и включаем подклчюение. Проверяем например на сайте 2ip.ru какой отображается адрес, если это адрес вашего сервера, то всеч хорошо и все работает. Для включения данной функции на ПК - щелкаем правой кнопкой мыши в трее, находим нашу подключенную сеть, выбираем Allow Default Router Override, ждем какое-то время и проверяем что теперь в интернет мы ходим через наш серевр.

Так же можно развернуть свой сетевой контроллер, например на базе zero-ui но его установка и настройка для каких-то простых целей имеет мало смысла, т.к. тут и свой сервер нужен, и домен и посидеть покопаться придется, в общем овчинка может не стоить выделки.

Вместо заключения

Плюсы :
- Простой и быстрый старт, для простой локалки не нужно устанавливать и настраивать что-то сложное,
- В бесплатной версии возможно подключить до 25 устройств, что для домашнего использования более чем достаточно.
Минусы:
- К сожалению в век блокировок протокол может отлететь в любой момент наряду с другими которые уже блокируются,
- Есть небольшие вопросы к времени установления соединения, иногда с телефона думает в районе минуты после включения.

Если вы решили попробовать и у вас что-то не получилось за советом и помощью всегда можно придти в мой тг канал.