netstat – статистика

Смотрим ошибки:

# netstat -i
Kernel Interface table
Iface      MTU    RX-OK     RX-ERR RX-DRP RX-OVR TX-OK    TX-ERR TX-DRP TX-OVR Flg
enp2s0     1500   34826426  0      0      0      36161830 0      0      0      BMRU
enp3s1     1500   10079706  1      0      0      13457319 0      0      0      BMRU
lo         65536  2254044   0      0      0      2254044  0      0      0      LRU
tun0       1500   87        0      0      0      39       0      0      0      MOPRU

Если присутствуют не нулевые X-OVR/ TX-OVR – это потерянные из-за переполнения. Соответственно, если там 0 – то это скорее в пользу того, что хватает производительности карты.

Сумарная статистика на интерфейсах

# netstat -s

 

http://blog.sedicomm.com/2017/07/11/20-komand-netstat-dlya-upravleniya-setyu-linux-i-windows/

image_pdfimage_print

ethtool – информация о скорости сетевого интерфейса и ее дуплекс

Если нет – устанавливаем:

$ sudo yum install ethtool

$ sudo ethtool enp5s9
Settings for enp5s9:
    Supported ports: [ TP MII ]
    Supported link modes: 10baseT/Half 10baseT/Full 
                          100baseT/ 100baseT/Full 
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Supported FEC modes: Not reported
    Advertised link modes: 10baseT/Half 10baseT/Full 
                           100baseT/Half 100baseT/Full 
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Advertised FEC modes: Not reported
    Link partner advertised link modes: 10baseT/Half 10baseT/Full 
                                        100baseT/Half 100baseT/Full 
    Link partner advertised pause frame use: No
    Link partner advertised auto-negotiation: Yes
    Link partner advertised FEC modes: Not reported
    Speed: 100Mb/s
    Duplex: Full
    Port: MII  
    PHYAD: 32
    Transceiver: internal
    Auto-negotiation: on
    Supports Wake-on: pumbg
    Wake-on: d
    Current message level: 0x00000007 (7)
                           drv probe link
    Link detected: yes
image_pdfimage_print

Postfix: SSL_accept error и TLS library problem

В логах была замечена ошибка:

Jan 29 00:53:20 mail postfix/smtpd[73728]: SSL_accept error from pirate.census.shodan.io[71.6.146.185]: -1
Jan 29 00:53:20 mail postfix/smtpd[73728]: warning: TLS library problem: error:1408A10B:SSL routines:ssl3_get_client_hello:wrong version number:/usr/src/crypto/openssl/ssl/s3_srvr.c:969:

что указывает на проблемы версии openssl. Проверка:

# openssl s_client -starttls smtp -crlf -connect mail.tst-amo.net.ua:587 -ssl3
CONNECTED(00000003)
34380880456:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:/usr/src/crypto/openssl/ssl/s3_pkt.c:1498:SSL alert number 40
34380880456:error:1409E0E5:SSL routines:ssl3_write_bytes:ssl handshake failure:/usr/src/crypto/openssl/ssl/s3_pkt.c:659:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 216 bytes and written 0 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : SSLv3
    Cipher    : 0000
    Session-ID:
    Session-ID-ctx:
    Master-Key:
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1548750442
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
---

Теперь без указания версии:

# openssl s_client -starttls smtp -crlf -connect mail.tst-amo.net.ua:587
........
    Start Time: 1548750495
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)
---
250 SMTPUTF8

Смотрим настройки postfix:

smtp_tls_mandatory_ciphers = high
smtp_tls_protocols=!SSLv2,!SSLv3
smtp_tls_mandatory_protocols=!SSLv2,!SSLv3
tls_high_cipherlist = ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-S
HA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA
384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256
:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK
smtpd_tls_mandatory_ciphers = high
smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3
smtpd_tls_protocols=!SSLv2,!SSLv3


 

image_pdfimage_print

yum

Отображение команд и опций

# yum help

список названий пакетов из репозиторий

# yum list

список всех доступных пакетов

# yum list available

список всех установленных пакетов

# yum list installed

установлен ли указанный пакет

# yum list installed httpd

список установленных и доступных пакетов

# yum list all

список пакетов, относящихся к ядру

# yum list kernel

отображение информации о пакете

# yum info httpd

список зависимостей и необходимых пакетов

# yum deplist httpd

найти пакет, который содержит файл

# yum provides "*bin/top"

поиск пакета по имени и описанию

# yum search httpd 
# yum search yum

