LINUX.ORG.RU

Сообщения BOOBLIK

 

Потери пакетов внутри OpenVPN сети

Вводная такая: Есть большой OpenVPN сервер для объединения филиальных сетей. В какой-то момент начали наблюдаться потери пакетов в туннельной (только внутри) сети из любой точки в любую. Причем проблема затрагивала даже две ноды (OpenVPN-сервер и OpenVPN-client1), живущие в Европе в соседних ДЦ на быстрых и качественных каналах.

Путём чтения логов был выловлен клиент, который выбивает сам себя путём переподключения разных мест раз в минуту – это была легитимная нода, для которой сделан этот клиент, и админ этой ноды, который решил воспользоваться этим сертификатом с своего компа.

В client-config в настройках OpenVPN сервера для этого клиентского CN был прописан iroute с подсетью позади клиента.

Как только переподключения из разных мест были устранены – проблема с потерей пакетов сразу ушла. Теста ради включили дубль этого клиента снова и потери сразу проявились. Т.е. источник проблемы найден, но не понятна её причина.

Пытаюсь написать postmortem о проблеме и смутно помню, что читал где-то что-то в духе «добавление iroute в внутренние таблички openvpn ставит весь туннельный трафик на паузу».

Может кто-то из Лоровцев сможет навести на ответ на вопрос «Что это было?».

 

BOOBLIK
()

Linux autoinstall

Чем в современном мире модно и практично ставить линуксы на однотипные и не очень рабочие машинки? Пересобрать установочный образ с включенным туда preseed файликом и записать его на флешку – я могу. Пока это всем устраивает, но хочется немного фич:

  • грузить голое железо pxe загрузчиком и от туда запускать установку подготовленного образа. Какое-то решение покрывающее современное железо(uefi)?
  • подготавливать новый дистрибутив своими настройками как-то более централизованно чем лапша на bash или иметь юзерфрендли интерфейс, чтобы это можно было поручить хелпдеску на местах
  • иметь какую-то внутреннюю базу таких установок, чтобы потом получить их сетевые адреса и натравить на них ansible

 , , , ,

BOOBLIK
()

Скачущие буквы в шрифтах

Недавно пересел на Arch (Manjaro) с KDE. Обратил внимание, что на некоторых сайтах chromium рисует мне страшные шрифты. В попытке пофиксить это я попробовал собрать пакет ttf-ms-win10 из AUR с подсовыванием ему директории Fonts из винды. Предположительно, что после этого я стал иногда натыкаться на вот такие «скачущие» шрифты: https://imgur.com/a/x1xSu3L

В приведённом примере я иду через Inspect Element в Dev Tools и нахожу там стили с проблемным текстом, в котором сказано:

font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;

как только я убираю упоминание «Helvetica Neue», то отрисовка шрифтов приходит в норму.

Как с таким бороться на уровне системы?

 , , ,

BOOBLIK
()

Работа клавиши Shift

Приветствую! Не так давно пересел на linux в роли основного десктопа, 80% работы происходит в консоли и меня достает одна неудобная мелочь.

Смена раскладки у меня настроена по shift+alt и сразу после смены раскладки, отпустив alt, но не отпуская shift я хочу напечатать прописную букву. Увы, но по дефолту в моей системе это так не работает, google fu подводит, т.к. у меня не получается правильно подобрать ключевые слова.
Возможно кто-то сталкивался с похоже проблемой и знает в какую сторону копать.

Работаю в Debian 9, gnome-shell 3.22.

 ,

BOOBLIK
()

Запуск x11vnc до логина пользователей в систему

Debian 9, gdm3, gnome 3.22

Собственно сабж, а гугл-фу меня подводит. На руках только ssh root@удаленная система. Опыта с linux на десктопах почти нет. Привычный -auth guess не работает, а файлов, который предлагает поискать x11vnc не сущетвует:

** If NO ONE is logged into an X session yet, but there is a greeter login
   program like "gdm", "kdm", "xdm", or "dtlogin" running, you will need
   to find and use the raw display manager MIT-MAGIC-COOKIE file.
   Some examples for various display managers:

     gdm:     -auth /var/gdm/:0.Xauth
              -auth /var/lib/gdm/:0.Xauth
     kdm:     -auth /var/lib/kdm/A:0-crWk72
              -auth /var/run/xauth/A:0-crWk72
     xdm:     -auth /var/lib/xdm/authdir/authfiles/A:0-XQvaJk
     dtlogin: -auth /var/dt/A:0-UgaaXa

Может кто-то сталкивался и имеел похожие проблемы?

 , , , ,

BOOBLIK
()

