Admin Guides | Сисадмин – Telegram
Admin Guides | Сисадмин
11.5K subscribers
1.41K photos
24 videos
34 files
594 links
Обучающий канал по ОС Linux & Windows для начинающих и действующих администраторов.

Админ, реклама: @Ak_Mihail
Биржа: https://telega.in/c/admguides

РКН: https://kurl.ru/nQejS
Download Telegram
Сисадмин ищет работу в эру облачных технологий:

— Когда Гугл или Амазон лягут, нет проблем: просто кричите на меня.
🤣21
Управление пакетами с помощью YUM: 10 Полезных Команд

YUM (Yellowdog Updater Modified) — это инструмент управления пакетами с открытым исходным кодом для систем Linux, основанных на RPM (RedHat Package Manager).

Он позволяет пользователям и системным администраторам легко устанавливать, обновлять, удалять или искать программные пакеты в системе.

Установка, Обновление и Удаление Пакетов

Для установки пакета (например, Firefox), выполните следующую команду:

yum install firefox


Чтобы установить пакет без запроса подтверждения, используйте параметр -y:

yum -y install firefox


Для удаления пакета с именем Firefox и всеми его зависимостями:

yum remove firefox


Для удаления без подтверждения:

yum -y remove firefox


Для обновления пакета MySQL до последней стабильной версии:

yum update mysql


Поиск и Информация о Пакетах

Для поиска пакета по его имени (например, openssh):

yum list openssh


Если вы не помните точное название пакета, воспользуйтесь функцией search, чтобы найти все доступные пакеты, соответствующие указанной части имени:

yum search vsftpd


Для получения информации о пакете перед его установкой (например, Firefox):

yum info firefox


Управление Списками Пакетов

Для вывода списка всех установленных пакетов в системе:

yum list installed | less


Чтобы узнать, к какому пакету принадлежит файл (например, /etc/httpd/conf/httpd.conf):

yum provides /etc/httpd/conf/httpd.conf


Работа с Репозиториями

Для отображения всех включённых репозиториев:

yum repolist


Для добавления нового репозитория в систему (например, EPEL):

yum-config-manager --add-repo=https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
👍18
😁27😎11🎄1
dnf-automatic — автоматическая установка обновлений безопасности в CentOS

Вы можете вручную применять исправления безопасности в своей системе CentOS 8, но системному администратору гораздо проще настроить автоматические обновления.

Это придаст уверенности в том, что ваша система будет периодически проверять наличие исправлений или обновлений безопасности и применять их.

Установите dnf-automatic в CentOS

Чтобы начать работу, начните с установки пакета dnf-automatic RPM:

dnf install dnf-automatic


После успешной установки вы можете подтвердить его наличие, выполнив команду:

rpm -qi dnf-automatic


Настройка dnf-automatic в CentOS

Файл конфигурации для RPM-файла dnf-automatic — это файл automatic.conf, который находится в каталоге /etc/dnf/.

Вы можете просмотреть конфигурации по умолчанию, используя свой любимый текстовый редактор:

vi /etc/dnf/automatic.conf


В разделе «commands» определите тип обновления.

Вы можете оставить его по умолчанию, и все обновления будут применены.

Поскольку нас интересуют обновления безопасности, установите его, как показано:

upgrade_type = security


Затем перейдите к разделу «emitters» и установите имя хоста системы:

system_name = centos-8


Также установите для параметра emit_via значение motd, чтобы при каждом входе в систему отображались сообщения о пакетах обновлений:

emit_via = motd


Теперь сохраните и выйдите из файла конфигурации.

Следующим шагом будет запуск службы dnf-automatic.

Выполните команду ниже, чтобы начать планирование автоматических обновлений для вашей системы CentOS 8:

systemctl enable --now dnf-automatic.timer


Чтобы проверить статус службы, введите команду:

systemctl list-timers *dnf-*


dnf-makecache запускает службу dnf-makecache, которая отвечает за обновление пакетов кеша, а модуль dnf-automatic запускает службу dnf-automatic, которая загружает обновления пакетов.