получить информацию о доступных обновлениях безопасности

# yum updateinfo list security

вывести список групп

# yum grouplist

вывести описание и содержимое группы

# yum groupinfo "Basic Web Server"

установка группы пакетов «Basic Web Server»

# yum groupinstall "Basic Web Server"

удаление группы

# yum groupremove "Basic Web Server"

Проверка на доступные обновления

# yum check-update

список подключенных репозиториев

# yum repolist

информация об определенном репозитории

# yum repoinfo epel

информация о пакетах в указанном репозитории

# yum repo-pkgs epel list

установить все пакеты из репозитория

# yum repo-pkgs reponame install

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

# yum repo-pkgs reponame remove

создать кэш

# yum makecache

проверить локальную базу rpm (поддерживаются параметры dependencies, duplicates, obsoletes, provides)

# yum check
# yum check dependencies

просмотр yum истории (вывод списка транзакций)

# yum history list

просмотр информации определенной транзакции (установленные пакеты, установленные зависимости)

# yum history info 9

отмена транзакции

# yum history undo 9

повторить

# yum history redo 9

дополнительно можно просмотреть лог

# cat /var/log/yum.log

удалить пакеты сохраненные в кэше

# yum clean packages

удалить все пакеты и метаданные

# yum clean all

установить пакет

# yum install httpd

удаление пакета

# yum remove httpd

обновить пакет

# yum update httpd

обновить все пакеты

# yum update

обновить до определенной версии

# yum update-to

установить из локальной директории (поиск/установка зависимостей будут произведены из подключенных репозиториев)

# yum localinstall httpd.rpm

или

# yum install httpd.rpm

установить с http

# yum localinstall http://server/repo/httpd.rpm

откатиться к предыдущей версии пакета

# yum downgrade

переустановка пакета (восстановление удаленных файлов)

# yum reinstall httpd

удаление ненужных более пакетов

# yum autoremove

создание локальных репозиториев (createrepo ставится отдельно)

# createrepo

установка обновлений по расписанию (yum-cron устанавливается отдельно)

# yum-cron

Опции Yum

ответить «yes» при запросе,

-y
# yum update -y

ответить «no» при запросе

--assumeno

использовать Yum без плагинов

--noplugins

или отключить определенный плагин

--disableplugin=fastestmirror

включить плагины, которые установлены, но отключены

# yum --enableplugin=ps

включить отключенный репозиторий

# yum update -y --enablerepo=epel

отключить репозиторий

# yum update -y --disablerepo=epel

скачать пакеты, но не устанавливать (на Centos 7 x86_64 будут скачаны в ‘/var/cache/yum/x86_64/7/base/packages/’)

# yum install httpd --downloadonly

Cледующие команды доступны после установки пакета yum-utils

найти из какого репозитория установлен пакет

# find-repos-of-install httpd

найти процессы, пакеты которых обновлены и требуют рестарта

# needs-restarting

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

# repoquery  --requires --resolve httpd

синхронизировать yum репозиторий updates в локальную директорию repo1

# reposync -p repo1 --repoid=updates

проверить локальный репозиторий на целостность

# verifytree URL

завершить транзакции

# yum-complete-transaction

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

# yum-builddep

управление конфигурационными опциями и репозиториями yum

# yum-config-manager

запрос к локальной базе yum, отображение информации о пакете
(использованная команда, контрольная сумма, URL с которого был установлен и другое)

# yumdb info httpd

скачать rpm пакеты из репозитория

# yumdownloader

скачать src.rpm пакет из репозитория (должен быть подключен соответствующий репозиторий, например в ‘/etc/yum.repos.d/CentOS-Sources.repo’ в CentOS)

yumdownloader --source php

Конфигурационные файлы Yum и их расположение

Основной конфигурационный файл

/etc/yum.conf

директория, с конфигурациями (например, yum плагины)

/etc/yum/

директория, содержащая информацию о репозиториях

/etc/yum.repos.d/

Некоторые опции yum.conf:

Директория, где yum хранит кэш и файлы базы (по умолчанию ‘/var/cache/yum’)

cachedir=/var/cache/yum/$basearch/$releasever

Определяет должен или нет Yum хранить кэш заголовков и пакетов после успешной установки. Значения: 0 или 1. (по умолчанию 1)

keepcache=1

уровень вывода отладочных сообщений. Значения: 1-10 (по умолчанию 2)

debuglevel=2

лог файл (по умолчанию ‘/var/log/yum.log’)