Hot spare для raid-массивов на разделах диска

Приветствую. Есть сервер с вот таким разбитием локального массива дисков:

NAME      MAJ:MIN RM   SIZE RO TYPE   MOUNTPOINT
sda         8:0    0 931,5G  0 disk
├─sda1      8:1    0   501M  0 part
│ └─md126   9:126  0   501M  0 raid1  /boot
└─sda2      8:2    0 465,7G  0 part
  └─md127   9:127  0   931G  0 raid10 /
sdb         8:16   0 931,5G  0 disk
├─sdb1      8:17   0   501M  0 part
│ └─md126   9:126  0   501M  0 raid1  /boot
└─sdb2      8:18   0 465,7G  0 part
  └─md127   9:127  0   931G  0 raid10 /
sdc         8:32   0 931,5G  0 disk
├─sdc1      8:33   0   501M  0 part
│ └─md126   9:126  0   501M  0 raid1  /boot
└─sdc2      8:34   0 465,7G  0 part
  └─md127   9:127  0   931G  0 raid10 /
sdd         8:48   0 931,5G  0 disk
├─sdd1      8:49   0   501M  0 part
│ └─md126   9:126  0   501M  0 raid1  /boot
└─sdd2      8:50   0 465,7G  0 part
  └─md127   9:127  0   931G  0 raid10 /
sde         8:64   0 931,5G  0 disk
Правильно ли я понимаю, что чтобы добавить sde как горячую замену для этих двух массивов мне нужно сделать точно такое же разбитие на разделы и указать --spare-devices=1 в оба массива дописав в конце /dev/sdeN? Чем и как можно удобно сделать таблицу один-в-один (размеры разделов, смещения) между парой дисков?

 

BOOBLIK
()

Мониторинг удаленного VPS в zabbix

Очевидно, что выставлять zabbix-agent голым задом в интернеты не очень хочется. Отсюда вытекает вопрос, как правильно и секурно сделать получение данных с VPS на внутрисетевой сервер мониторинга? Реализовывать все запросы zabbix'а через external scripts, в котором уже предварительно поднимать vpn-сессию Zabbix > VPS? Возможно у zabbix-agent есть возможность отдавать данные завернутые в https и только после аутентификации со стороны системы мониторинга? Может быть есть какой-то иной метод?

Идти по пути велосипедостроения не очень хочется, возможно все уже придумано до меня. Одно но, постоянно держать поднятой VPN-сессию VPS<>внутренняя сеть я не хочу по сугубо личным параноидальным причинам.

 

BOOBLIK
()

kvm passthrough hdd spin down

Привет, лор. Сейчас у меня дома трудится самосборный NAS с кучкой дисков. Управляет всем этим делом Synology DSM с модифицированным загрузчиком. Хочется странного и я с некоторой целью намерен накатить на железо что-нибудь типа Fedora, поднять там kvm виртуалку для xpenology, пробросив ей набор отдельных дисков. Собственно вопрос в сабже — будет ли гостевая ОС исправно выключать диски во время отсутствия IO или же гипервизор не позволит это сделать? Сейчас, без прослойки в виде KVM spin-down выполняется корректно.

 

BOOBLIK
()

SNMP LLD discovery и прототипы графиков

Можно ли создать прототип графика, в который войдут все обнаруженные с помощью lld discovery, итемы (например, температура всех дисков хоста)? При указании в прототипе графика одного прототипа итема заббикс, что вполне оправданно, пытается создать N графиков для каждого из обнаруженных дисков.

 

BOOBLIK
()

Bacula - выбор стратегии сжатия данных

Есть несколько серверов с кучей plaintext-файлов, которые ежедневно бэкапятся на сервер хранилища bacula. В bacula-fd.conf клиентов указан режим сжатия gzip-7, в отчетах я вижу вот такое:

  Elapsed time:           6 hours 19 mins 49 secs
  Priority:               4
  FD Files Written:       672,671
  SD Files Written:       672,671
  FD Bytes Written:       233,644,294,925 (233.6 GB)
  SD Bytes Written:       233,777,648,329 (233.7 GB)
  Rate:                   10252.5 KB/s
  Software Compression:   36.2 % (gzip)
Правильно ли я понимаю, что все данные жмутся еще на клиенте и передаются на хранение в уже пожатом виде? Грамотно ли будет убрать компрессию на клиенте и передавать данные непожатыми, при условии канала в 2Gbit/s и расположения сторадж пула бакулы на zfs томе с включенным lz4. Процессорные мощности и на клиентах и на сервере бакула примерно одинаковые.
Собственно цель всего этого дела — сократить elapsed time.

 ,

