Я не могу уже держать это в себе. Я понимаю, это гордыня, а гордыня - смертный грех. Но я два дня бился, и я таки решил эту задачу! Я горд собой, и мне хочется об этом рассказать.
И да, я понимаю, что для системного администратора это вообще не задача. Но я, во-первых, никогда не был сисадмином, я был программистом PHP, Java ну и остального помелочи. Во-вторых, я уже как 13 лет не программист, а журналист.
Короче, кратко опишу задачу: надо обеспечить связь между бойцами на передовых позициях, и штабом, который в тылу. Проблема в том, что прямой видимости нет - там холм, и напрямую по воздуху связь установить невозможно.
У нас есть два ретранслятора TYT MD-7500. Они умеют связываться друг с другом по UTP кабелю, один из них работает как Master, другие как Slave, получается "звезда". При этом сигнал, приходящий на любой из них, передается на все остальные.
Но, понятно, кабель между ними не прокинешь, там большое расстояние, но, спасибо Илону нашему Маску - есть такое чудо как Starlink. Короче, возникла идея связать два ретрика через интернет. Но проблема в том, что тогда одному из них - Мастеру, нужен белый IP, а у нас его нет.
Значит надо так настроить два ретранслятора, чтобы они могли гонять между друг другом данные, при этом думая, что они в одной локальной сети, а не за десятки км друг от друга. Никаких настроек типа VPN, туннелей или чего-то подобного там нет. Там можно просто указать IP адрес и порт главного ретрика. И всё.
Короче, как я сделал. Я поднял VPN сервер WireGuard на VDS. Ретрики подключил к двум роутерам Kinetic Start. На них настроил подключения WireGuard. В итоге роутеры у меня в одной VPN сети, и имеют адреса типа 10.1.1.2 и 10.1.1.3. При этом ретрики никак в VPN не засунуть, нет там таких настроек, их IP адреса вида 192.168.3.xxx.
На Slave я прописал IP мастера - 10.1.1.2 - то есть это IP одного их Кинетиков. А на нем настроил маршрутизацию - все запросы отправлять в подключение VPN, и пробросил порт на локальный IP адрес ретрика - у меня он 192.168.3.100.
Это так, в общих чертах. И всё работает! Теперь я могу ретрик расположить хоть на другой стороне Земли, и общаться по обычной рации за тысячи километров!
Вы не представляете сколько радости было. Просто я представляю как это выгладит со стороны - журналист, блогер, сидит, что-то в командной строке пишет на сервере с Debian, какие-то VPN, пробросы портов, маршруты, NAT, правила iptables, логи tcpdump... опс, и всё работает.
В общем, позволю сегодня быть себе нескромным - потому что я реально крутую вещь сделал, которая здорово поможет нашим на ЛБС! Потому что связь это очень важно!
Можете меня поздравить подпиской на телеграм проекта "Сделано у нас" здесь, но только если вам правда интересно следить за развитием и достижениями России. Или плюсик поставьте.
А, ну и кстати, если есть тут опытные сисадмины, как бы вы решили эту задачу? Может есть более элегантный способ?