Автоматическая установка обновлений безопасности с помощью Cockpit в CentOS

Cockpit — это веб-платформа с графическим пользовательским интерфейсом, которая позволяет системным администраторам легко просматривать системные метрики и настраивать различные параметры, такие как межсетевой экран, создание пользователей, управление заданиями cron и т. д.

Cockpit также позволяет настраивать автоматические обновления: пакетные/функциональные обновления и обновления безопасности.


Чтобы настроить автоматические обновления безопасности, войдите в Cockpit как пользователь root, открыв следующий URL-адрес сервера: http://server-ip:9090.

На левой боковой панели нажмите на опцию «Обновления программного обеспечения».

Затем включите переключатель «Автоматические обновления». Обязательно выберите «Применить обновления безопасности» и выберите частоту обновлений.
👍14
💬 Вопрос на собеседовании для сисадмина

Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.


Вопрос: Как узнать версию BIOS сервера из командной строки?

Ответ: С помощью команды dmidecode можно получить версию bios:

# dmidecode -t bios
# dmidecode 2.12
SMBIOS 2.8 present.

Handle 0x0010, DMI type 0, 24 bytes
BIOS Information
Vendor: HP
Version: P79
Release Date: 04/01/2014
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 16384 kB
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
Какая команда в Windows используется для проверки состояния дисков и файловых систем через командную строку?
Anonymous Quiz
81%
chkdsk
1%
fsutil
10%
diskpart
8%
sfc
👍7🔥2💘21🤯1
3 лучших системы мониторинга заданий Cron

В эпоху, когда многие процессы автоматизированы, люди постоянно ищут способы эффективно выполнять задачи.

А почему бы и нет? Дорога каждая секунда!

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

Что такое задание Cron?

Задание Cron – это программа-утилита, которая планирует сценарии и команды на сервере. 


У этой встроенной команды есть запланированное время и дата для автоматического запуска без ручной реализации.

Задания Cron созданы для автоматизации повторяющихся задач, например, удаления файлов, перезагрузки сервера или выполнения других функций.

Основные элементы задания Cron

Задание Cron работает с тремя важными компонентами: Сценарий – первое, что внедряется в задание Cron и вызывается для исполнения.

Расписание определяет, когда необходимо запускать указанные сценарии.

Действие – это порядок, в котором должен появляться результат после выполнения сценария.

1️⃣ Better Uptime

Better Uptime – это современная служба мониторинга, объединяющая мониторинг cron-заданий и периода работоспособности, управление инцидентами и страницы состояний. Настройка занимает всего 3 минуты.

Основные особенности: проверки Cron-заданий, API, Ping, HTTP(s) соединений, срока действия SSL и TLD; неограниченное количество уведомлений посредством телефонных звонков; простое планирование по требованию; скриншоты и журналы регистрации ошибок и инцидентов; более 100 интеграций, включая Slack, Teams, Heroku, AWS.

2️⃣ HealthChecks

HealthChecks – одна из лучших систем мониторинга Cron-заданий за счет своей простоты и эффективности. 


Основные особенности: уникальный URL-адрес для каждого задания; информационная панель, обновляющаяся в режиме реального времени; параметры «Grace Time» и «Period» для различных подходов и статусов мониторинга; интеграция со Slack, электронной почтой, Webhook, Microsoft Teams и т.д.

3️⃣ Cronitor

Cronitor помогает в планировании заданий и предоставляет быстрые уведомления.

Основные особенности: мониторинг различных типов Cron-заданий, включая AWS, Microsoft, Jenkins, Kubernetes и Java; гибкие политики уведомлений и правила; мониторинг периода работоспособности веб-сайта, API, хранилища S3 и т.д.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍161
😅 Всё, что было терминологией программистов и сисадминов, превратилось в апликухи.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁31👍1👎1
Дистрибутив TENS

Еще один дистрибутив с шифрованием данных.

Из особенностей:

Мастер шифрования
Несколько редакций
Отсутствует менеджер пакетов

