LINUX.ORG.RU

Сообщения Goganchic

 

Лучшие практики по настройки почтового сервера для компании

Хочу настроить self-hosted почтовый сервер (IMAP/POP3 + SMTP) для компании на 100 - 200 пользователей. Что сейчас для этого модно использовать? Как и раньше postfix + dovecot + roundcube или имеет смысл посмотреть что-то типа iRedMail?

 , ,

Goganchic
()

Коммутация аудио для занятий на гитаре

Хочу настроить коммутацию аудио для занятий на гитаре с преподом по Skype/Zoom. Хочу чтобы препод слышал:

  • звук с микрофона, подключенного к Scarlett 2i2 gen 3
  • обработанный звук гитары с Yamaha THR
  • звук из браузера (метроном, минусовка)

Хочется чтобы весь этот звук был синхронизированный: не хочу, чтобы мне говорили что я играю мимо метронома, хотя фактически это не так.

Возможна ли такая коммутация? Пока думаю пойти по такому пути: локально установить Jack или Pipewire, создать там виртуальное устройство, в которое запихнуть несколько источников звука, а у Skype/Zoom указать источником это самое устройство. В обратную сторону взять звук из Zoom и браузера и отправить их в Yamaha THR, который подмешает туда обработанную гитару.

Может быть кто-то заморачивался с такими коммутациями? Или даже пытаться не стоит, ибо адская задержка убьет весь пользовательский опыт?

 , , ,

Goganchic
()

Изменение шела в Kubuntu на zsh

Пытаюсь изменить дефолтный шел в Kubuntu с bash на zsh. После выполнения chsh и перезагрузки пропадает часть иконок, и вообще ноут ведет себя странно. Как только возвращаю шел на bash — все возвращается в норму. Как правильно изменить дефолтный шел в Kubuntu так чтобы все работало нормально?

P.s. если сменить терминал в konsole, то это дает частичный эффект: в том же самом mc используется bash, что не очень удобно.

 ,

Goganchic
()

Ansible синхронизация директорий

Есть директория с конфигами. Хочу скопировать ее на сервер и если какие-то файлы поменялись — рестартнуть сервис, конфиги которого я копирую. По наивности делал так:

- name: Copy configs
  copy:
    src: configs
    dest: /etc
  register: configs
- name: Restart service
  systemd:
    name: my-service
    state: restarted
  when: configs.changed

Проблема в том, что если я удаляю какие-то файлы с конфигами, то они не удаляются на удаленном сервере. Как сделать так, чтобы удалялись?

Читал про модуль synchronize. Вроде похоже на правду, но какой-то он, мягко говоря, странный, судя по доке.

По идее, я могу безусловно удалять директорию с конфигами на сервере, а потом подкладывать на ее место локальную, но тогда я потеряю событие changed. Хотя и это можно обойти какой-нибудь предварительной проверкой отличий директорий или копированием локальной директории куда-то в /tmp на сервере и потом ручным запуском rsync, но быть может есть какой-то более проостой способ решения этой проблемы?

 

Goganchic
()

ansible: странности при установке пакета через dnf

Настраиваю виртуалки. Есть простая ansible-задачка для установки пакета FreeIPA клиента:

- name: Install package
  dnf:
    name:
      - freeipa-client

В документации Ansible написано, что для модуля dnf, если не задано значение параметра state, то выполнится действие такое, как-будто было бы передано значение present. Ожидаю, что поведение будет следующее: если пакета на машине нет, то он установится, если есть — то ничего не произойдет. Сегодня заметил, что для одной из машин задача выдала состояние changed, хотя я был на 100% уверен что FreeIPA там уже есть.

Посмотрел по логам dnf и увидел следующее:

