LINUX.ORG.RU

Сообщения Sorcus

 

Detected Hardware Unit Hang. Reset adapter unexpectedly.

С некоторой периодичностью возникает проблема с сетевым адаптером.

00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (11) I219-LM
Apr 12 13:11:31 archlinux kernel: e1000e 0000:00:1f.6 eno2: Detected Hardware Unit Hang:
                                    TDH                  <0>
                                    TDT                  <a>
                                    next_to_use          <a>
                                    next_to_clean        <0>
                                  buffer_info[next_to_clean]:
                                    time_stamp           <10658bdc9>
                                    next_to_watch        <0>
                                    jiffies              <10658c780>
                                    next_to_watch.status <0>
                                  MAC Status             <80083>
                                  PHY Status             <796d>
                                  PHY 1000BASE-T Status  <3800>
                                  PHY Extended Status    <3000>
                                  PCI Status             <10>
Apr 12 13:11:33 archlinux kernel: e1000e 0000:00:1f.6 eno2: NETDEV WATCHDOG: CPU: 4: transmit queue 0 timed out 8134 ms
Apr 12 13:11:33 archlinux kernel: e1000e 0000:00:1f.6 eno2: Reset adapter unexpectedly
Apr 12 13:11:33 archlinux systemd-networkd[1212]: eno2: Lost carrier
Apr 12 13:11:36 archlinux kernel: e1000e 0000:00:1f.6 eno2: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx
Apr 12 13:11:36 archlinux systemd-networkd[1212]: eno2: Gained carrier

После этих ошибок адаптер обычно перестаёт работать.
Пробовал выгружать и загружать заново модуль e1000e через rmmod и modprobe, но это ничего не даёт.
Помогает только перезагрузка.
Отключение всяких gso/gro/tso не помогло. Изменение параметров модуля e1000e тоже ничего не исправило.
Куда дальше копать я хз, может кто сталкивался с таким или подскажет, как этот модуль / адаптер возвращать в работоспособное состояние без постоянной перезагрузки?
Спасибо.

 , ,

Sorcus
()

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

По мотивам недавней темки (Какие есть проблемы при создании opensource телефона) придумал идею.

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

  • раздача интернета
  • совершение голосовых звонков
  • приём / отправка SMS

Данное устройство:

  • не имеет доступа к данным, хранимых на устройствах пользователей
  • не имеет доступа к микрофону
  • имеет клиент с открытым исходным кодом для основных OS
  • имеет открытый протокол общения с клиентом (что позволит написать свой клиент к устройству)
  • позволяет работать со звонками и SMS с любого устройства с помощью bluetooth, WiFi, USB, …?
  • может использоваться несколькими устройствами одновременно (почти)
  • содержит открытую прошивку (кроме некоторых частей, которые пока открыть не получится, например baseband)
  • позволит работать в сетях 5G (как пример) даже устройствам 10 летней давности
  • будет компактным и работать не только от сети, но и аккумулятора
  • шифрование обычных звонков и SMS в мобильной сети
  • и т.д.

По сути это просто модем, который умеет раздавать интернет, совершать звонки и отправлять / получать SMS.
К нему можно будет подключить несколько устройств и при входящем звонке ответить с ноутбука или планшета.
Т.к. беспроводные чипы не имеют открытой прошивки, то это самый оптимальный вариант с реализацией такого устройства.
По поводу шифрования звонков и SMS. Судя по найденной мной информации такое сделать можно.
Но не уверен, актуальна ли эта информация до сих пор и при каких условиях оно работает.
Шифрование звонков и SMS будет работать только между владельцами этих устройств.
Если конечно это нельзя реализовать программно на любой платформе, тогда можно будет между любыми участниками, использующими нужное ПО.

Ну и как всегда вопрос к обитателям лорчика - сложно ли сделать такое устройство и какой бюджет / сроки?
Чтобы хотя бы проверить работоспособность такого устройства и разослать каким-нибудь блогерам / сайтам для обзора.
Потому что на мой взгляд такое устройство вполне может пользоваться спросом.
И сделать в дальнейшем open source телефон без baseband чипа будет немного проще.

 , , ,

Sorcus
()

Какие есть проблемы при создании opensource телефона

Всё-таки не даёт мне покоя идея с реализацией полноценного open source телефона.
На различных сайтах я частенько вижу комментарии, в которых есть спрос на подобные телефоны.
Возможно он не такой большой, как на айфоны, но всё же.
Как я понимаю, со стороны пользователей основная претензия в высокой стоимости за относительно слабое железо.

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

