LINUX.ORG.RU

Сообщения ia666

 

OpenVPN в режиме моста, проблема с получением IP адреса

Есть роутер под управлением OpenWrt, поднял на нём openvpn в режиме моста, чтобы клиенты vpn становились полноценными участниками локальной сети.
Проблема с получением ip/routes для клиентов во время подключения от dhcp в локалке.
Но если после подключения ручками дернуть dhclient на созданный интерфейс - все прилетает.
По документации он должен обращаться к dhcp серверу локалки за адресом и выставлять его, но такого не происходит автоматически.

Конфиг openvpn, серверная часть:

verb 4
script-security 0

server-bridge nogw
port 1194
proto tcp4-server
tcp-nodelay
dev tap

dh dh.pem
pkcs12  lan.p12
tls-crypt ta.key

keepalive 5 30
remote-cert-tls client

Лог подключения клиента:

Sat Jul 15 20:15:53 2023 daemon.notice openvpn((vpn0))[5973]: 156.19.128.4:17271 TLS: Initial packet from [AF_INET]156.19.128.4:17271, sid=c5877215 8642d37b
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: 156.19.128.4:17271 VERIFY OK: depth=1, CN=Easy-RSA CA
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: 156.19.128.4:17271 VERIFY KU OK
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: 156.19.128.4:17271 Validating certificate extended key usage
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: 156.19.128.4:17271 ++ Certificate has EKU (str) TLS Web Client Authentication, expects TLS Web Client Authentication
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: 156.19.128.4:17271 VERIFY EKU OK
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: 156.19.128.4:17271 VERIFY OK: depth=0, CN=client1
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: 156.19.128.4:17271 peer info: IV_VER=2.5.2
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: 156.19.128.4:17271 peer info: IV_PLAT=linux
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: 156.19.128.4:17271 peer info: IV_PROTO=6
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: 156.19.128.4:17271 peer info: IV_NCP=2
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: 156.19.128.4:17271 peer info: IV_CIPHERS=AES-256-GCM:AES-128-GCM
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: 156.19.128.4:17271 peer info: IV_LZ4=1
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: 156.19.128.4:17271 peer info: IV_LZ4v2=1
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: 156.19.128.4:17271 peer info: IV_LZO=1
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: 156.19.128.4:17271 peer info: IV_COMP_STUB=1
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: 156.19.128.4:17271 peer info: IV_COMP_STUBv2=1
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: 156.19.128.4:17271 peer info: IV_TCPNL=1
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: 156.19.128.4:17271 Control Channel: TLSv1.3, cipher TLSv1.3 TLS_CHACHA20_POLY1305_SHA256, peer certificate: 4096 bit RSA, signature: RSA-SHA256
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: 156.19.128.4:17271 [client1] Peer Connection Initiated with [AF_INET]156.19.128.4:17271
Sat Jul 15 20:15:54 2023 daemon.err openvpn((vpn0))[5973]: client1/156.19.128.4:17271 MULTI: no dynamic or static remote--ifconfig address is available for client1/156.19.128.4:17271
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: client1/156.19.128.4:17271 Data Channel: using negotiated cipher 'AES-256-GCM'
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: client1/156.19.128.4:17271 Data Channel MTU parms [ L:1583 D:1450 EF:51 EB:411 ET:32 EL:3 ]
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: client1/156.19.128.4:17271 Outgoing Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: client1/156.19.128.4:17271 Incoming Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key
Sat Jul 15 20:15:54 2023 daemon.notice openvpn((vpn0))[5973]: client1/156.19.128.4:17271 SENT CONTROL [client1]: 'PUSH_REPLY,ping 5,ping-restart 30,socket-flags TCP_NODELAY,peer-id 0,cipher AES-256-GCM' (status=1)

 , ,

ia666
()

Выбор сетевой карты

Полетела встроенная в материнку сетевая карта, поэтому вынужден искать замену. Подскажите, пожалуйста, беспроблемную в плане драйверов в linux сетевую карту, Ethernet, 1ГБит/c, на 1-2 порта, подключение к PCI шине.

 ,

ia666
()

nvidia GT730

День добрый, ищу себе «затычку» в системник. Летом хотел взять вот такой перевыпуск GT710.
В ней вроде всё хорошо, пассивная, аж 4 до моников, и nouveau поддерживает вроде без геммороя.
Но не успел, закончились в продаже. Счас увидел в продаже GT730.
Посему пришел сюда с таким вопросом - стоит ли брать её, есть ли варианты от AMD подобные?
Есть ли подводные камни? Очень хочется услышать мнение со стороны.

 , ,