2022-11-15T11:17:40+0300 DDEBUG timer: sack setup: 2441 ms
2022-11-15T11:17:40+0300 INFO Package ipa-client-4.9.8-6.0.1.module+el8.6.0+20571+0c339766.x86_64 is already installed.
2022-11-15T11:17:40+0300 DDEBUG timer: depsolve: 206 ms
2022-11-15T11:17:42+0300 DEBUG Using rpmkeys executable at /usr/bin/rpmkeys to verify signatures
2022-11-15T11:17:43+0300 INFO Running transaction check
2022-11-15T11:17:43+0300 INFO Transaction check succeeded.
2022-11-15T11:17:43+0300 INFO Running transaction test
2022-11-15T11:17:43+0300 INFO Transaction test succeeded.
2022-11-15T11:17:43+0300 DDEBUG timer: transaction test: 393 ms
2022-11-15T11:17:43+0300 INFO Running transaction
2022-11-15T11:17:44+0300 DDEBUG RPM transaction start.
2022-11-15T11:17:52+0300 DDEBUG RPM transaction over.
2022-11-15T11:17:52+0300 DDEBUG timer: verify transaction: 376 ms
2022-11-15T11:17:52+0300 DDEBUG timer: transaction: 8660 ms
2022-11-15T11:17:52+0300 DEBUG Completion plugin: Generating completion cache...
2022-11-15T11:17:53+0300 DEBUG Upgraded: authselect-1.2.5-1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: authselect-compat-1.2.5-1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: authselect-libs-1.2.5-1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: ipa-client-4.9.10-3.0.1.module+el8.7.0+20835+685a878f.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: ipa-client-common-4.9.10-3.0.1.module+el8.7.0+20835+685a878f.noarch
2022-11-15T11:17:53+0300 DEBUG Upgraded: ipa-common-4.9.10-3.0.1.module+el8.7.0+20835+685a878f.noarch
2022-11-15T11:17:53+0300 DEBUG Upgraded: libipa_hbac-2.7.3-4.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: libldb-2.5.2-2.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: libsmbclient-4.16.4-2.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: libsss_certmap-2.7.3-4.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: libsss_idmap-2.7.3-4.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: libsss_nss_idmap-2.7.3-4.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: libsss_simpleifp-2.7.3-4.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: libtdb-1.4.6-1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: libwbclient-4.16.4-2.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: python3-ipaclient-4.9.10-3.0.1.module+el8.7.0+20835+685a878f.noarch
2022-11-15T11:17:53+0300 DEBUG Upgraded: python3-ipalib-4.9.10-3.0.1.module+el8.7.0+20835+685a878f.noarch
2022-11-15T11:17:53+0300 DEBUG Upgraded: python3-libipa_hbac-2.7.3-4.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: python3-sss-2.7.3-4.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: python3-sssdconfig-2.7.3-4.0.1.el8.noarch
2022-11-15T11:17:53+0300 DEBUG Upgraded: samba-client-libs-4.16.4-2.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: samba-common-4.16.4-2.0.1.el8.noarch
2022-11-15T11:17:53+0300 DEBUG Upgraded: samba-common-libs-4.16.4-2.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: sssd-2.7.3-4.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: sssd-ad-2.7.3-4.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: sssd-client-2.7.3-4.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: sssd-common-2.7.3-4.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: sssd-common-pac-2.7.3-4.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: sssd-dbus-2.7.3-4.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: sssd-ipa-2.7.3-4.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: sssd-kcm-2.7.3-4.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: sssd-krb5-2.7.3-4.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: sssd-krb5-common-2.7.3-4.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: sssd-ldap-2.7.3-4.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: sssd-proxy-2.7.3-4.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Upgraded: sssd-tools-2.7.3-4.0.1.el8.x86_64
2022-11-15T11:17:53+0300 DEBUG Installed: sssd-idp-2.7.3-4.0.1.el8.x86_64

То есть сначала dnf говорит, что требуемый пакет уже установлен, а потом начинает его обновлять. Это точно нормальное поведение? Если нет, то что я делаю не так? Если да, то чем state: present отличается от state: latest и можно ли как-то сделать так, чтобы если пакет уже установлен, то ничего не происходило?

ОС: Oracle Linux 8, ansible-core 2.13.4

 , ,

Goganchic
()