И почему при их финансовых возможностях (а они вроде как не маленькие), они не могут / хотят пилить открытые драйвера?
Да, у них большинство драйверов открытые, но некоторые ещё пилить и пилить, а некоторые (baseband) и вовсе без исходников.
Но с baseband ещё понятно, что они возможно боятся регуляторов, но разве нельзя поставлять изначально со стоковой прошивкой и в следующем обновлении менять на open source вариант?
Или же прошивки на подобных чипах нельзя обновить / защищены подписью или что-то подобное?

Что в целом мешает или замедляет разработку прошивок с помощью обратной разработки?
Или же компании просто боятся судебных исков и уголовного преследования за такое?

Собственно есть ли какие-то существенные препятствия чтобы не создать полноценный open source телефон?
Если особых препятствий нету, я бы вложился в создание такого телефона.
Причём я бы хотел именно кнопочный open source телефон с хорошим железом.
Я находил варианты таких телефонов (и спрос на такие телефоны есть), но ни одного полноценного open source.
Хотя многие из них заявляют о secure by design и всё такое. Без исходников…
А некоторые ещё и берут изначально открытую OS и пилят свой проприетарный вариант (KaiOS, Apostrophy OS).
Который в итоге ставят на телефоны, не предоставляя исходников ни на OS, на на драйвера.

Ну и собственно кто-то тут занимается проектированием / разводкой плат / обратной разработкой?
Хотелось бы почитать комментарии таких людей.

 , , ,

Sorcus
()

Запуск графического ПО в systemd-nspawn

Пытаюсь запустить любую команду в systemd-nspawn через systemd-run (что вроде как рекомендуемый вариант), но получаю ошибки вместо запуска (в качестве примера даже env не работает).

$ sudo systemd-run --machine user@container /usr/bin/env
Failed to start transient service unit: Access denied
$ systemd-run --machine user@container /usr/bin/env
Failed to connect to bus: Permission denied
Failed to start transient service unit: Transport endpoint is not connected

В самом контейнере следующее:

Sep 07 12:45:23 container systemd[1]: Started systemd-stdio-bridge.
Sep 07 12:45:23 container dbus-daemon[37]: [system] Activating via systemd: service name='org.freedesktop.home1' unit='dbus-org.freedesktop.home1.service' requested by ':1.46475' (uid=0 pid=371724 comm="(o-bridge)")
Sep 07 12:45:23 container dbus-daemon[37]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.home1.service': Unit dbus-org.freedesktop.home1.service not found.
Sep 07 12:45:23 container (o-bridge)[371724]: pam_unix(login:session): session opened for user user(uid=1000) by user(uid=0)
Sep 07 12:45:23 container systemd-logind[40]: New session 50 of user user.
Sep 07 12:45:23 container systemd[1]: Started Session 50 of User user.
Sep 07 12:45:23 container (sd-pam)[371726]: pam_unix(login:session): session closed for user user
Sep 07 12:45:23 container systemd[1]: run-u46474.service: Deactivated successfully.
Sep 07 12:45:23 container dbus-daemon[37]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.46478" (uid=1000 pid=371726 comm="(sd-pam)") interface="org.freedesktop.login1.Manager" member="ReleaseSession" error name="(unset)" requested_reply="0" destination="org.freedesktop.login1" (uid=0 pid=40 comm="/usr/lib/systemd/systemd-logind")
Sep 07 12:45:23 container (sd-pam)[371726]: pam_systemd(login:session): Failed to release session: Access denied
Sep 07 12:45:23 container (sd-pam)[371726]: PAM Attempted to close sd-bus after fork, this should not happen.
Sep 07 12:45:23 container systemd[1]: session-50.scope: Deactivated successfully.
Sep 07 12:45:23 container systemd-logind[40]: Session 50 logged out. Waiting for processes to exit.
Sep 07 12:45:23 container systemd-logind[40]: Removed session 50.

На текущий момент приходится запускать следующим образом:

sudo systemd-run --machine "$id" --remain-after-exit \
	/usr/bin/sudo --user "$user" --login \
	/usr/bin/sh -c "bemenu-run"