BOOBLIK
()

Openvpn & роуты

Есть ли какой-то метод заполнить таблицу, одну из перечисленных в rt_tables, роутами послe поднятия OpenVPN и создания его интерфейсов (tun, tap), и соответственно убрать их после остановки сервера/клиента?

openvpn 2.3.2

 

BOOBLIK
()

Bash-скриптинг

Заказчик просит странного. Поэтому приходится извращаться:

#!/bin/bash
NOW="`date +%H:%m:%S` "
FILENAME="`date +%d%m%Y`.txt"
if [ $(date +%k%M) -ge 800 ] && [ $(date +%k%M) -lt 1000 ] ; then
HOST1=`fping 172.18.18.101 -A 2>/dev/null|grep alive`
HOST2=`fping 172.18.18.102 -A 2>/dev/null|grep alive`
HOST3=`fping 172.18.18.103 -A 2>/dev/null|grep alive`
HOST4=`fping 172.18.18.104 -A 2>/dev/null|grep alive`
HOST5=`fping 172.18.18.105 -A 2>/dev/null|grep alive`
HOST6=`fping 172.18.18.106 -A 2>/dev/null|grep alive`
HOST7=`fping 172.18.18.107 -A 2>/dev/null|grep alive`
if [ -n "$HOST1" ]; then
echo $NOW $HOST1 >> /root/pc_is_alive/$FILENAME
fi
if [ -n "$HOST2" ]; then
echo $NOW $HOST2 >> /root/pc_is_alive/$FILENAME
fi
if [ -n "$HOST3" ]; then
echo $NOW $HOST3 >> /root/pc_is_alive/$FILENAME
fi
if [ -n "$HOST4" ]; then
echo $NOW $HOST4 >> /root/pc_is_alive/$FILENAME
fi
if [ -n "$HOST5" ]; then
echo $NOW $HOST5 >> /root/pc_is_alive/$FILENAME
fi
if [ -n "$HOST6" ]; then
echo $NOW $HOST6 >> /root/pc_is_alive/$FILENAME
fi
if [ -n "$HOST7" ]; then
echo $NOW $HOST7 >> /root/pc_is_alive/$FILENAME
fi
fi
Запускается кроном раз в три минуты. В выхлопе вот это:
cat /root/pc_is_alive/12092014.txt
09:09:01 172.18.18.101 is alive
09:09:01 172.18.18.101 is alive
09:09:01 172.18.18.103 is alive
09:09:01 172.18.18.104 is alive
09:09:01 172.18.18.101 is alive
09:09:01 172.18.18.103 is alive
09:09:01 172.18.18.104 is alive
09:09:01 172.18.18.101 is alive
09:09:01 172.18.18.103 is alive
09:09:01 172.18.18.104 is alive
09:09:01 172.18.18.101 is alive
09:09:01 172.18.18.103 is alive
09:09:01 172.18.18.104 is alive
09:09:01 172.18.18.101 is alive
09:09:01 172.18.18.103 is alive
09:09:01 172.18.18.104 is alive
09:09:01 172.18.18.101 is alive
09:09:01 172.18.18.103 is alive
09:09:01 172.18.18.104 is alive
09:09:01 172.18.18.101 is alive
09:09:01 172.18.18.103 is alive
09:09:01 172.18.18.104 is alive
09:09:01 172.18.18.101 is alive
09:09:01 172.18.18.104 is alive
09:09:01 172.18.18.101 is alive
09:09:01 172.18.18.103 is alive
09:09:01 172.18.18.104 is alive
09:09:01 172.18.18.101 is alive
09:09:01 172.18.18.103 is alive
09:09:01 172.18.18.104 is alive
09:09:01 172.18.18.101 is alive
09:09:01 172.18.18.103 is alive
09:09:01 172.18.18.104 is alive
09:09:01 172.18.18.101 is alive
09:09:01 172.18.18.103 is alive
09:09:01 172.18.18.104 is alive
09:09:01 172.18.18.101 is alive
09:09:01 172.18.18.103 is alive
09:09:01 172.18.18.104 is alive
09:09:01 172.18.18.101 is alive
09:09:01 172.18.18.103 is alive
09:09:01 172.18.18.104 is alive
09:09:01 172.18.18.101 is alive
09:09:01 172.18.18.103 is alive
09:09:01 172.18.18.104 is alive

Подскажите, почему таймстемп у строк одинаковый?

 

BOOBLIK
()

CentOS route based IPsec

Подскажите, каким образом в CentOS можно поднять ipsec route-based соединение. Т.е. с поднятием отдельного интерфейса для туннеля, табличкой роутинга и прочими ништяками. Policy based и ip xfrm в конфигурации чуть сложнее чем site-to-site ниасилил.

 ,