TENS (Trusted End Node Security) — это live-дистрибутив на базе Linux (ранее именуемый как «LPS» от «Lightweight Portable Security»), разработанный Научно-исследовательской лабораторией ВВС Министерства Обороны США.

Он предназначен для того, чтобы позволить пользователям работать на компьютере без риска подвергнуть свои учетные и личные данные воздействию вредоносных программ, кейлоггеров и других угроз.

Дистрибутив использует рабочее окружение Xfce, которое настроено таким образом, чтобы имитировать Windows ХР. 


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

Одним из уникальных аспектов дистрибутива является приложение Мастера Шифрования (Encryption Wizard).

Вы можете перетаскивать файлы внутрь него и указывать пароль для их блокировки.

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

Он использует 128- и 256-битное AES-шифрование и поддерживает сжатие зашифрованных архивов.
TENS выпускается в двух редакциях:


Deluxe-издание включает в себя обычные настольные приложения для повседневного использования, такие как: LibreOffice, Totem Movie Player, Evince PDF reader, Firefox, Thunderbird и другие.
Регулярный выпуск включает в себя приложение шифрования и некоторый небольшой набор дополнительных программ.

🔥 В отличие от других дистрибутивов, TENS не поддерживает установку большего количества программного обеспечения и в нем отсутствует менеджер пакетов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥1
Исследователи MIT представили генеративный ИИ для баз данных

Исследователи Массачусетского технологического института представили GenSQL — инструмент генеративного ИИ, который упрощает выполнение сложного статистического анализа табличных данных.

Основные возможности

GenSQL помогает делать прогнозы, обнаруживать аномалии, угадывать пропущенные значения, исправлять ошибки и генерировать синтетические данные.

Например, при анализе медицинских данных GenSQL может выявить аномальные показания артериального давления у пациента.

Интеграция и модели

GenSQL автоматически интегрирует табличные данные и генеративную вероятностную модель ИИ, которая учитывает неопределённость и корректирует решения на основе новых данных.

Этот инструмент также подходит для создания и анализа синтетических данных, когда исходная информация конфиденциальна.


GenSQL разработан на основе SQL.

«Исторически SQL научил мир бизнеса тому, на что способен компьютер. Мы думаем, что при переходе к моделированию данных нам понадобится аналогичный язык», — отмечает соавтор разработки Викаш Мансингхка.

Преимущества модели

Запросы к модели могут дать более глубокое понимание данных.

Пользователю нужно загрузить данные и вероятностную модель, которую система автоматически интегрирует.

Это позволяет выполнять более сложные запросы и получать точные ответы.

Эффективность и точность

GenSQL работает в 1,7–6,8 раза быстрее, чем нейронные сети, и обеспечивает более точные результаты. 


В тематических исследованиях система выявила неправильно маркированные данные клинических испытаний и генерировала точные синтетические данные для геномики.

Будущие планы

Исследователи планируют расширить применение GenSQL для крупномасштабного моделирования популяций.

☄️ Они хотят сделать систему более мощной и простой в использовании, добавив новые средства автоматизации и возможность выполнять запросы на естественном языке, создавая аналог ChatGPT для баз данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62
💬 Вопрос на собеседовании для DevOps-инженера

Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.


Вопрос: Назовите три способа, которые вы бы использовали для защиты Jenkins.

Ответ: Этот вопрос целиком и полностью зависит от того, какой подход предпочитает DevOps инженер. В этом плане у вас есть некоторая вольность в ответе, но давайте рассмотрим некоторые варианты в качестве примера:

Запускать периодические аудиты безопасности.
Настроить лимит доступа к данным, хранящимся на Jenkins.
Убедиться в том, что опция “global security” включена.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍141
Как защитить серверы Linux с помощью SELinux?

В наше время безопасность – это крайне важный компонент разработки программного обеспечения и управления серверами.

Если вы пользуетесь Linux, то у вас есть мощная функция SELinux, которая добавляет дополнительный уровень защиты.


Что такое SELinux?

SELinux (Security Enhanced Linux) был разработан АНБ для выполнения правительственных задач в области безопасности.