Отключить все проверки в rpmbuild

Собираю RPM-пакет. Хочу просто взять все файлы как есть и положить их в пакет. Сборка проекта и всевозможные проверки выполняются на другом этапе, поэтому их делать не нужно. При сборке ловлю:

* WARNING: 'check-rpaths' detected a broken RPATH and will cause 'rpmbuild'
*          to fail. To ignore these errors, you can set the '$QA_RPATHS'
*          environment variable which is a bitmask allowing the values
*          below. The current value of QA_RPATHS is 0x0000.

и сборка падает. Как бы мне отключить эту и все остальные проверки разом? Пробовал запускать rpmbuild --nocheck -bb SPECS/myapp.spec — не помогло. Конкретно эту проверку могу отключить так: QA_RPATHS=$(( 0x0001|0x0010|0x0002 )), но тогда выываливаются другие ошибки. Очень не хочется чинить их по одной.

 

Goganchic
()

Странное поведение браузера при работе с dnsmasq

Часть моих dns-записей доступна только внутри VPN (WireGuard), при этом я не хочу пускать все DNS-запросы в сервер внутри VPN сети. Развернул локальный dnsmasq и настроил его таким образом:

server=/example.com/1.2.3.4
server=8.8.8.8

cache-size=0
no-negcache

То есть все запросы для своего домена пускаю на приватный DNS-сервер, а все остальные - на 8.8.8.8. Приватный DNS-сервер доступен только внутри VPN сети, снаружи он не светится. Также установил отсутствие кеширования запросов.

Наблюдаю странное поведение браузера (проверял на Firefox и Chrome): периодически браузер не может разрезолвить какой-нибудь домен, типа google.com. Сначала думал, что поведение возникает в момент включения/выключения VPN, но позже обнаружил такое же поведение и в рандомные моменты. При этом если дернуть dig google.com из консоли, то адрес возвращается корректно, при этом используется мой локальный dns-сервер прописанный в системе.

Чтобы браузер «отпустило» — перезапускаю dnsmasq. После этого все работает корректно.

В логах иногда наблюдаю такое: «Oct 16 12:30:09 ubuntu dnsmasq: Maximum number of concurrent DNS queries reached (max: 150)». Неужели браузер делает 150 запросов? dnsmasq слушает только 127.0.0.1, никто снаружи не может его дернуть.

Поведение воспроизводится на Ubuntu 20.04 и Kubuntu 22.04.

Подскажите, почему может наблюдаться такое поведение?

 

Goganchic
()

Запись гитары в Linux

Использую для записи гитары в Windows такой стек: Reaper + Easy Drummer + Amped Roots + Ample Metal R. Все устраивает. Хотелось бы собрать что-то подобное на Linux. Смотрел недавно видео Кирилла с Hard Sound. Узнал, что можно запустить тот же Reaper и ToneLib GFX, но вот VST плагинов просто так в Reaper не будет. Без них не могу сделать из Midi бас и барабаны. Видел, что можно обернуть VST через Wine и воткнуть их в линуксовый Reaper.

Подскажите пожалуйста, кто-нибудь пробовал провернуть такое? Насколько стабильно работает? Насколько увеличивается задержка?

 , ,

Goganchic
()

Почтовый клиент с поддержкой ActiveSync

В организации используется Outlook в качестве почтового клиента. Все почтовые протоколы (POP3, IMAP) закрыты. Единственный протокол, по которому возможен доступ - ActiveSync. Подскажите пожалуйста, что можно использовать для доступа к почте по ActiveSync в Linux? Смотрел расширения к Thunderbird, но там не совсем то что нужно: Owl работает через OWA, который тоже закрыт, TbSync не работает с почтой, а поддерживает только календари и контакты.

Что можно использовать для почты по протоколу ActiveSync в Linux? Пока что вижу только один вариант: запустить Outlook через Wine. Может быть есть вариант получше?

P.s. попробовал davmail — там тоже нет поддержки ActiveSync, только EWS, который в организации тоже закрыт.

 ,