Потому что без sudo софт запускается от пользователя root и отсутствуют многие переменные окружения, которые нужны для запуска GUI.
Собственно весь вопрос в том, как в systemd-nspawn правильно запускать приложения от обычного пользователя, при этом не оставляя зависающих процессов (к примеру запустив Firefox через bemenu-run, сам процесс bemenu-run остаётся на месте, чего не происходит про запуске с хоста. Правда я уже не помню как именно запускал, через systemd-run или через machinectl).
Т.е. нужно как-то создать сессию обычного пользователя и из неё уже запустить программу. Но возможно я не совсем понимаю, как оно работает на самом деле.

 ,

Sorcus
()

В поисках идей для реализации.

Давненько я сюда не заходил.
В общем хочется создать (хотя скорее проспонсировать) что-нибудь полезное / годное и чтобы по возможности приносило прибыль (хотя и не обязательно).
Но нет чёткого понимания того, что именно хочется (а хочется всё и сразу).
Из того, что мне хотелось бы попробовать реализовать:

  • библиотеку GUI (библиотек много не бывает, верно?)
  • софт для работы с удалённым рабочим столом (альтернатива TeamViewer, есть конечно VNC и RDP, но иногда это ещё тот геморой)
  • мини-пк / планшеты с поддержкой Linux из коробки (либо создание открытых драйверов для различного железа, но как я понимаю, это не лёгкий процесс даже при наличии оплачиваемых сотрудников)

Но это идеи из разряда «just for fun», хотя реализовать их не отказался бы.
Но может у пользователей лорчика есть какие-то идеи, прототипы, которые нужно реализовать, но не хватает на это денег (хоть мой бюджет и не безграничный пока что, но для годной идеи денег не жалко).
Или может кто-то захочет помочь в реализации одной из моих идей (даже если не взлетит, то для портфолио сгодится (естесственно с оплатой)).

 , , , ,

Sorcus
()

Настройка Virtual Ethernet в systemd-networkd.

Пытаюсь настроить сеть для systemd-nspawn контейнеров с IPv4/IPv6 адресами, но работает оно не так, как хотелось бы.
В юните systemd-nspawn@.service используется флаг --network-veth.
Для него используется конфиг /usr/lib/systemd/network/80-container-ve.network со следующим содержимым:

[Match]
Name=ve-*
Driver=veth

[Network]
# Default to using a /28 prefix, giving up to 13 addresses per container.
Address=0.0.0.0/28
LinkLocalAddressing=yes
DHCPServer=yes
IPMasquerade=both
LLDP=yes
EmitLLDP=customer-bridge
IPv6SendRA=yes

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

# ip -4 address
8: ve-d0a47fadj0Iy@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link-netnsid 1
    altname ve-d0a47fad-260b-468d-a931-37e73de87a34
    inet 192.168.111.209/28 brd 192.168.111.223 scope global ve-d0a47fadj0Iy
       valid_lft forever preferred_lft forever
# ip -4 route
192.168.111.208/28 dev ve-d0a47fadj0Iy proto kernel scope link src 192.168.111.209 

И в целом всё работает. Но если я вместо Address=0.0.0.0/28 укажу к примеру Address=10.0.5.1/28, то результат будет таким:

# ip -4 address
9: ve-d0a47fadj0Iy@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link-netnsid 1
    altname ve-d0a47fad-260b-468d-a931-37e73de87a34
    inet 10.0.5.1/28 brd 10.0.5.15 scope global ve-d0a47fadj0Iy
       valid_lft forever preferred_lft forever
# ip -4 route
default dev wg scope link 
10.0.5.0/28 dev ve-d0a47fadj0Iy proto kernel scope link src 10.0.5.1 

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

# ip -4 address
10: ve-d0a47fadj0Iy@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link-netnsid 1
    altname ve-d0a47fad-260b-468d-a931-37e73de87a34
    inet 10.0.5.0/28 brd 10.0.5.15 scope global ve-d0a47fadj0Iy
       valid_lft forever preferred_lft forever
11: ve-c9c8aa34cqwn@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link-netnsid 2
    altname ve-c9c8aa34-13da-45d0-adf1-44d900439ee1
    inet 10.0.5.0/28 brd 10.0.5.15 scope global ve-c9c8aa34cqwn
       valid_lft forever preferred_lft forever
# ip -4 route
10.0.5.0/28 dev ve-d0a47fadj0Iy proto kernel scope link src 10.0.5.0 
10.0.5.0/28 dev ve-c9c8aa34cqwn proto kernel scope link src 10.0.5.0 