Он предоставляет системным администраторам контроль над доступом к файлам и процессам через контексты, что позволяет ограничить доступ для определённых пользователей и процессов.

SELinux по умолчанию присутствует в большинстве дистрибутивов Linux, таких как Fedora. Для работы с ним вам потребуются права root или sudo.

Файл конфигурации SELinux находится здесь: /etc/sysconfig/selinux.

Режимы SELinux

В файле конфигурации вы можете выбрать один из режимов:

Enforced: Политики применяются, доступ ограничивается.
Permissive: Политики не применяются, но все попытки доступа записываются в логи.
Disabled: SELinux отключен (не рекомендуется).

Проверить текущий режим можно с помощью команд:

getenforce
sestatus


Для изменения режима на текущий сеанс:

sudo setenforce 0  # Permissive
sudo setenforce 1 # Enforced


Политики SELinux

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

Просмотреть и изменить переключатели можно так:

getsebool -a | grep httpd  # Все переключатели для httpd

getsebool httpd_can_connect_ftp # Проверить состояние переключателя
setsebool -P httpd_can_connect_ftp 1 # Включить переключатель


Флаг -P сохраняет изменение после перезагрузки.

Устранение неисправностей и логи SELinux

Логи SELinux находятся здесь: /var/log/audit.

Для диагностики проблем можно включить режим Permissive, чтобы записывать все события в логи.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥21
— У нас лучшие DevOps практики. Давайте перечислим некоторые преимущества, которые мы получили от внедрения DevOps!
— Автоматизированные юнит-тесты!
— Конфигурацию в виде кода!
— А как насчёт дашбордов и лучших инсайтов?
— Я обожаю сервер Майнкрафта!
— Сервер Майнкрафта не является частью DevOps.
— Упс, э… Среды, которые разворачиваются без участия сисадмина, например!
👍10
Андервольтинг в Linux центрального процессора (CPU)

Андервольтинг – это процесс снижения напряжения, подаваемого на центральный процессор (CPU), с целью уменьшения тепловыделения и энергопотребления.

Для Linux отсутствует официальная программа для андервольтинга, поэтому энтузиасты нашли способы менять напряжение на процессоре методами обратной инженерии и создали свои собственные утилиты:

undervolt
iuvolt
intel-undervolt

Мы рассмотрим утилиту intel-undervolt, написанную на C.

Установка intel-undervolt

Скачивание исходного кода:

git clone https://github.com/kitsunyan/intel-undervolt
cd intel-undervolt/


Настройка и установка:

./configure --enable-systemd --enable-openrc
make
sudo make install
sudo systemctl daemon-reload


Команда для запуска программы:

intel-undervolt РЕЖИМ [ОПЦИИ]...


Режимы программы

read: Прочитать и отобразить текущие значения
apply: Применить значения из конфигурационного файла
measure: Измерить потребление энергии
Опции: -f, --format <формат> (terminal, csv)
-s, --sleep <интервал> (интервал сна в секундах)
daemon: Запустить в режиме службы

Настройка андервольтинга

Для настройки intel-undervolt нужно изменить значения в конфигурационном файле /etc/intel-undervolt.conf:

sudo gedit /etc/intel-undervolt.conf


Пример конфигурационного файла:

# Включение или отключение триггеров (elogind)
enable no

# CPU андервольтинг
undervolt 0 'CPU' 0
undervolt 1 'GPU' 0
undervolt 2 'CPU Cache' 0
undervolt 3 'System Agent' 0
undervolt 4 'Analog I/O' 0

# Интервал обновления демона
interval 5000

# Действия демона
daemon undervolt:once
daemon power
daemon tjoffset


Пример настройки андервольтинга

Для установки андервольтинга на 25.84 мВ для кэша процессора:

apply 2 'CPU Cache' -25.84


Ограничение мощности

Можно задать свои значения для TDP (Thermal Design Power). TDP имеет значение на короткое и длительное время турбобуста:

power package ${short_term} ${long_term}
power package ${short_term}/${time_window} ${long_term}/${time_window}


Пример:

power package 35/5 25/60


