RU
Admin Guide
Admin Guide
27 подписчиков
цели
7 из 100 платных подписчиков
Нужно 100 платных подписчиков чтобы я мог уделять больше времени контенту
22.15 из $ 1 662 собрано
На тестовый стенд для всяких штук фигурирующих в видеоуроках и сетевую хранилку для них же.
0 из $ 16 614 собрано
На новый ноутбук (:

VPN Tinc 1.0 быстрый старт

Децентрализованный VPN Tinc — это пожалуй самый первый шаг к
отвязыванию себя от географиечкой привязки к тем или иным частным
сервисам. Есть к примеру сервер к которому нужно иметь доступ, он
находится в одном офисе. Есть ВПН сервер в другом офисе, к которому
подключен первый сервер, и через этот ВПН сервер мы можем получать
доступ к нужному нам серверу. Но вот падает ВПН сервер и мы остаёмся не у
дел. Tinc — первый шаг к решению проблемы.
В общем бывают ситуации когда либо надо подключаться к куче
разнесённых географически точек и не хочется на каждой точке
организовывать отдельный впн сервер. Либо когда все точки объединены в
одну сеть с центральным ВПН сервером, но не хочется терять доступ ко
всем точкам из-за падения или выхода из строя одного единстввенного
сервера. Выходом в этой ситуации может стать full-mesh впн.
В данной статье будет рассмотрен базовый пример, у нас будет
несколько сетей с белым статическим IP адресом, в каждой из них будет по
2 машины на которых будет настроен Tinc и блуждающий, подключённый к
мобильному инету ноутбук, которому необходимо иметь доступ к этим
серверам.
Названия устройств:
tincsrv_a01 — сервер в сети A . Внешний адрес 1.2.3.4, порт 43234
tincsrv_a02 — сервер в сети A. Внешний адрес 1.2.3.4, порт 43235
tincsrv_b01 — сервер в сети B. Внешний адрес 2.3.4.5, порт 44234
tincsrv_b02 — сервер в сети B. Внешний адрес 2.3.4.5, порт 44235
tincclnt01 — клиент
Так же внутри сети А и сети В при желании можно настроить взаимное
подключение серверов друг к другу по локальному IP адресу, а не по
внешнему адресу, просто отредактировав профили в папке hosts
соответствующих хостов.
Разделение на клиенты и сервера в tinc вполне условное, потому мы
будем использовать такие понятия в текущем контексте больше из привычки
чем из необходимости.
Собственно настройка сервера a01
sudo apt update -y
sudo apt install tinc -y
sudo mkdir -p /etc/tinc/adminguideru/hosts
sudo echo 'Name tinc_a01' >> /etc/tinc/adminguideru/tinc.conf
sudo echo 'AddressFamily ipv4' >> /etc/tinc/adminguideru/tinc.conf
sudo echo 'Interface tun0' >> /etc/tinc/adminguideru/tinc.conf
sudo echo 'Address 1.2.3.4' >> /etc/tinc/adminguideru/hosts/tinc_a01
sudo echo 'Port 43234' >> /etc/tinc/adminguideru/hosts/tinc_a01
sudo echo 'Subnet 10.5.5.1/32' >> /etc/tinc/adminguideru/hosts/tinc_a01
sudo echo '#!/bin/sh' >> /etc/tinc/adminguideru/tinc-up
sudo echo 'ip link set $INTERFACE up' >> /etc/tinc/adminguideru/tinc-up
sudo echo 'ip addr add 10.5.5.1/32 dev $INTERFACE' >> /etc/tinc/adminguideru/tinc-up
sudo echo 'ip route add 10.5.5.0/24 dev $INTERFACE' >> /etc/tinc/adminguideru/tinc-up
sudo echo '#!/bin/sh' >> /etc/tinc/adminguideru/tinc-down
sudo echo 'ip route del 10.5.5.0/24 dev $INTERFACE' >> /etc/tinc/adminguideru/tinc-down
sudo echo 'ip addr del 10.5.5.1/32 dev $INTERFACE' >> /etc/tinc/adminguideru/tinc-down
sudo echo 'ip link set $INTERFACE down' >> /etc/tinc/adminguideru/tinc-down
sudo chmod 755 /etc/tinc/adminguideru/tinc-*
sudo tincd -n adminguideru -K4096
Настройка сервера a02
sudo apt update -y
sudo apt install tinc -y
sudo mkdir -p /etc/tinc/adminguideru/hosts
sudo echo 'Name tinc_a02' >> /etc/tinc/adminguideru/tinc.conf
sudo echo 'AddressFamily ipv4' >> /etc/tinc/adminguideru/tinc.conf
sudo echo 'Interface tun0' >> /etc/tinc/adminguideru/tinc.conf
sudo echo 'ConnectTo tinc_a01' >> /etc/tinc/adminguideru/tinc.conf
sudo echo 'Address 1.2.3.4' >> /etc/tinc/adminguideru/hosts/tinc_a02
sudo echo 'Port 43235' >> /etc/tinc/adminguideru/hosts/tinc_a02
sudo echo 'Subnet 10.5.5.2/32' >> /etc/tinc/adminguideru/hosts/tinc_a02
sudo echo '#!/bin/sh' >> /etc/tinc/adminguideru/tinc-up
sudo echo 'ip link set $INTERFACE up' >> /etc/tinc/adminguideru/tinc-up
sudo echo 'ip addr add 10.5.5.2/32 dev $INTERFACE' >> /etc/tinc/adminguideru/tinc-up
sudo echo 'ip route add 10.5.5.0/24 dev $INTERFACE' >> /etc/tinc/adminguideru/tinc-up
sudo echo '#!/bin/sh' >> /etc/tinc/adminguideru/tinc-down
sudo echo 'ip route del 10.5.5.0/24 dev $INTERFACE' >> /etc/tinc/adminguideru/tinc-down
sudo echo 'ip addr del 10.5.5.2/32 dev $INTERFACE' >> /etc/tinc/adminguideru/tinc-down
sudo echo 'ip link set $INTERFACE down' >> /etc/tinc/adminguideru/tinc-down
sudo chmod 755 /etc/tinc/adminguideru/tinc-*
sudo tincd -n adminguideru -K4096
Настройка сервера b01
sudo apt update -y
sudo apt install tinc -y
sudo mkdir -p /etc/tinc/adminguideru/hosts
sudo echo 'Name tinc_b01' >> /etc/tinc/adminguideru/tinc.conf
sudo echo 'AddressFamily ipv4' >> /etc/tinc/adminguideru/tinc.conf
sudo echo 'Interface tun0' >> /etc/tinc/adminguideru/tinc.conf
sudo echo 'Address 2.3.4.5' >> /etc/tinc/adminguideru/hosts/tinc_b01
sudo echo 'Port 44234' >> /etc/tinc/adminguideru/hosts/tinc_b01
sudo echo 'Subnet 10.5.5.3/32' >> /etc/tinc/adminguideru/hosts/tinc_b01
sudo echo '#!/bin/sh' >> /etc/tinc/adminguideru/tinc-up
sudo echo 'ip link set $INTERFACE up' >> /etc/tinc/adminguideru/tinc-up
sudo echo 'ip addr add 10.5.5.3/32 dev $INTERFACE' >> /etc/tinc/adminguideru/tinc-up
sudo echo 'ip route add 10.5.5.0/24 dev $INTERFACE' >> /etc/tinc/adminguideru/tinc-up
sudo echo '#!/bin/sh' >> /etc/tinc/adminguideru/tinc-down
sudo echo 'ip route del 10.5.5.0/24 dev $INTERFACE' >> /etc/tinc/adminguideru/tinc-down
sudo echo 'ip addr del 10.5.5.3/32 dev $INTERFACE' >> /etc/tinc/adminguideru/tinc-down
sudo echo 'ip link set $INTERFACE down' >> /etc/tinc/adminguideru/tinc-down
sudo chmod 755 /etc/tinc/adminguideru/tinc-*
sudo tincd -n adminguideru -K4096
Настройка сервера b02
sudo apt update -y
sudo apt install tinc -y
sudo mkdir -p /etc/tinc/adminguideru/hosts
sudo echo 'Name tinc_b02' >> /etc/tinc/adminguideru/tinc.conf
sudo echo 'AddressFamily ipv4' >> /etc/tinc/adminguideru/tinc.conf
sudo echo 'Interface tun0' >> /etc/tinc/adminguideru/tinc.conf
sudo echo 'Address 2.3.4.5' >> /etc/tinc/adminguideru/hosts/tinc_b02
sudo echo 'Port 44235' >> /etc/tinc/adminguideru/hosts/tinc_b02
sudo echo 'Subnet 10.5.5.4/32' >> /etc/tinc/adminguideru/hosts/tinc_b02
sudo echo '#!/bin/sh' >> /etc/tinc/adminguideru/tinc-up
sudo echo 'ip link set $INTERFACE up' >> /etc/tinc/adminguideru/tinc-up
sudo echo 'ip addr add 10.5.5.4/32 dev $INTERFACE' >> /etc/tinc/adminguideru/tinc-up
sudo echo 'ip route add 10.5.5.0/24 dev $INTERFACE' >> /etc/tinc/adminguideru/tinc-up
sudo echo '#!/bin/sh' >> /etc/tinc/adminguideru/tinc-down
sudo echo 'ip route del 10.5.5.0/24 dev $INTERFACE' >> /etc/tinc/adminguideru/tinc-down
sudo echo 'ip addr del 10.5.5.4/32 dev $INTERFACE' >> /etc/tinc/adminguideru/tinc-down
sudo echo 'ip link set $INTERFACE down' >> /etc/tinc/adminguideru/tinc-down
sudo chmod 755 /etc/tinc/adminguideru/tinc-*
sudo tincd -n adminguideru -K4096
Настройка клиента tincclnt01
`sudo apt update -y
`sudo apt install tinc -y
sudo mkdir -p /etc/tinc/adminguideru/hosts
sudo echo 'Name tincclnt_01' >> /etc/tinc/adminguideru/tinc.conf
sudo echo 'AddressFamily ipv4' >> /etc/tinc/adminguideru/tinc.conf
sudo echo 'Interface tun0' >> /etc/tinc/adminguideru/tinc.conf
sudo echo 'ConnectTo tinc_a01' >> /etc/tinc/adminguideru/tinc.conf
sudo echo 'Subnet 10.5.5.101/32' >> /etc/tinc/adminguideru/hosts/tincclnt_01
sudo echo 'Address 212.119.242.94' >> /etc/tinc/adminguideru/hosts/tinc_a01
sudo echo 'Port 43234' >> /etc/tinc/adminguideru/hosts/tinc_a01
sudo echo 'Subnet 10.5.5.1/32' >> /etc/tinc/adminguideru/hosts/tinc_a01
sudo echo '#!/bin/sh' >> /etc/tinc/adminguideru/tinc-up
sudo echo 'ip link set $INTERFACE up' >> /etc/tinc/adminguideru/tinc-up
sudo echo 'ip addr add 10.5.5.101/32 dev $INTERFACE' >> /etc/tinc/adminguideru/tinc-up
sudo echo 'ip route add 10.5.5.0/24 dev $INTERFACE' >> /etc/tinc/adminguideru/tinc-up
sudo echo '#!/bin/sh' >> /etc/tinc/adminguideru/tinc-down
sudo echo 'ip route del 10.5.5.0/24 dev $INTERFACE' >> /etc/tinc/adminguideru/tinc-down
sudo echo 'ip addr del 10.5.5.101/32 dev $INTERFACE' >> /etc/tinc/adminguideru/tinc-down
sudo echo 'ip link set $INTERFACE down' >> /etc/tinc/adminguideru/tinc-down
sudo chmod 755 /etc/tinc/adminguideru/tinc-*
sudo tincd -n adminguideru -K4096
Копируем профили между машинами для обеспечения доступа между ними
После того как мы на хосте запускаем команду
sudo tincd -n adminguideru -K4096в
папке hosts в файле с именем текущего хоста добавится публичный ключ
хоста. Принцип прост, если наш хост в файле tinc.conf имеет разделы
ConnectTo с именами хостов к которым он подключается, значит в папке
hosts у этого хоста должны быть профили с публичными ключами тех
серверов к которым он делает ConnectTo. В моём случае как пример я
настраиваю для 4х серверов связь друг с другом, и у клиента — связь со
всеми серверами. Поэтому у каждого хоста в tinc.conf помимо профильных
настроек у меня будет написано
ConnectTo tinc_a01
ConnectTo tinc_a02
ConnectTo tinc_b01
ConnectTo tinc_b02
Запускаем на каждом хосте tincd
sudo tincd -n adminguideru -D -d3
И получаем возможность с клиента пинговать любой сервер по его
внутреннему адресу из подсети 10.5.5.0 даже если он подключится только к
одному из серверов.
Собственно как-то так, на коленке, теперь у вас есть прототип для Tinc 1.0 чтобы строить свою full-mesh сеть.

Уровни подписки

Общий Discord

$ 0,12 в месяц
+ Выделение цветом в Discord
+ чат

На кофе

$ 1,1 в месяц
+ Выделение цветом в Discord
+ чат

РД4

$ 4,5 в месяц
Доступ к преимуществам предыдущих уровней
+ Ранний доступ ко некоторым материалам минимум за 4 месяца до релиза
+ Выделение цветом в Discord
+ чат

РД6

$ 7,8 в месяц
Доступ к преимуществам предыдущих уровней
+ Доступ к прямым трансляциям
+ Доступ в закрытый канал Дискорд
+ Доступ к материалам раньше всех
+ чат

Платные консультации

$ 35 в месяц
Платные консультации касаемо мониторинга

Индивидуальные занятия по Zabbix

$ 184 в месяц
- 4 занятия в месяц по 120 минут
- с нуля до начального уровня
- консультации в чате дискорда на весь срок действия тарифа
Наверх