И сеть работает только в одном контейнере.
Примерно тоже самое с IPv6. Если я в секцию [IPv6Prefix] добавлю Assign = true, то адрес из /64 префикса назначается нормально, но маршруты прописываются таким образом:

2a01:aaaa:bbbb:cccc::/64 dev ve-c9c8aa34cqwn proto kernel metric 256 pref medium
2a01:aaaa:bbbb:cccc::/64 dev ve-d0a47fadj0Iy proto kernel metric 256 pref medium
fe80::/64 dev ve-d0a47fadj0Iy proto kernel metric 256 pref medium
fe80::/64 dev ve-c9c8aa34cqwn proto kernel metric 256 pref medium

Т.е. опять дублирование маршрутов.
В общем можно ли как-то настроить Virtual Ethernet интерфейсы для systemd-nspawn таким образом, чтобы адреса и маршруты на хост машине не пересекались у контейнеров?
Спасибо.

 , , ,

Sorcus
()

Жильё в Дубае.

Кто-нибудь сдаёт жильё в Дубае в районе Marina / JBR? Или может кто-то сможет приютить у себя с 29 октября с оплатой аренды 50 / 50? Спасибо.

 

Sorcus
()

Ищу работу.

Ищу работу сис. админом или кодером в Спб (готов к рассмотрению других локаций и переезду).
Что могу / умею / практикую:

  • веб-сервер (nginx, mariadb, postgresql, php-fpm, uacme (Let’s Encrypt), LXC/LXD).
  • почтовый сервер (postfix, dovecot, opendkim).
  • DNS сервер (knotdns).
  • VPN (wireguard, openvpn).
  • прочее (mattermost, ejabberd, goaccess, nftables).

Так же пишу код на Crystal, в меньшей степени JavaScript.
Был опыт в написании небольшой программы на C.
Писал биндинги к библиотекам на C в Crystal.
Писал простенькие реализации HTTP(сервер, клиент) / SMTP(клиент) / WebSocket(сервер, клиент).

Знание английского на уровне A1/A2.

Рассчитываю на з/п от 3000$.

 , , ,

Sorcus
()

Настроить переключение раскладки в QMK.

Настраиваю себе клавиатуру с помощью конфигуратора Oryx и на текущий момент с en на ru переключаюсь двумя кнопками.
Одна меняет раскладку, другая меняет слой (раскладка нестандартная).
Так вот, можно ли как-то это упростить и переключаться на русский слой вместе с переключением раскладки и можно ли это сделать через конфигуратор.
И соответственно при переключении с русского, на слой с символами, можно ли сразу переключаться на английский?
А то для ввода некоторых символов приходится раскладку менять 2 раза.
Сперва на английский, а после ввода символа обратно на русский.
Или всё это надо писать самому и стандартных средств для этого нет?
https://beta.docs.qmk.fm/using-qmk/simple-keycodes/keycodes_basic#international - и для чего здесь нужны KC_LANG?
Я так и не нашёл инфы о том, что это такое, зачем оно и как их использовать.
Спасибо.

 ,

Sorcus
()

Медленная компиляция большого массива в Crystal (LLVM).

Есть следующий кусок кода на Crystal

GMULT_AES = [0x00, 0x00, 0x00, 0x00, ...]
puts GMULT_AES[12000]

Элементов в массиве 65535.
При компиляции с флагом --release сильно возрастает потребление памяти и время компиляции.
При компиляции был получен такой кусок LLVM IR