Goganchic
()

Зачем нужен SELinux?

Недавно начал использовать Oracle Linux 8 на серверах. В RHEL-подобных дистрибутивах по умолчанию включен SELinux. Периодически это приводит к различного рода ошибкам. Например, nginx не может делать proxy_pass на внешний адрес. Я решил это с помощью команды setsebool httpd_can_network_connect 1. Или другой пример: мое приложение на Node.JS падает с ошибкой avc: denied { execmem }, при запуске как systemd service. С этим я еще не разобрался.

С одной стороны я могу отключить SELinux и жить дальше, но мне стало интересно, зачем вообще нужна эта технология. Читаю доку от Red Hat. Из доки я сделал вывод, что SELinux позволяет сделать более гранулярные правила доступа к ресурсам, чем в традиционном DAC. Таким образом, каждому файлу и директории можно поставить какую-то SELinux метку, а для процесса описать политику, в которой указано что можно делать с какими-то ресурсами, а что нельзя. Но разве в DAC делается не тоже самое? Обычно для веб сервера или базы данных создается свой собственный пользователь, которому выдаются доступы к определенным каталогам, а ко всем остальным каталогам доступы запрещаются. В доке от Red Hat пишут:

For example, if the Apache HTTP Server is compromised, an attacker cannot use that process to read files in user home directories, unless a specific SELinux policy rule was added or configured to allow such access.

Но разве Apache по умолчанию настроен так, что у него есть доступ к файлам в домашних каталогах пользователей? У него отдельный пользователь, который никаких доступов в /home не имеет, если их не выдали явно. Или идея в том, что даже если я запустил Apache от своего пользователя с включенным SELinux, то и в этом случае взломанный Apache не будет иметь доступа к моему домашнему каталогу?

Получается, что SELinux это в некотором роде аналог песочниц типа jails в FreeBSD или lxc/bubblewrap в Linux?

В общем, камрады, поделитесь своими мыслями о SELinux: в чем основная идея, когда может быть нужен, нужен ли вообще?

 

Goganchic
()

Помогите разобраться с AGPL

Пытаюсь понять что можно делать с AGPL софтом, а что нельзя. Смотрю на mattermost. В readme написано, что бинарный код распространяется под MIT, а исходники - под AGPL. У mattermost есть бесплатная и платная версии. В платной версии есть разные штуки, типа интеграции с LDAP, поиска через Elastic Search и т.п. Правильно ли я понимаю, что если приложение распространяется по AGPL и его исходники доступны на GitHub, то я могу легально взять исходники, поменять проверку наличия платной лицензии в license.go и свободно пользоваться всеми платными фичами за исключением тех, которые требуют сетевых сервисов mattermost, таких как мобильные нотификации? Понятно, что если я захочу передавать такую версию третьим лицам или хостить на публично доступном сервисе, то я должен поделиться измененными исходниками + могут возникнуть вопросы к торговым маркам, т.е. я должен буду выпилить упоминания названия и логотипов mattermost, как тот же Oracle делает в своем дистрибутиве, основанном на RHEL.

Правильно ли я все понял или где-то ошибся?

 ,

Goganchic
()

Не работает squid в режиме intercept

В конфиге squid выставляю http_port 3129 intercept. На машине со squid-ом выполняю команду curl -I -vvv http://ya.ru --connect-to ya.ru:80:127.0.0.1:3129 и получаю ошибку 403.

Проверил настройки selinux и firewalld - ничего не блочит запросы. Убрал intercept, сделал запрос http_proxy=http://127.0.0.1:3128 curl -I -vvv http://ya.ru - все работает как надо.

Включил debug-логи squid-а, вижу следующее:

