пятница, 2 января 2026 г.

Как подключиться к своему компьютеру, когда ты в отъезде

Дисклаймер: решение предназначено исключительно для организации внутренних корпоративных сетей в соответствии с законодательством РФ.

Построение бесшовной Mesh-сети между домом и офисом: как перестать мучиться с конфигурациями Виртуальной Частной Сети

В 2026 году граница между «офисным» и «домашним» рабочим местом окончательно стерлась. Для системного администратора это создало новый вызов: как объединить разрозненные устройства сотрудников, домашние NAS-серверы и корпоративные кластеры в единую, безопасную и, главное, простую в управлении сеть.
Проблема классических корпоративных VPN
Традиционные решения вроде Cisco AnyConnect или нагруженных OpenVPN-серверов часто избыточны для задач малого бизнеса или индивидуальной настройки «дом-офис». Основные боли админа здесь:
  1. Сложность настройки клиентов: Объяснять каждому сотруднику (или самому себе на пятом устройстве), как импортировать сертификаты и настраивать маршруты — сомнительное удовольствие.
  2. Производительность: Старые протоколы ощутимо «едят» скорость и создают задержки, что критично при работе с удаленными рабочими столами (RDP) или тяжелыми базами данных.
  3. Безопасность узлов: Проприетарные решения — это всегда вопрос доверия к вендору. В современных реалиях полный контроль над кодом и ключами на обеих сторонах туннеля — обязательное требование.
Переход к концепции Self-hosted Mesh
Наиболее эффективным подходом сегодня является создание собственной приватной сети на базе легких протоколов (например, WireGuard). Идея в том, чтобы ваш сервер был не просто «шлюзом в интернет», а полноценным координатором, объединяющим ваши локальные ресурсы в разных локациях.
Однако ручное прописывание пиров (peers) и статических маршрутов для каждого домашнего ноутбука превращается в ад при масштабировании.
Автоматизация через Open Source: 
Для тех, кто ценит свое время, оптимальным инструментом стали опенсорсные решения, автоматизирующие развертывание VPN-инфраструктуры..
Если смотреть на него не как на средство доступа к сайтам, а как на инструмент сетевого инжиниринга, открываются интересные возможности:
  1. Мгновенный подъем узла: Вы берете любую чистую VPS (или сервер в офисе), и через клиент в пару кликов разворачиваете на ней выбранный стек (WireGuard, OpenVPN или Cloak для защиты от сканирования портов).
  2. Единая сеть для всех устройств: Проект позволяет легко генерировать конфиги для новых «точек» сети. Это идеальный способ быстро подключить домашний медиасервер к офисному файловому хранилищу.
  3. Полный контроль над данными: Весь стек работает в Docker-контейнерах на вашем оборудовании. Никаких сторонних облаков, через которые мог бы проходить трафик. Вы сами определяете политику логирования и шифрования.
  4. Легкость для конечного пользователя: Если вам нужно подключить коллегу к вашей сети, вы просто кидаете ему файл или QR-код. Клиент сам подхватит настройки, избавив вас от необходимости писать инструкции на 10 листов.
Практический кейс: NAS дома — База данных в офисе
Используя технологию, можно настроить стабильный туннель между домашним роутером (через VPN-клиент) и офисным шлюзом. Благодаря современным протоколам, задержки минимальны, и вы можете монтировать удаленные диски так, будто они находятся в соседней комнате, при этом будучи уверенными, что трафик надежно инкапсулирован.
Резюме
В 2026 году администрирование сети должно быть модульным и автоматизированным. Использование проверенных Open Source инструментов, позволяет системному администратору сфокусироваться на архитектуре и задачах бизнеса, а не на рутинной правке конфигов и генерации сертификатов вручную.
 
А как вы решаете задачу объединения удаленных локаций? Пишете скрипты на bash или доверяете автоматизированным контейнерам?
 