logfile=/var/log/yum.log

обновлять устаревшие пакеты

obsoletes=1

проверка подписи пакетов. Значения: 0 или 1 (по умолчанию 1)

gpgcheck=1

включение плагинов. Значения: 0 или 1 (по умолчанию 1)

plugins=1

Некоторые полезные плагины

Добавляет опцию командной строки для просмотра ченжлога перед/после обновлениями

yum-plugin-changelog

выбирает более быстрые репозитории из списка зеркал

yum-plugin-fastestmirror

добавляет команды keys, keys-info, keys-data, keys-remove, которые позволяют работать с ключами.

yum-plugin-keys

блокировать указанные пакеты от обновления, команда yum versionlock

yum-plugin-versionlock

добавление команд yum verify-all, verify-multilib, verify-rpm для проверки контрольных сумм пакетов

yum-plugin-verify

Работа Yum через прокси сервер

Для всех пользователей:
добавить в секцию [main] в /etc/yum.conf

proxy="http://server:3128"

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

proxy_proxy_username=user
proxy_password=pass

указать прокси для отдельного пользователя

# export http_proxy="http://server:3128"

Examples

To list all updates that are security relevant, and get a return code on whether there are security updates use:

# yum --security check-update

To upgrade packages that have security errata (upgrades to the latest available package) use:

# yum --security update

To upgrade packages that have security errata (upgrades to the last security errata package) use:

# yum --security update-minimal

To get a list of all BZs that are fixed for packages you have installed use:

# yum updateinfo list bugzillas

To get a list of all security advisories, including the ones you have already installed use:

# yum updateinfo list all security

To get the information on advisory FEDORA-2707-4567 use:

# yum updateinfo info FEDORA-2707-4567

To update packages to the latest version which contain fixes for Bugzillas 123, 456 and 789; and all security updates use:

# yum --bz 123 --bz 456 --bz 789 --security update

To update to the packages which just update Bugzillas 123, 456 and 789; and all security updates use:

# yum --bz 123 --bz 456 --bz 789 --security update-minimal
image_pdfimage_print

Postfix начальная настройка

# yum install postfix
# cp /etc/main.cf /etc/main.cf_orig
# vi /etc/main.cf

Какой домен подставлять отправителю, если он не указан в заголовке FROM:

myorigin = $mydomain

Слушать на всех необходимых интерфейсах (или перечислить):

inet_interfaces = all

Указываем, для каких доменов принимаем входящую почту:

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

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

local_recipient_maps = unix:passwd.byname $alias_maps

Разрешаем отправлять сообщения локальному серверу:

mynetworks = 127.0.0.0/8

Указываем, откуда брать список алиасов:

alias_maps = hash:/etc/aliases

Виртуальные пользователи:

### ***
virtual_mailbox_base = /home/vmail
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 1024
virtual_uid_maps = static:1024
virtual_gid_maps = static:1024
  • virtual_mailbox_base — базовый путь хранения почтовых ящиков в системе UNIX.
  • virtual_alias_maps — формат и путь хранения алиасов для виртуальных пользователей.
  • virtual_mailbox_domains — формат и путь хранения доменов виртуальных пользователей.
  • virtual_mailbox_maps — формат и путь хранения почтовых ящиков для виртуальных пользователей.
  • virtual_minimum_uid — с какого номера присваивать идентификаторы пользователям.
  • virtual_uid_maps — идентификатор пользователя, от которого записываются сообщения.
  • virtual_gid_maps — идентификатор группы, от которой записываются сообщения.
# Транспорт
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
  • virtual_transport — задает доставщика сообщений.
  • dovecot_destination_recipient_limit — передача сообщений от Postfix в Dovecot выполняется по заданному количеству (в нашем примере, по 1 шт.)
# Aутентификация SMTP
smtpd_sasl_auth_enable = yes
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
  • smtpd_sasl_auth_enable — разрешает sasl аутентификацию.
  • smtpd_sasl_exceptions_networks — исключение сетей от использования шифрования.
  • smtpd_sasl_security_options — дополнительные опции настройки sasl.
  • broken_sasl_auth_clients — эту опцию прописываем для клиентов MS Outlook.
  • smtpd_sasl_type — указывает тип аутентификации.
  • smtpd_sasl_path — путь до временных файлов обмена информацией с Dovecot. Указывается либо абсолютный путь, либо относительный queue_directory.