BOOBLIK
()

Мониторинг IPsec

Коммьюнити, подскажите, чем можно мониторить состояние туннеля IPsec поднятого на CentOS 6.5/openswan с protostack=netkey? Пока что делаю это пингами (zabbix) в сторону хоста в удаленной сети. Может быть есть более красивое решение, позволяющее увидеть кратковременные падения туннеля?

 , , ,

BOOBLIK
()

Секурный доступ к http сервису в внутренней сети

Имею в своей сети несколько voip устройств, живущих в отдельном vlan к которым хотелось бы организовать удаленный доступ для обслуживающих их инженеров. Сами устройства умеют отдавать свою веб-морду через http. Есть ли какой-то метод отдать инженерам ссылочку вида https://my.ext.ip/deviceXX которая бы попросила логин пароль через basic authentication и в случае успеха человек бы увидел вебморду устройства, находящегося в внутренней сети?

Давать vpn к своей сети решительно не хочу. Лезть в iptables и включать там DNAT на 80 порт девайсов по каждому звонку от телефонистов немного напрягает. Чем такая схема реализуется? Нормальный ли это метод (и возможный ли в принципе)? Задайте направление для гугла пожалуйста.

 , , ,

BOOBLIK
()

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

В одном из сервреров есть девайс:

05:00.0 Serial controller: NetMos Technology PCI 9865 Multi-I/O Controller
05:00.1 Serial controller: NetMos Technology PCI 9865 Multi-I/O Controller
драйвера к которому идут в виде тарболла с исходниками. Вручную пересобирать модуль при каждом обновлении ядра , путь и банальным make && make install как-то не хочется. Краем уха слышал про dkms, который используется при пересборке модулей virtualbox. Может есть у кого годный how-to по прикручиванию dkms к произвольному софту в виде исходников? Может я горожу велосипед и эта проблема решается другим путем?

 , ,

BOOBLIK
()

dhclient и default gateway

Как правильно запретить системе устанавливать default gw при ifdown && ifup, renew, rebind и подобных событиях? Нужно получать от провайдерского dhcp только ip/маску. Отказаться от использования автоматической настройки интерфейса скорей всего не смогу т.к. провайдер использует ipoе и по словам поддержки необходимо получение настроек автоматически(даже в случае с постоянным получением статического адреса, как у меня).

Основной канал настроен статикой с указанием GATEWAY в ifcfg-ethX.

CentOS release 5.8 (Final)
dhclient 3.0.5

 , ,

BOOBLIK
()

Выполнение скрипта из cron

Есть простенький скрипт:

#!/bin/sh
cd /root
/usr/bin/svn up /root/trunk/
'cp' -rf /root/trunk/etc/squid/denied.acl /etc/squid/denied.acl
/sbin/service squid reload

При выполнении скрипта в ручную из под root все идет как надо. При вызове скрипта с помощью cron

*/30 * * * * root /root/svn_update.sh
Вижу в логах, что скрипт запускается, но не выполняет прописанные в него задачи. По косвенным признакам вижу, что апдейта локальной копии svn не происходит, рестарта squid тоже.

Где искать проблему?

 , ,

BOOBLIK
()

bacula и настройка сетевых интерфесов

Есть физический сервер с парой гигабитных линков, на сервере крутится bacula, которая бэкапит примерно 200GB данных в каждую ночь. Как бы перенастроить параметры одного из сетевых интерфесов, чтобы заточить его на передачу больших объемов данных при небольшом количестве сетевых соединений? Задайте плз направление для гуглинга.

 , , ,

BOOBLIK
()

Кодировки и squid log

Наблюдаю строки вот такого вида в access.log

339870507.703      0 192.168.0.159 NONE/400 4236 M▒▒▒▒c(▒▒▒_▒▒▒▒;▒z`i0Y▒▒▒▒▒2▒▒▒8=ܼ▒▒▒▒rQ▒▒xs=x▒c] %E7%99%98%EFE%C6%B1%C8%A6%99;lO%F7+6d%C0%C7%0E%5E%08%86V%81%F1%7C%9BU%BC%FA%91%1B%3E%18%B8%B8r%CA%FA9%84 - NONE/- text/html
192.168.0.159 — единсвтенный линуховый пользовательский ПК в этой подсети. На клиенте Ubuntu 12.04 и Firefox из старндартных реп. Как бы мне это побороть? Я бы и внимания не обратил, но такой треш в логах выносит мозги системе генерации статистики.

 , ,

BOOBLIK
()

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