Получить консультацию по настройке собственной сети или подключиться к существующей, вы можете, написав в форму обратной связи - "Получить консультацию".
 

пятница, 30 мая 2025 г.

Продвинутая консоль в связке alacritty и zellij

1. Установка эмулятора терминала

apt install alacritty

mkdir -p ~/.config/alacritty

vim ~/.config/alacritty/alacritty.toml

 

[window]
opacity = 0.96
startup_mode = "Windowed"
decorations = "Full"
dynamic_title = true

[scrolling]
# если у вас мало памяти, то уменьшите значение
history = 100000
multiplier = 3

[font]
size = 8

# Можно использовать свои шрифты для каждого варианта текста (normal, bold, italic)
[font.normal]
# Использовать лучше всего патченные Nerd-шрифты
family = "JetBrainsMono NF"

# Для лучшей поддержи прозрачности в vim и тп
[colors]
transparent_background_colors = true

[shell]
# Запускаем при старте терминала zellij, при этом используя последнюю сессию
program = "/bin/zsh"
args = ["-lc", "zellij attach --index 0 || zellij",]

2. Установка zellij

curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
cargo install --locked zellij 
3. Установка шрифтов для консоли
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/JetBrainsMono.zip
unzip JetBrainsMono.zip -d JetBrainsMonoNF
mkdir -p ~/.local/share/fonts
cp JetBrainsMonoNF/*.ttf ~/.local/share/fonts/
fc-cache -f -v

четверг, 11 апреля 2024 г.

Хранение каталогов

gocryptfs

gocryptfs -init путь_к_исходной_папке путь_к_новой_папке

gocryptfs путь_к_новой_папке расположение_для_монтирования

вторник, 18 июля 2023 г.

Консольные утилиты

sudo iptraf-ng

sudo tcpdump

sudo tail -f /var/log/syslog

mtr 1.1.1.1

суббота, 2 июля 2022 г.

вторник, 7 июня 2022 г.

пятница, 12 марта 2021 г.

Эскизы изображений в консоли

Эскизы изображений в консоли

feh --image-bg black --auto-zoom --preload --auto-reload --auto-rotate -t -Sfilename -E 128 -y 128 -W 1920 -P -C /usr/share/fonts/TTF/ -e DejaVuSans/8 -d --scale-down --draw-exif "$@"

Индикаторы в командной строке

Погода

 curl wttr.in/Москва?format="%c+%t+(%f)+Ветер:%w+Осадки:%p+Влажность:%h+Луна:+%M+%m"

Внешний IP адрес

curl ifconfig.co/json | grep -E "(\"ip\"|\"country\"|\"city\"|\"asn_org\")" | tail -4 | awk -F ": " '{print $2}' | tr -d \"\, | tr -s "\n" " "

воскресенье, 15 марта 2020 г.

Автозагрузка сервисов

Список всех сервисов и их статус
systemctl list-units --type=service 

Посмотреть список сервисов, которые сейчас выполняются
systemctl list-units --type=service --state=running

сервисы, которые уже добавлены в автозагрузку
systemctl list-unit-files --type=service --state=enabled

Добавить сервис в автозагрузку

sudo systemctl enable имя_сервиса

Удалить сервис из автозагрузки
sudo systemctl disable имя_сервиса

суббота, 14 марта 2020 г.

Определение файлов, в которые производится запись на диск

Выявляем процессы с дисковой активностью
fatrace -f W

как убрать из вывода пустые и закомментированные строки

Убрать из вывода пустые и закомментированные строки 
 
egrep -v '^#|^$' имя_файла

вторник, 14 мая 2019 г.

Скачивание файлов из яндекс.диска через консоль linux

Для скачивания файла через консоль Linux c яндекс диска вам достаточно получить прямую ссылку на файл путём запуска скачивания файла в любом браузере или использовать Полигон сервис Яндекса для получения прямой ссылки на файл и выберите тестовый токен после чего в разделе “Получить ссылку на скачивание публичного ресурса” вставьте вашу публичную ссылку на файл в поле public_key и вы получите в поле “Тело ответа” текст в котором всё что после: "href": и есть ваша ссылка, копируйте её и подставляйте в команду:

wget "your_link" -O filename

где your_link это ваша ссылка, а filename имя файла под которым сохранять файл.
Причем вставлять ссылку нужно в двойные кавычки.

пятница, 14 декабря 2018 г.

Горячие клавиши vim

Горячие клавиши vim

Перемещение по тексту:
h Влево
l Вправо
j Вниз
k Вверх
w Вперед на первую букву слова
e Вперед на последнюю букву слова
b Назад на первую букву слова
ge Назад на последнюю букву слова
W То, же, что и w, но словом считается то, что отделено пустыми символами
E То, же, что и e, но словом считается то, что отделено пустыми символами
B То, же, что и b, но словом считается то, что отделено пустыми символами
gE То, же, что и ge, но словом считается то, что отделено пустыми символами
^ На первый непустой символ строки
$, End На конец строки
0 (ноль), Home На начало строки
( На первую точку слева от курсора (если она есть, в противном случае на начало абзаца)
) На первую точку справа от курсора (если она есть, в противном случае на конец абзаца)
{ На абзац назад до пустой строки
} На абзац вперед до пустой строки
gj На одну экранную строку вниз. Экранная строка — это целая строка длиной меньше ширины экрана, либо часть длинной строки, разделенной на экране на несколько
gk На одну экранную строку вверх.
f# Поиск вперед в строке символа # и установка курсора на него
F# Поиск назад в строке символа # и установка курсора на него
t# Поиск вперед в строке символа # и установка курсора после него
T# Поиск назад в строке символа # и установка курсора после него
; Повтор поиска вперед символа, найденного при помощи f/t/F/T
, Повтор поиска назад символа, найденного при помощи f/t/F/T
% Перемещение курсора на скобку, парную той, на которой находится курсор. Парные символы можно задать при помощи команды :set matchpairs
:# Перемещение курсора на строку #
#G Перемещение курсора на строку #, аналогично :#
gg Перемещение курсора в начало
G Перемещение курсора в конец
#% Перемещение курсора на # процентов от начала
H Перемещение курсора на начало видимой части текста
M Перемещение курсора на середину видимой части текста
L Перемещение курсора на конец видимой части текста
Control+u На полэкрана вверх
Control+d На полэкрана вниз
Control+y На одну строку вверх. Курсор при этом не перемещается
Control+e На одну строку вниз. Курсор при этом не перемещается
Control+b На один экран минус 2 строки вверх
Control+f На одну экран минус 2 строки вниз
zt Прокрутка текста так, чтобы курсор оказался вверху экрана
zz Прокрутка текста так, чтобы курсор оказался в середине экрана
zb Прокрутка текста так, чтобы курсор оказался внизу экрана
В обычном режиме:
<< Сдвинуть строку влево (табуляция)
>> Сдвинуть строку вправо (табуляция)
Режим выделения:
v Войти в режим выделения символов
V Войти в режим выделения строк
Control+Shift+v Войти в режим выделения прямоугольного блока текста
gv Выделяет текст, который был выделен предыдущей командой выделения
o Перемещение курсора в области блочного выделения для изменения размера влево
O Перемещение курсора в области блочного выделения для изменения размера вправо
I Включить вставку символов в блочном выделении. После нажатия I набираются символы, а по окончании нажимаете Escape. Все набранные символы будут вставлены в каждую строку
с Аналогично I, но перед вставкой символов удаляет всё, что было выделено блоком
с Аналогично I, но перед вставкой символов удаляет всё от левого края выделения до конца строки
u Изменить регистр выделенных символов на нижний
U Изменить регистр выделенных символов на верхний
~ Изменить регистр выделенных символов на противоположный
J Объединить все строки, находящиеся в области выделения
r Заменить все символы на введенный после r, например rx заменит все символы в области выделения на x
< Сдвинуть выделенный блок влево (табуляция)
> Сдвинуть выделенный блок вправо (табуляция)
Работа с буфером обмена:
«*yy Скопировать строку в буфер обмена текущего выделения. Потом можно вставить скопированное в любом приложении нажатием средней кнопки (колесика) мыши
«+yy Скопировать строку в буфер обмена. Потом можно вставить скопированное в любом приложении нажатием Ctrl+v
«ayy Скопировать строку в регистр a (имена регистров соответствуют буквам латинского алфавита, возможны имена a-z)
«Ayy Добавить строку в регистр a
«ap Вставить текст из регистра a
Метки:
mx Создать метку с именем x
`x Переместить курсор на метку x
‘x Переместить курсор на строку с меткой x
:marks Просмотреть все существующие в данный момент метки
Ctrl+Shift+o Перемещение по меткам назад
Ctrl+Shift+i Перемещение по меткам вперед
` ` Переместить курсор на предыдущую метку
‘ ‘ Переместить курсор на предыдущую метку
Поиск:
/ Войти в режим ввода выражения для поиска. В vim можно использовать при поиске регулярные выражения, при этом символы «.», «*», «[«, «]», «^», «%», «/», «\», «?», «~», «$» являются специальными и их обязательно надо экранировать обратным слэшем («\»)
? То же, что и /, но поиск будет производиться в обратном порядке
n Повторить поиск вперед
N Повторить поиск назад
* Поиск слова, на котором стоит курсор, вперед, со строгим соответствием
# Поиск слова, на котором стоит курсор, назад, со строгим соответствием
g* Поиск слова, на котором стоит курсор, вперед, с нестрогим соответствием, то есть, если курсор на слове win, то будет найдено также слово winter
g# Поиск слова, на котором стоит курсор, назад, с нестрогим соответствием
/выражение\c Поиск слова без учета регистра, независимо от настроек vim. Переключать учет регистра можно командами «:set ignorecase» и «:set noignorecase»
/выражение\C Поиск слова с учетом регистра, независимо от настроек vim
\< Обозначение начала слова при поиске. /\
\> Обозначение конца слова при поиске. /\ — найти только win, но не winter
/выражение/b+1 Найти выражение и установить курсор на символ +1 от начального, то есть на второй
/выражение/e-3 Найти выражение и установить курсор на символ -3 от конечного
?выражение?b+1 То же, что и /выражение/b+1, но с поиском в обратную строну
?выражение?e-3 То же, что и /выражение/e-3, но с поиском в обратную строну
стрелка вверх При вводе строки для поиска просмотр истории поиска выражений, начинающихся с того, что уже набрано
Автозамена:
При автозамене используется следующая конструкция:
:[область-действия]s/[что-искать]/[на-что-менять]/[модификаторы]
Область действия:
% Весь текст
1 Первая строка
. Текущая строка
$ Последняя строка
X,Y От строки X до строки Y
.,$ Вариант предыдущего выражения, от первой до последней строки. Аналогично %
Модификаторы:
g Все вхождения в строке
c С запросом подтверждения
i Без учета регистра
e Не выводит ошибку, если искомая строка не найдена
В строках для поиска и замены можно использовать регулярные выражения, если вы знакомы с программой sed, то проблем у вас не возникнет.
Это не все сочетания клавиш, которые доступны при работе в vim, но даже их уже достаточно для того, чтобы повысить эффективность работы в этом текстовом редакторе.

пятница, 23 ноября 2018 г.

Раскладка клавиатуры

Раскладка клавиатуры по control+shift
1. Вариант
setxkbmap "us,ru" ",winkeys" "grp:ctrl_shift_toggle,grp_led:scroll"

2. Вариант
sudo -i
localectl set-x11-keymap us,ru pc104 "" grp:ctrl_shift_toggle

понедельник, 24 сентября 2018 г.

суббота, 7 апреля 2018 г.