define internal void @"~GMULT_AES:init"() {
alloca:
  %__temp_386 = alloca i32*
  %capacity = alloca i32
  %ary = alloca %"Array(Int32)"*
  br label %entry

entry:                                            ; preds = %alloca
  store i32 65536, i32* %capacity
  %0 = load i32, i32* %capacity
  %1 = call %"Array(Int32)"* @"*Array(Int32)@Array(T)::new<Int32>:Array(Int32)"(i32 596, i32 %0)
  store %"Array(Int32)"* %1, %"Array(Int32)"** %ary
  %2 = load %"Array(Int32)"*, %"Array(Int32)"** %ary
  %3 = load %"Array(Int32)"*, %"Array(Int32)"** %ary
  %4 = getelementptr inbounds %"Array(Int32)", %"Array(Int32)"* %3, i32 0, i32 3
  %5 = load i32*, i32** %4
  store i32* %5, i32** %__temp_386
  %6 = load i32*, i32** %__temp_386
  %7 = call i32 @"*Pointer(Int32)@Pointer(T)#[]=<Int32, Int32>:Int32"(i32* %6, i32 0, i32 0)
  %8 = load i32*, i32** %__temp_386
  %9 = call i32 @"*Pointer(Int32)@Pointer(T)#[]=<Int32, Int32>:Int32"(i32* %8, i32 1, i32 0)
  %10 = load i32*, i32** %__temp_386
  %11 = call i32 @"*Pointer(Int32)@Pointer(T)#[]=<Int32, Int32>:Int32"(i32* %10, i32 2, i32 0)
  %12 = load i32*, i32** %__temp_386
  %13 = call i32 @"*Pointer(Int32)@Pointer(T)#[]=<Int32, Int32>:Int32"(i32* %12, i32 3, i32 0)
  %14 = load i32*, i32** %__temp_386

Аллокаций тут вроде не так много, но зато много строк с load/call, которые вызываются на каждый элемент массива
Из-за чего так происходит?
Как более правильно должен создаваться массив с большим кол-ом элементов, чтобы это не сказывалось на скорости компиляции?
P.S. Аналогичную проблему нашёл и в баг-трекере Rust-а https://github.com/rust-lang/rust/issues/49330

 ,

Sorcus
()

Широковещательные пакеты внутри Wireguard VPN.

Почему UDP пакеты, отправленные на 255.255.255.255 с клиента не видны на остальных клиентах?
На сервере эти пакеты видны, но они похоже никуда больше не идут.
Что и куда нужно прописать, чтобы остальные клиенты внутри VPN получали эти пакеты?
Или оно не так работает?
Как минимум клиенты не видят друг друга в игре по LAN.
Т.е. пакеты с каждого клиента на сервер уходят и тишина.
Логи tcpdump одного из клиентов на сервере на интерфейсе wg0.

16:29:39.942995 IP 10.0.0.10.43124 > 255.255.255.255.43124: UDP, length 88
16:29:49.945035 IP 10.0.0.10.43124 > 255.255.255.255.43124: UDP, length 79
16:29:59.947711 IP 10.0.0.10.43124 > 255.255.255.255.43124: UDP, length 79
16:30:09.951737 IP 10.0.0.10.43124 > 255.255.255.255.43124: UDP, length 79
16:30:34.951693 IP 10.0.0.10.43124 > 255.255.255.255.43124: UDP, length 88
16:30:44.955056 IP 10.0.0.10.43124 > 255.255.255.255.43124: UDP, length 79
16:30:54.956994 IP 10.0.0.10.43124 > 255.255.255.255.43124: UDP, length 79
16:31:04.958339 IP 10.0.0.10.43124 > 255.255.255.255.43124: UDP, length 79
16:31:29.958226 IP 10.0.0.10.43124 > 255.255.255.255.43124: UDP, length 88
Если запустить тот же hamachi, то через него почему-то работает.

 ,

Sorcus
()

VPS намертво зависает и запускается systemd-coredump.

Oct 13 03:26:04 clients systemd-journald[27376]: Journal started
Oct 13 03:26:13 clients systemd-journald[27376]: System journal (/var/log/journal/2ff026d56bfb409ea1ccd8842dc4e1b9) is 2.0G, max 4.0G, 1.9G free.
Oct 13 03:26:21 clients kernel: audit: type=1701 audit(1570933136.813:1254719): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=245 comm="systemd-jour
nal" exe="/usr/lib/systemd/systemd-journald" sig=6 res=1
Oct 13 03:26:25 clients systemd[1]: systemd-journald.service: State 'stop-watchdog' timed out. Terminating.
Oct 13 03:26:36 clients systemd-coredump[27365]: Process 245 (systemd-journal) of user 0 dumped core.
Oct 13 03:26:41 clients systemd-coredump[27365]: Coredump diverted to /var/lib/systemd/coredump/core.systemd-journal.0.cd438447dcbf4849a43a4d3d3c7126
e8.245.1570933136000000.lz4
Oct 13 03:26:43 clients systemd-coredump[27365]: Stack trace of thread 245:
Oct 13 03:26:46 clients systemd-coredump[27365]: #0  0x00007f30ea245593 n/a (libsystemd-shared-242.so)
Oct 13 03:26:57 clients systemd-coredump[27365]: #1  0x00007f30ea24b149 n/a (libsystemd-shared-242.so)
Oct 13 03:27:00 clients systemd-coredump[27365]: #2  0x00007f30ea24e4c7 n/a (libsystemd-shared-242.so)
Oct 13 03:27:03 clients systemd-coredump[27365]: #3  0x00007f30ea24e9fb sd_event_dispatch (libsystemd-shared-242.so)
Oct 13 03:27:05 clients systemd-coredump[27365]: #4  0x00007f30ea24ebc1 sd_event_run (libsystemd-shared-242.so)
Oct 13 03:27:18 clients systemd-coredump[27365]: #5  0x00005578f27fb5d1 n/a (systemd-journald)
Oct 13 03:27:23 clients systemd-coredump[27365]: #6  0x00007f30ea48fee3 __libc_start_main (libc.so.6)
Oct 13 03:27:32 clients systemd-coredump[27365]: #7  0x00005578f27fdbbe n/a (systemd-journald)
Oct 13 03:27:39 clients systemd-coredump[27365]: Stack trace of thread 27364:
Oct 13 03:27:50 clients systemd-coredump[27365]: #0  0x00007f30ea48e330 n/a (libc.so.6)
Oct 13 03:27:55 clients systemd-coredump[27365]: #1  0x00007f30ea4f4077 __libc_thread_freeres (libc.so.6)
Oct 13 03:29:34 clients systemd-journald[27378]: Journal started
Oct 13 03:29:37 clients systemd-journald[27378]: System journal (/var/log/journal/2ff026d56bfb409ea1ccd8842dc4e1b9) is 2.0G, max 4.0G, 1.9G free.
Oct 13 03:29:38 clients systemd-coredump[27365]: #2  0x00007f30e9a905a5 start_thread (libpthread.so.0)
Oct 13 03:29:39 clients systemd-coredump[27365]: #3  0x00007f30ea5650e3 __clone (libc.so.6)
Oct 13 03:29:43 clients systemd[1]: systemd-journald.service: Main process exited, code=dumped, status=6/ABRT
Oct 13 03:29:50 clients systemd[1]: systemd-journald.service: Failed with result 'watchdog'.
Oct 13 03:29:58 clients kernel: audit: type=1131 audit(1570935252.894:1254720): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-journald
 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
Oct 13 03:30:04 clients systemd[1]: systemd-journald.service: Service has no hold-off time (RestartSec=0), scheduling restart.
Oct 13 03:30:06 clients systemd[1]: systemd-journald.service: Scheduled restart job, restart counter is at 1.
Oct 13 03:30:10 clients systemd[1]: systemd-journal-flush.service: Succeeded.
Oct 13 03:30:14 clients systemd[1]: Stopped Flush Journal to Persistent Storage.
Oct 13 03:30:15 clients kernel: audit: type=1131 audit(1570936194.725:1254721): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-journal-
flush comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Oct 13 03:30:16 clients systemd[1]: Stopping Flush Journal to Persistent Storage...
Oct 13 03:30:18 clients systemd[1]: Stopped Journal Service.
Oct 13 03:30:19 clients kernel: audit: type=1130 audit(1570936249.012:1254722): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-journald
 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Oct 13 03:30:20 clients kernel: audit: type=1131 audit(1570936251.147:1254723): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-journald
 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Oct 13 03:30:26 clients systemd[1]: Starting Journal Service...
Oct 13 03:30:27 clients systemd[1]: systemd-journald.service: Start operation timed out. Terminating.
Oct 13 03:30:27 clients systemd[1]: systemd-journald.service: Main process exited, code=killed, status=15/TERM
Oct 13 03:30:28 clients systemd[1]: systemd-journald.service: Failed with result 'timeout'.
Oct 13 03:30:29 clients systemd[1]: Failed to start Journal Service.
Oct 13 03:30:29 clients systemd[1]: Dependency failed for Flush Journal to Persistent Storage.
Oct 13 03:30:31 clients systemd[1]: systemd-journal-flush.service: Job systemd-journal-flush.service/start failed with result 'dependency'.
Oct 13 03:30:32 clients kernel: audit: type=1130 audit(1570937079.887:1254724): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-journald
 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
Oct 13 03:30:34 clients kernel: audit: type=1131 audit(1570937082.275:1254725): pid=365 uid=0 auid=4294967295 ses=4294967295 msg='unit=api.imes.su co
mm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
Oct 13 03:30:36 clients systemd[1]: systemd-journald.service: Service has no hold-off time (RestartSec=0), scheduling restart.
Oct 13 03:30:42 clients systemd[1]: systemd-journald.service: Scheduled restart job, restart counter is at 2.
Oct 13 03:30:51 clients systemd[1]: Stopped Journal Service.
Oct 13 03:30:54 clients kernel: audit: type=1130 audit(1570937095.025:1254726): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-journald
 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Oct 13 03:30:57 clients kernel: audit: type=1131 audit(1570937095.218:1254727): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-journald
 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Oct 13 03:31:00 clients systemd[1]: Starting Journal Service...
Oct 13 03:31:06 clients kernel: audit: type=1305 audit(1570937152.530:1254728): op=set audit_enabled=1 old=1 auid=4294967295 ses=4294967295 res=1

Это последние строки из journalctl до принудительной перезагрузки.
Т.к. к серверу не удаётся подключиться. Процессор забит на 100%.
Вывод команды coredumpctl list пуст.
Такая хрень происходит только с двумя VPS-ками из 6.
Началось это пару-тройку месяцев назад.
Происходит не часто, пока что всего 4 раза такое было.
По 2 раза на 2 VPS-ках.

systemd 242 (242.84-2-arch)
+PAM +AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=hybrid
Linux clients 5.2.9-arch1-1-ARCH #1 SMP PREEMPT Fri Aug 16 11:29:43 UTC 2019 x86_64 GNU/Linux

 ,

Sorcus
()

Не работает сеть с некоторыми IPv6 адресами.

Добавляю IPv6 адреса на интерфейс с помощью ip -6 address add.
Вот результат:
2a01:7e01:e002:8f8f:d5c0:c62d:b385:438f - работает.
2a01:7e01:e002:620a:d5c0:c62d:b385:438f - не работает.
2a01:7e01:e002:8fa4:b866:b31f:f2c1:990b - работает.
2a01:7e01:e002:6205:d5c0:c62d:b385:438f - не работает.
2a01:7e01:e002:6f8f:d5c0:c62d:b385:438f - не работает.
2a01:7e01:e002:8205:d5c0:c62d:b385:438f - не работает.
Адреса из префикса /56, выделенного Linode.
Между VPS и клиентом используется Wireguard туннель.
Когда добавляются адреса, с которыми сеть не работает, VPS с VPN остаётся доступной.
Т.е. даже если отключиться от VPS и подключиться снова - всё работает.
Но только до этой VPS.
Любой другой трафик по IPv6 покидает VPS-ку, но никакого ответа нет.
Но это касается только тех адресов, у которых выше пометка не работает.
Адреса с пометкой работает таких проблем не имеют.
Почему так происходит? Спасибо.

 

Sorcus
()

Почему postfix не видит PTR записи.

В логах такие ошибки

Jul 09 10:13:46 mx.example.org postfix/smtpd[17844]: connect from unknown[2607:f8b0:4864:20::74a]
Jul 09 10:13:46 mx.example.org postfix/smtpd[17844]: NOQUEUE: reject: RCPT from unknown[2607:f8b0:4864:20::74a]: 450 4.7.1 Client host rejected: cannot find your reverse hostname, [2607:f8b0:4864:20::74a]; from=<noreply-dmarc-support@google.com> to=<admin@example.com> proto=ESMTP helo=<mail-qk1-x74a.google.com>
Jul 09 10:13:46 mx.example.org postfix/smtpd[17844]: disconnect from unknown[2607:f8b0:4864:20::74a] ehlo=2 starttls=1 mail=1 rcpt=0/1 bdat=0/1 quit=1 commands=5/7
А вот что выдаёт kdig.
archlinux% kdig +short -x 2607:f8b0:4864:20::74a
mail-qk1-x74a.google.com.

archlinux% kdig +short -t AAAA mail-qk1-x74a.google.com
2607:f8b0:4864:20::74a
Т.е. PTR запись как бы есть и домен указывает на нужный IPv6 адрес.
Вот что в main.cf указано из *restrictions
smtpd_client_restrictions = permit_sasl_authenticated, reject_unknown_reverse_client_hostname
smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination
smtpd_sender_restrictions = reject_non_fqdn_sender, reject_unknown_sender_domain
Вроде бы ничего такого строгого нет.
Почему postfix видит все хосты как unknown, даже когда PTR есть и соответствие домен <-> PTR корректно?
Спасибо.

 

Sorcus
()

Платёжные системы со след. требованиями.

Ищу платёжку, которая удовлетворяет след. требованиям:
1. Не требует номер телефона. Вообще. Совсем.
2. Не требует подтверждений адреса. Я может в картонной коробке на улице живу.
3. Из документов желательно только паспорт.
4. Без налогов по 20%+
5. Пополнение с любой банковской карты (платёжная страница для приёма платежей) и вывод на любую карту / платёжку.
6. Нет ограничений по работе с битками.
7. Возможность выпускать виртуальные карты.
Вроде всё пока что. Никакой чернухи. Была бы чернуха, купил бы готовые акки платёжек в даркнете. Спасибо.
P.S. А линукс тут притом, что впс-ки на нём нужно оплачивать карточкой.

 

Sorcus
()

Не совсем понятны некоторые переменные в postfix.

Есть почтовый сервер, который обслуживает несколько доменов.
Сам почтовый сервер - mx.example.org.
Обслуживаемые домены example-0.com, example-1.com, example-2.com
Почтовых адресов на *.example.org нет (или обязательно должен быть postmaster@example.org?).
Отсюда возникают такие вопросы:
1. Переменная myhostname должна указывать на mx.example.org, т.к. относится к почтовому серверу, верно?
2. Переменная myorigin - нужна ли она и на что она должна указывать, если почтовый сервер используется для обслуживания виртуальных доменов?
3. Переменная mydestination - аналогично пункту 2.
4. Переменная mydomain - аналогично пункту 2.

 

Sorcus
()

PCRE правила для Postfix в SQL.

В Postfix-е можно инспектировать заголовки с помощью регулярок.
http://www.postfix.org/header_checks.5.html
Вопрос, как содержимое pcre таблицы перенести в бд?
Точнее каким должен быть SQL запрос в Postfix, чтобы поиск по регулярке работал так же, как с pcre файлом.
Информации толком нет нигде, либо я плохо искал.
Пример регулярок например тут - https://posluns.com/guides/header-checks/
Спасибо.
P.S. Заменил на sieve.

 

Sorcus
()

Почему IPv6 адрес записан в таком формате?

Linode выдаёт IPv6 адреса на каждую VPS в таком формате 2a01:7e01::f03c:aaaa:bbbb:cccc/64.
Проблема в том, что при попытке указать в конфиге Wireguard этот IPv6 адрес в AllowedIPs адрес обрезается до 2a01:7e01::/64.
Что приводит к тому, что между VPS-ками нельзя организовать туннели, если VPS-ок больше 2-х.
Т.к. одинаковых IPv6 адресов в AllowedIPs быть не должно, а они все обрезаются до 2a01:7e01::/64.
Вопрос - почему IPv6 адрес у Linode выдаётся именно в таком формате и чья это проблема, что IPv6 обрезается в Wireguard?
Т.е. кто должен это исправлять, разработчики Wireguard или Linode?

P.S. Вопрос исчерпан, всем спасибо за советы.

 , ,

Sorcus
()

Разработчики sway и wlroots отвечают на вопросы.

https://www.reddit.com/comments/as1dd0
Если в кратце, то в преддверии релиза sway 1.0, разработчики решили уделить время и ответить на любые интересующие вопросы касательно sway, wlroots или wayland.
Поэтому если кому-то интересно, можно зайти и почитать тему, либо задать свой вопрос.

 , ,

Sorcus
()

Запускать сервис после появления интерфейса.

Прошивка OpenWrt на роутере.
Нужно запускать после рестарта сервис nftables.
Набросал такой сервис

#!/bin/sh /etc/rc.common

START=25

USE_PROCD=1
PROCD_DEBUG=1

start_service() {
        procd_open_instance
        procd_set_param command /usr/sbin/nft -f /etc/nftables.conf
        procd_set_param stdout 1
        procd_set_param stderr 1
        procd_close_instance
}

Проблема в том, что в правиле есть упоминания интерфейса br-lan и сервис запускается с ошибкой, т.к. этот интерфейс еще не доступен.
Пробовал добавлять procd_add_interface_trigger, но почему-то не работает.
Как запускать сервис в OpenWrt после появления интерфейса br-lan?

 

Sorcus
()

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