# TLS
#smtp_use_tls = yes
#smtp_tls_security_level = may
smtpd_use_tls = yes
#smtpd_tls_security_level = may
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/letsencrypt/live/tst-amo.net.ua/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/tst-amo.net.ua/privkey.pem
smtpd_tls_CAfile = /etc/letsencrypt/live/tst-amo.net.ua/chain.pem
  • smtpd_tls_cert_file — полный путь до публичного сертификата.
  • smtpd_tls_key_file — полный путь до приватного сертификата.
  • smtpd_use_tls — указывает клиентам на наличие поддержки TLS.
  • smtpd_tls_auth_only — использовать только TLS
smtpd_helo_required
  • smtpd_helo_required — требовать начинать сессию с приветствия

Создаем файл с настройками обращения к базе с алиасами:

vi /etc/postfix/mysql_virtual_alias_maps.cf

user = postfix
password = mypassword
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias WHERE address='%s' AND active = '1'
  • где user и password — логин и пароль для подключения к MySQL; hosts — имя сервера баз данных (в нашем случае, локальный сервер); dbname — имя базы данных; query — шаблон запроса к данным.

Создаем файл с инструкцией получения данных по виртуальным доменам:

vi /etc/postfix/mysql_virtual_domains_maps.cf

user = postfix
password = mypassword
hosts = localhost
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%u'

И файл с почтовыми ящиками:

vi /etc/postfix/mysql_virtual_mailbox_maps.cf 164/164 100%

user = postfix
password = mypassword
hosts = localhost
dbname = postfix
query = SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='%s' AND active = '1'

Открываем файл master.cf и дописываем в самый конец:

submission     inet  n       -       n       -       -       smtpd
 -o smtpd_tls_security_level=may
 -o smtpd_sasl_auth_enable=yes
 -o smtpd_sasl_type=dovecot
 -o smtpd_sasl_path=/var/spool/postfix/private/auth
 -o smtpd_sasl_security_options=noanonymous
 -o smtpd_sasl_local_domain=$myhostname

smtps      inet n - n - - smtpd
 -o syslog_name=postfix/smtps
 -o smtpd_tls_wrappermode=yes
 -o smtpd_sasl_auth_enable=yes
 -o smtpd_client_restrictions=permit_sasl_authenticated,reject

dovecot    unix  -       n       n       -        -       pipe
  flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -d ${recipient}
  • необходимо убедиться, что в содержимом файла нет других раскомментированных опций для submission, smtps и dovecot (по умолчанию, их нет). В данном случае, мы настроили работу postfix на портах 25, 465 и 587.
# systemctl restart postfix

 

https://wiki.yola.ru/postfix:postfix

image_pdfimage_print

Amavisd-new

Антивирусы

Для работы с антивирусами нужно убрать комментарии в файле /etc/amavis/conf.d/15-content_filter_mode с строк:

@bypass_virus_checks_maps = (
   \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);

ClamAV

Для работы с ClamAV нужно:

1. Добавить пользователя clamav в группу amavis:

gpasswd -a clamav amavis

2. Убрать комментарии в файле /etc/amavis/conf.d/15-av_scanners с строк относящихся к ClamAV

3. Добавить в файл:

/etc/clamav/clamd.conf
AllowSupplementaryGroups true

Антиспам

Для работы с антиспамом, например с SpamAssassin нужно убрать комментарии в файле /etc/amavis/conf.d/15-content_filter_mode с строк:

@bypass_spam_checks_maps = (
   \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);

20-debian_defaults

Для переменных:

  • $final_virus_destiny
  • $final_banned_destiny
  • $final_spam_destiny
  • $final_bad_header_destiny

Предусмотрены следующие значения:

D_DISCARD блокировать, никаких уведомлений не отсылать
D_BOUNCE блокировать, отправить уведомление отправителю письма
D_REJECT почта не проходит к получателям, отправитель должен получить reject
D_PASS пропустить письмо

Настройка папки карантина:

$quarantine_subdir_levels Создание структуры из 62 папок (0-9, A-Z, a-z)
0= Нет
1 = Да
20-debian_defaults
$quarantine_subdir_levels = 0

Доставка SPAM с изменённой темой письма

Для того, чтобы доставлять SPAM с изменённой темой письма нужно:

/etc/amavis/conf.d/20-debian_defaults
$sa_spam_subject_tag = '***SPAM***';
$final_spam_destiny  = D_PASS;
/etc/amavis/conf.d/50-user
@local_domains_acl = ( "domain.ru", "domain2.ru" );

Доставка вирусов с изменённой темой письма