Здесь TDP установлено на 35 для короткого турбобуста (5 секунд) и на 25 для длительного турбобуста (60 секунд).

Лимит температуры

Установка предела температуры для термального троттлинга:

tjoffset -20


Если максимальная температура установлена на 100°C, то результирующий лимит будет 100 - 20 = 80°C.

Применение настроек

После изменения конфигурационного файла нужно применить настройки:

sudo intel-undervolt apply


Режим службы

Для автоматического применения настроек используйте intel-undervolt-loop.service.

Измените интервал обновления в конфигурации:

interval 5000


Это значение в миллисекундах, по умолчанию 5 секунд.
👍143
Вышел Wireshark 4.2.6

11 июля 2024 года вышла стабильная версия свободного программного сетевого анализатора Wireshark 4.2.6.


Версия 4.0.0 популярного сетевого инструмента была представлена 4 октября 2022 года. 15 ноября 2023 года вышла версия Wireshark 4.2.0.

Предыдущая стабильная версия анализатора была представлена 15 мая. Стабильный релиз Wireshark 1.0.0 состоялся в 2008 году.

Код проекта распространяется под стандартной общественной лицензией GPLv2.

В Wireshark 4.2.6 разработчики исправили баги и ошибки (уязвимости), обнаруженные в ходе тестирования, а также внесли изменения и дополнения в код проекта, включая обновления в поддержке протоколов:

• DHCP
• E.212
• MySQL
• NAS-5GS
• PKT CCC
• ProtoBuf
• RADIUS
• RLC-LTE
• RTP
• SIP
• SPRT
• Thrift
• Wi-SUN

Также доработали поддержку пакетов log3gpp.
👍18
7 полезных команд в Linux

Рассмотрим еще 7 команд для эффективной работы в системе Linux.

grpck — проверка целостности информации о группах, а именно: все записи в /etc/group и /etc/gshadow имеют правильный формат и содержат допустимые данные.

halt — указание аппаратному обеспечению компьютера остановить все исполняющиеся в данный момент процессы. Основное применение — перезагрузка или выключение системы.

ifup — задействует (поднимает) сетевой интерфейс, позволяя ему передавать и получать данные.

hdparm — получение информации о жестком диске, изменении интервалов записи, настроек DMA (сокр. от «Direct Memory Access»).

ipcrm — удаление IPC-ресурсов (сокр. от «Inter-Process Communication») и связанных с ними данных.

let — вычисление арифметических выражений для переменных оболочки.

look — выводит строки, начинающиеся с заданной подстроки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
💬 Вопрос на собеседовании для сисадмина

Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.


Вопрос: Как расширить существующую группу томов lvm?

Ответ: Сначала нужно создать pv (физический том) на пустом новом диске (например /dev/sdb) командой «pvcreate /dev/sdb» и затем, командой vgextend расширить группу: «vgextend <vloume_group_name> /dev/sdb».
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22👏41
Как вывести от определённого столбца до последнего в командной строке Linux

В этом посте рассмотрим, как вывести данные с определённого столбца до последнего в командной строке Linux. Например:

Как вывести со второго столбца до последнего
Как вывести с третьего столбца до последнего
Как вывести с четвёртого столбца до последнего
Как вывести с n-го столбца до последнего
Как вывести последний столбец

Для этих целей можно использовать команды cut и awk.

Использование команды cut

Как вывести с n-го столбца до последнего:

Используйте следующую команду, заменив «N» на номер столбца, с которого необходимо начать вывод:

cut -fN- -d' '


Вывести со второго столбца до последнего:

cut -f2- -d' '


Пример:

echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | cut -f2- -d' '


Вывести с третьего столбца до последнего:

cut -f3- -d' '


Пример:

echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | cut -f3- -d' '


Вывести с четвёртого столбца до последнего:

cut -f4- -d' '


Пример:

echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | cut -f4- -d' '


Использование команды awk

Как вывести с n-го столбца до последнего:

В awk вы можете использовать следующую команду:

awk '{$1=$2=$3=""; print $0}'


Этот пример очистит содержимое первых трёх столбцов и покажет все колонки, начиная с четвёртого столбца.