ia666
()

Нужна помощь с написанием ebuild'a для модуля pulseaudio

Хочу написать ебилд для либы, у нее есть опция - собрать модуль для пульсы. Встретилось 2 неясности:

  • Требуются распакованные исходники пульсы( #include <pulsecore/..> ). Вопрос лишь какую версию указать в SRC_URI?
    Вариантов решения вижу два:

    • Завести PULSE_VER и обновлять его, если надо.
    • Каким то образом вытягивать версию пульсы, которая стоит в системе(portage вообще может такое напрямую?) и плясать от нее.
  • Требуется config.h, который обычно генерируется из config.h.in после configure у пульсы, в исходниках его нету.
    Глядя в media-sound/pulseaudio-modules-bt, там config.h.in идет вместе с исходниками и средствами cmake генерируется.
    Т.к. pulseaudio знаю слабо, то не огребу ли в будущем каких то проблем, если просто запущу econf с нужными ключами на сорцах пульсы, а потом перекину сгенерированнный config.h куда надо?
    По идее, дефайны могут не совпасть с теми, которые были при сборке pulseaudio. Что вообще делать в таких ситуациях?

Интересует как сделать это в соотвествии с devmanual и не накосячить

 ,

ia666
()

Поиск оптимального момента для снижения цены

Есть X, что генерирует ресурс c одинаковой скоростью, по цене P = f(n), где n - количество уже имеющихся X.
Цель - найти оптимальный момент, когда снизить цену покупки на R процентов выгоднее, чем купить новый X. Мысли пока такие:

  • оценивать время, которое будет необходимо, чтобы купить новый X для обоих случаев
  • оценивать снижение цены как множитель выхлопа 1/(1-total), где total - суммарное снижение. 20% снижение = 1.25

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

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

 

ia666
()

Хранение переменной одного из двух типов

Есть два enum для двух очень похожих, но не пересекающихся категорий.
И стандартные map’ы где хранятся элементы:

struct Entity {
    const int v1;
    int v2;
/* дальше кучка методов с формулами */
};
enum class First { ... };
enum class Second { ... };
std::map<First, Entity> FirstMap;
std::map<Second, Entity> SecondMap;

Хочется написать некий класс View, который будет запоминать часть данных от Entity на момент создания View. А также возможность обновить представление. Что то типа:

View( First t, const Entity & e ){...}
View( Second t, const Entity & e){...}

Как лучше хранить t внутри объекта View? т.к. без этого не сделать «обновление данных» в View, надо знать, что за сущность отображается. Отображение First отличается от отображения Second, поэтому и затык.

Про std::variant и его аналоги в курсе, но вдруг найдется более лучше решение, т.к. здесь всего 2 возможных типа.
Или можно по другому организовать хранение данных, чтобы такая проблема вообще не возникла? Буду рад любым идеям.

 

ia666
()

Heroes 3 HD mod под wine

У кого нибудь есть успешный опыт в запуске многопользовательской игры в 3 героях с HD модом?
В одиночной игре проблем нету, при попытке начать многопользовательскую игру или присоединиться - висяк
Пробовал и wine vanilla и wine staging, разницы 0. Хочется выяснить, это я криворук или нет

 ,

ia666
()

Bash while досрочное прерывание цикла

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

find $dir -maxdepth 3 -iname "*.mp4" -type f | while read f
do
    f=$(basename "${f}")
    ffmpeg ... > /dev/null 2>&1
done
...

Цикл обрабатывает только первый файл, а потом прекращает работу.
Если убрать вызов ffmpeg - обходит все файлы.
Куда копать?

 

ia666
()

Radeon и dpm

Имеется ноут, карточка radeon(используется драйвер RV710) + 2 монитора. Если ничего не трогать, то при подключении 2 монитора memory clock улетают на максимум, в итоге оно жрет больше энергии и греется тоже больше.

echo battery > /sys/class/drm/card0/device/power_dpm_state

спасает ситуацию, но до первого сна или отключения монитора. Потом он автоматом выставляет performance.
Вопрос - как заставить его использовать только один указанный режим? в параметрах модуля ничего такого не нашел.
P.S Про вариант выключить dpm и использовать управление через profile в курсе, но это запасной вариант, если с dpm ничего не выйдет

 ,

ia666
()

Странно высокий LA

уже второй раз ловлю ситуацию, что на ноутбуке показывает высокий la. В первый раз в простое было 6, сейчас показывает 3.
Учитывая, что у ноута всего 2 физ.ядра, top показывает 98% idle, iotop показывает, что диск воообще на нагружен, одни нули, la ниже 3 не падает.
с памятью тоже все прекрасно, занято только 2 из 8Gb, свап никто не мучает
Куда копать, чтобы выяснить откуда берется эта 3?

 

ia666
()

tmpfs с другой фс

Надо потестировать различные фс в определенном случае, но не напрягая диск, hdd все таки медленные. Подумалось, а не воспользоваться ли tmpfs, благо оперативки хватает для данного выкрутаса.

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

Есть ли другие варианты?

 , ,

ia666
()

Многопоточный поиск пути

Умные люди, помогите, пожалуйста, с алгоритмом:

  • Имеем 7 измерений, по которым можно двигаться, с шагом в 1.
  • Одномоментно можно пройти только по одному измерению.
  • При переходе надо сделать расчет можем ли мы здесь находиться, если можно, ок, идем дальше, нельзя - по этому пути прохода нет.
  • Начальные условия задаются при старте, как далеко можно зайти зависит только от начальных условий

Хочу узнать как далеко можно зайти. Если делать в один поток, то вырисовывается простая рекурсивная функция, которая рано или поздно все обойдет.
Думал как можно распараллелить сие, пока что пришел к мысли хранить контейнер с мьютексом для хранения уже пройденных состояний. При переходе проверять наличие исследуемого элемента в контейнере. Если его нет, тут же добавлять его в контейнер, чтобы другие потоки не делали дублирующую работу.
Вопрос собственно в том, а не фигню ли я придумал?
Интересует есть ли более быстрые/простые способы запускать от 1 до N потоков, чтобы они не делали лишную работу и не мешались друг другу

 , ,

ia666
()

Зависает UI в Chromium

Собственно проблем две

  • После выбора файла для загрузки интерфейс окна зависает нафиг. Я вижу все вкладки, содержмое текущей вкладки перерисовывается при изменении размера окна, но на ввод мышки\клавиатуры и другие попытки переключить вкладку не реагирует. Шанс так попасть примерно 50% на 50%. Если открыто другое окно с вкладками - его не затрагивает
    Из похожих нашел такой баг https://bugs.chromium.org/p/chromium/issues/detail?id=716892
    Но у меня kde и GTK_MODULES у меня вообще не определена.
  • При открытии диалога выбора файла он слева выводит ссылки на /home и на пути указанные в fstab, но почему то считает, что они не примонтированы, хотя это не так. И вместо перехода по ним пытается примонтировать их, и отваливается из-за недостатка прав на это. Как его научить нормально видеть папки? И можно ли его заставить использовать родной диалог выбора файла?

 , ,

ia666
()

Multiple pulseaudio

Есть какой нибудь нормальный способ урегулировать ситуацию, когда имеется больше одного пользователя, которые используют PA для вывода звука?
По умолчанию у второго и последующих пользователей звук просто отваливается

 

ia666
()

обновление OpenWRT

Имеется старая прошивка OpenWRT, с деревом исходников и конфигом, с которым прошивка создавалась
Цель - обновить прошивку до 18.06.2 релиза, готовую брать не могу, т.к. её все равно под свои нужды изменять.
При обновлении, мне надо просто обновить сорцы через гит, прогнать feeds если надо, и сделать olddefconfig? Или еще какие то грабли в наличии?
Или взять чисто конфиг, и скачать всё исходники по новой?

 

ia666
()

Шахматы

Кто подскажет какие есть программы для шахмат под linux? Из необходимого:

  • Импорт сыгранной игры, PGN формат
  • Возможность анализа и т.д.
  • Если возможно выбор движка.

 

ia666
()

MiniPCIe Wifi адаптер для ноутбука

Задумал обновить wifi карточку в ноуте, смотрю на чипы от Atheros, т.к. хочу без адаптер без блоба и хорошей поддержкой в ядре + bluetooth. Офигенные скорости, ac режим, 5GHz не обязательны, но почему бы и нет. Что мудрые люди посоветуют?

 , ,

ia666
()

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