Для того, чтобы доставлять заражённые письма с изменённой темой письма нужно:

/etc/amavis/conf.d/20-debian_defaults
$final_virus_destiny      = D_PASS; ***INFECTED***

Белый список

/etc/amavis/conf.d/20-debian_defaults
read_hash(\%whitelist_sender, '/etc/amavis/whitelist');
@whitelist_sender_maps = (\%whitelist_sender);

Извлечение из карантина

Отправка письма из карантина получателю.

amavis_reslease.sh
#!/bin/sh
 
VIRUSMAILS_DIR="/var/lib/amavis/virusmails"
 
if [ -d $VIRUSMAILS_DIR ]; then
    cd $VIRUSMAILS_DIR
    amavisd-release $1
fi

Пример использования:

# amavis_reslease.sh spam-xNYUd-gWtWDk.gz

Очистка карантина

Для периодической очистки карантина можно создать задание для периодического выполнения с помощью Cron следующего скрипта:

amavis_clean_virusmails.sh
#!/bin/bash
 
VIRUSMAILS_DIR="/var/lib/amavis/virusmails"
 
if [ -d $VIRUSMAILS_DIR ]; then
    cd $VIRUSMAILS_DIR
    find $VIRUSMAILS_DIR -type d -mtime +30 -exec rm -r {} \;
    find $VIRUSMAILS_DIR -type f -mtime +30 -exec rm -r {} \;
fi

Отладка

# amavisd -c /etc/amavisd/amavisd.conf debug
image_pdfimage_print

PHP Fatal error: strtotime(): Timezone database is corrupt

После обновления системы вылезла ошибка при обращении к roundcubemail:

[error] 4141#0: *51572 FastCGI sent in stderr: "PHP message: PHP Fatal error: 
strtotime(): Timezone database is corrupt - this should *never* happen! 
in /home/www/roundcubemail/program/lib/Roundcube/rcube_session_db.php on line 103

Проблема в пакете tzdata на сервере. Его нужно переустановить. Что бы это проверить:

<?php echo date('y'); ?>

Переустанавливаем:

# yum reinstall tzdate -y
image_pdfimage_print

Windows 10 – блокировать рекламу и навязчивые уведомления

Можно отключить все или оставить тольку нужные/важные:

  • Нажмите Win + i, чтобы открыть «Параметры Windows»
  • Перейдите во вкладку «Система» → «Уведомления и действия»
  • Отключите опцию «Получать советы, подсказки и рекомендации при использовании Windows»
  • Пролистайте вниз, найдите опцию «Получать уведомления от приложений и других отправителей» и отключите её.

Это отключит рекламу и сообщения от предустановленных приложений Windows, программ, загруженных из Microsoft Store, или других источников.

Оставьте только важные уведомления

  • Нажмите Win + i, чтобы открыть «Параметры Windows»
  • Перейдите во вкладку «Система» → «Уведомления и действия»
  • Пролистать до списка «Получать уведомления от этих отправителей» и отключите ненужные приложения

 

image_pdfimage_print

openvpn – OpenSSL: error:14089086:SSL routines:ssl3_get_client_certificate:certificate verify failed

В один из дней при подключению к openvpn-server возникла ошибка:

VERIFY ERROR: depth=0, error=CRL has expired
OpenSSL: error:14089086:SSL routines:ssl3_get_client_certificate:certificate verify failed

это ошибка связана со списком отзыва просроченых сертификатов – список CRL.

Что бы убедиться в этом, достаточно закоментировать строку и перегрузить сервис

# cat /etc/openvpn/server.conf

# Проверка, не отозван ли сертификат клиента
#crl-verify /etc/openvpn/crl.pem
# systemctl restart openvpn@server

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

Обновляем список

По умолчанию,  продолжительность жизни списка отзывов сертификатов crl.pem равна 180 дням, за это отвечает переменная:

# cat /etc/openvpn/keys/easy-rsa-master/easyrsa3/vars

#set_var EASYRSA_CRL_DAYS 180

Поэтому, по истечению срока указанного в vars, нужно будет обновить список (понадобится парольная фраза для доступа к приватному ключу ca.key удостоверяющего центра):

# cd /etc/openvpn/keys/easy-rsa-master/easyrsa3/
# ./easyrsa gen-crl
# cp ./pki/crl.pem /etc/openvpn/crl.pem
# systemctl restart openvpn@server

https://mdex-nn.ru/page/openvpn-crl-has-expired.html

 

image_pdfimage_print