2022/08/15 17:17:30.937 kid1| WARNING: Forwarding loop detected for:
HEAD / HTTP/1.1
User-Agent: curl/7.61.1
Accept: */*
X-Forwarded-For: 127.0.0.1
Cache-Control: max-age=259200
Connection: keep-alive
Host: ya.ru

Не могу понять в чем проблема. Если я правильно понимаю принцип работы squid в режиме intercept, то должно произойти следующее:

  • запрос приходит в squid (чаще всего через dnat)
  • squid извлекает из запроса заголовок Host, резолвит имя хоста и делает к нему запрос

Если все так, то не могу понять почему возникает цикл.

Где я ошибаюсь?

 

Goganchic
()

Странное использование _mm_prefetch

Разбираю пример из статьи What Every Programmer Should Know About Memory про векторные оптимизации при умножении матриц:

#include <stdlib.h>
#include <stdio.h>
#include <emmintrin.h>
#define N 1000
double res[N][N] __attribute__ ((aligned (64)));
double mul1[N][N] __attribute__ ((aligned (64)));
double mul2[N][N] __attribute__ ((aligned (64)));
#define SM (CLS / sizeof (double))
int
main (void)
{
  // ... Initialize mul1 and mul2
  int i, i2, j, j2, k, k2;
  double *restrict rres;
  double *restrict rmul1;
  double *restrict rmul2;
  for (i = 0; i < N; i += SM)
    for (j = 0; j < N; j += SM)
      for (k = 0; k < N; k += SM)
        for (i2 = 0, rres = &res[i][j], rmul1 = &mul1[i][k]; i2 < SM; ++i2, rres += N, rmul1 += N)
        {
          _mm_prefetch (&rmul1[8], _MM_HINT_NTA);
          for (k2 = 0, rmul2 = &mul2[k][j]; k2 < SM; ++k2, rmul2 += N)
          {
            __m128d m1d = _mm_load_sd (&rmul1[k2]);
            m1d = _mm_unpacklo_pd (m1d, m1d);
            for (j2 = 0; j2 < SM; j2 += 2)
            {
              __m128d m2 = _mm_load_pd (&rmul2[j2]);
              __m128d r2 = _mm_load_pd (&rres[j2]);
              _mm_store_pd (&rres[j2], _mm_add_pd (_mm_mul_pd (m2, m1d), r2));
            }
          }
        }

  // ... use res matrix
  return 0;
}

Не до конца понимаю идею с _mm_prefetch. Как я прочитал из документации _mm_prefetch позволяет подсказать процессору как кешировать те или иные данные. Поскольку мы итерируемся блоками по SM элементов, то очевидно, что пытаться закешировать элемент, следующий за rmul1 не имеет смысла, т.к. использовать мы его все равно не будем, а попытка кеширования сбросит полезные кеши для других элементов. Поэтому мы помечаем элемент как Non-Temporal Data. Вопрос в том, почему мы помечаем адрес &rmul1[8]? Т.е. мы берем адрес 8-го double-элемента в rmul1 и помечаем его как Non-Temporal. Не понимаю почему именно 8го. Может быть это как-то связано с выравниванием по 64 байта, которое указано в начале программы?

 ,

Goganchic
()

Задать разные DNS-сервера для разных доменов

Сижу на Ubuntu 20.04. Есть несколько VPN подключений до разных рабочих сетей. В каждой сети есть свой внутренний DNS-сервер, который резолвит некоторые домены во внутренние IP-адреса. Если попытаться разрезолвить эти же домены каким-то публичным DNS-сервером (например, 8.8.8.8), то в результате получим внешние IP.

Как лучше всего настроить привязки разных доменов к разным DNS-серверам? Гуглю про dnsmasq, но вроде как для систем с systemd уже есть systemd-resolved и лучше конфигурировать его. Подскажите как лучше всего сделать?

P.s. хочу сделать статическую конфигурацию, т.е. не важно, включены сейчас VPN-сервера или нет - привязки доменов к конкретным DNS-серверам должны сохраниться как есть (да, я понимаю, что в случае если отключены vpn работать ничего не будет, но так и задумано).

 , ,

Goganchic
()

PyCharm Community из Flatpak и несуществующий python3.9

Установил PyCharm Community из Flatpak. Создал простой проект. PyCharm автоматически создает venv. Накатил туда PySide6. Открыл директорию venv в терминале PyCharm: вижу что файл venv/bin/python3 указывает на /usr/bin/python3.9. Смотрю директорию /usr/bin в терминале PyCharm - файл python3.9 - есть. Смотрю эту же директорию в обычном терминале вне PyCharm - файла python3.9 нет. Как результат - активировать venv вне PyCharm не могу. Думаю, что такое поведение как-то связано с Flatpak. Как это работает? Где почитать?

 ,

Goganchic
()

FreeIPA SSHFP ключи

У меня такой сетап:

  • ОС: Oracle Linux 8
  • FreeIPA домен
  • DNS на bind9, dnssec отключен

Пытаюсь добавить машину в домен, все проходит успешно, но получаю такое сообщение: Could not update DNS SSHFP records.

Правильно ли я понимаю, что эти записи нужны того, чтобы с помощью DNS подтвердить что ключи сервера верные? Нужны ли эти записи мне вообще, если dnssec у меня отключен? Проверяю работоспособность доменных машин - все работает и без этих записей. Добавить ipa-client-install их не может судя по тому, что в bind9.conf у меня указано allow-update { none; }.

 

Goganchic
()

VPN вложенный в другой VPN

К ряду ресурсов есть доступ только через WireGuard VPN соединение. При этом, чтобы подключиться к WireGuard пиру необходимо иметь IP в определенной стране, который можно получить с помощью другого VPN соединения (для простоты пусть это будет тоже WireGuard). Как настроить подключение таким образом, чтобы первое WireGuard соединение шло через второе? Что-то никак не могу нагуглить. Поделитесь полезной ссылкой, пожалуйста.

 

Goganchic
()

Зачем в AltLinux используется связка apt + rpm?

Смотрю на пакетный менеджер в AltLinux и вижу, что используется достаточно нетипичная связка apt-get + rpm. Насколько я знаю, обычно используется либо apt-get + deb, либо yum/dnf + rpm.

Погуглил, наткнулся на несколько страниц, узнал что это пошло от бразильской конторы conectiva, но это не отвечает на вопрос зачем оно так? Пока что это выглядит как троллейбус из буханки хлеба: да, сделать можно, но это будет очень нетипичное использование, а, следовательно, все возможные шишки придется набивать самому, вместо того, чтобы пользоваться наработками сообщества.

В чем тайный смысл?

 , ,

Goganchic
()

Маршрутизация внутри сети

Есть 2 сети: net1 и net2.

В net1 есть хост gw1, который имеет 2 сетевых интерфейса: один смотрит в Интернет, второй - в net1.

В net2 есть хост gw2, который имеет 2 сетевых интерфейса: один смотрит в net1, второй - в net2.

Вопрос: как лучше настроить роутинг для машин из net1 для хождения в net2? Вижу 2 варианта:

  1. Настроить роутинг только на gw1, а у остальных машин net1 оставить только default gw. В этом случае если роутинг нужно будет поменять - то достаточно это сделать только на одном хосте. Недостаток - избыточный трафик на gw1.
  2. Настроить на каждой машине из net1 роутинг в net2 через gw2. Так трафика в сети будет поменьше, но роутинг придется настраивать на каждой машине в net1.

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

Я прав или есть какие-то подводные камни?

 

Goganchic
()

Oracle Linux 8 wireguard

Пытаюсь установить Wireguard на Oracle Linux 8. Заметил что во всех статьях либо предлагается установить пакет kmod-wireguard (статья про Wireguard в CentOS 8), либо предполагается что wireguard уже установлен (статья про Wireguard в Oracle Linux 8).

В репозиториях Oracle Linux 8 есть пакет wireguard-tools, но нет пакета kmod-wireguard. Без него ожидаемо ловлю ошибку Unable to access interface: Protocol not supported.

Еще нашел упоманание Wireguard в доке про Unbreakable Enterprise Kernel, но у меня обычное ядро 4.18.0.

Подскажите, куда копать?

 ,

Goganchic
()

RSS подписка на новые темы