Для удаления лишних пробелов используйте команду sed:

awk '{$1=$2=$3=""; print $0}' | sed -r "s/^\s+//g"


Или:

awk '{$1=$2=$3=""; $0=$0; $1=$1; print}'


Вывести со второго столбца до последнего:

awk '{$1=""; print $0}' | sed -r "s/^\s+//g"
awk '{$1=""; $0=$0; $1=$1; print}'


Примеры:

echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=""; print $0}' | sed -r "s/^\s+//g"
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=""; $0=$0; $1=$1; print}'


Вывести с третьего столбца до последнего:

awk '{$1=$2=""; print $0}' | sed -r "s/^\s+//g"
awk '{$1=$2=""; $0=$0; $1=$1; print}'


Примеры:

echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=$2=""; print $0}' | sed -r "s/^\s+//g"
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=$2=""; $0=$0; $1=$1; print}'


Вывести с четвёртого столбца до последнего:

awk '{$1=$2=$3=""; print $0}' | sed -r "s/^\s+//g"
awk '{$1=$2=$3=""; $0=$0; $1=$1; print}'


Примеры:

echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=$2=$3=""; print $0}' | sed -r "s/^\s+//g"
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=$2=$3=""; $0=$0; $1=$1; print}'


Как вывести последний столбец

Для вывода последнего столбца с помощью awk используйте команду:

awk '{print $NF}'


Пример:

echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{print $NF}'


Если вы хотите обойтись без awk, используйте следующую команду:

rev | cut -d' ' -f1 | rev


Пример:

echo 'vddp vddpi vss' | rev | cut -d' ' -f1 | rev
🔥11👍92
Одновременное использование нескольких OpenVPN на одном сервере

Вы можете одновременно использовать несколько OpenVPN процессов на одном сервере, настроив их для работы на разных портах и предоставляя отдельные виртуальные частные сети, не пересекающиеся друг с другом.

Шаги по настройке

1️⃣ Разные порты для служб OpenVPN

Все OpenVPN службы должны использовать уникальные порты. UDP и TCP могут использовать одинаковые номера портов, если они работают на разных протоколах. Например:

2021-11-02 09:26:50 us=736094 TCP/UDP: Socket bind failed on local address [AF_INET][undef]:53: Address already in use (errno=98)
2021-11-02 09:26:50 us=736216 Exiting due to fatal error


2️⃣ Диапазон адресов виртуальной частной сети

В конфигурационном файле указываются разные диапазоны IP адресов для каждой службы OpenVPN:

server 10.8.0.0 255.255.255.0
server 10.8.1.0 255.255.255.0
server 10.8.2.0 255.255.255.0


3️⃣ Маршрутизация трафика

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

Пример конфигурации файла /root/bin/vpn_route.sh:

#!/bin/sh
DEV='ens3'
PRIVATE=10.8.0.0/24
sysctl net.ipv4.ip_forward=1
iptables -I FORWARD -j ACCEPT
iptables -t nat -I POSTROUTING -s $PRIVATE -o $DEV -j MASQUERADE
iptables -t nat -I POSTROUTING -s 10.8.1.0/24 -o $DEV -j MASQUERADE
iptables -t nat -I POSTROUTING -s 10.8.2.0/24 -o $DEV -j MASQUERADE


Проверьте настройки NAT командой:

iptables -L -t nat


4️⃣ Настройка статичных локальных адресов

Если вы назначаете статичные IP для клиентов, используйте уникальные имена клиентов и диапазоны IP адресов для каждой сети OpenVPN.

5️⃣ Запуск и добавление служб в автозагрузку

Используйте systemctl для управления службами OpenVPN. Например, для запуска службы с конфигурацией server-tcp.conf:

sudo systemctl start openvpn-server@server-tcp.service
systemctl status openvpn-server@server-tcp.service
journalctl -xeu openvpn-server@server-tcp.service
sudo systemctl enable openvpn-server@server-tcp.service
Please open Telegram to view this post
VIEW IN TELEGRAM
👍141