LINUX.ORG.RU

Сообщения Vint

 

Nginx + memcached в кеш попадают сломанные ссылки

Прошу помощи экспертного сообщества, так как мои усилия зашли в тупик.

В наличии три сервера с распределёнными ролями:
Первый — шлюз, на нём почтовый сервер и DNS зона (первичная) на bind9 + nginx фронтенд в качестве кеширующего прокси и балансировщика.
Второй — nginx бакенд, на нём крутятся сами виртуальные хосты + memcached + redis
Третий — сервер с базами данных MySQL и PostgreSQL

Проблема заключается в том, что пару-тройку раз в неделю (иногда бывает чаще) в кеше memcached на втором сервере (бакенд) появляются страницы сайта на которых ссылки имеют IP адрес в url вместо имени домена. Проблема решается перезапуском memcached.

Причину и момент когда ссылки сайта ломаются я так и не смог отловить. То что это не проблема binda я уверен, он работает правильно. Так же не думаю, что это проблема nginxa, там тоже уже давно всё нормально работает. Есть подозрение на CMS, у меня сайт на joomla 3.10.

Уважаемые коллеги, кто нибудь сталкивался с подобным поведением? Если будут нужны конфиги, покажу.

Спасибо заранее за помощь

 , , ,

Vint
()

Apparmor спалил bind9 за каким то непотребством. Нужны пояснения

Категорический привет, комрады. Подскажите кто в курсе, нахрена демону bind9 читать osrelease / environ /cmdline из /proc? Или мне бинда поломали? С аппармором мне конечно насрать на эту движуху, он всё равно ничего подобного не даст сделать, но как то осадочек беспокоит.

Ниже строки из лога аппармора:

Dec 3 20:44:57 gate kernel: [122469.550950] audit: type=1400 audit(1638553497.199:184): apparmor=«DENIED» operation=«open» profile=«/usr/sbin/named» name=«/sys/kernel/mm/transparent_hugepage/enabled» pid=25287 comm=«named» requested_mask=«r» denied_mask=«r» fsuid=0 ouid=0

Dec 3 20:44:57 gate kernel: [122469.556790] audit: type=1400 audit(1638553497.207:185): apparmor=«DENIED» operation=«open» profile=«/usr/sbin/named» name=«/proc/sys/kernel/osrelease» pid=25287 comm=«named» requested_mask=«r» denied_mask=«r» fsuid=0 ouid=0

Dec 3 20:44:57 gate kernel: [122469.556933] audit: type=1400 audit(1638553497.207:186): apparmor=«DENIED» operation=«open» profile=«/usr/sbin/named» name=«/proc/1/environ» pid=25287 comm=«named» requested_mask=«r» denied_mask=«r» fsuid=0 ouid=0

Dec 3 20:44:57 gate kernel: [122469.557051] audit: type=1400 audit(1638553497.207:187): apparmor=«DENIED» operation=«open» profile=«/usr/sbin/named» name=«/proc/cmdline» pid=25287 comm=«named» requested_mask=«r» denied_mask=«r» fsuid=0 ouid=0

 , , ,

Vint
()

rsyslog после перезапуска заваливает /var/log/syslog старыми записями

Доброго дня комрады.

Есть некоторое непонимание происходящего. Использую rsyslog для записи журналов в файлы. Так вот это самый rsyslog после перезапуска сервиса пишет в файл /var/log/syslog ВСЁ что есть в журналах systemd-journald. Абсолютно всё что есть с самого начала регистрации до текущего времени. Как научить это существо писать в файл только новые записи по факту перезапуска?

У меня Debian Sid. На соседнем сервере ровно та же установка и настройка, но подобного неадекватного поведения не наблюдаю.

У гугла спрашивал, но ничего внятного не нашёл. Прошу помощи зала.

 , ,

Vint
()

MPD мусорит в логах, но работает

Настроил mpd, работает отлично. Но! В логах по несколько раз в день появляются следующие строки:

Jun 20 06:23:13 dozer systemd[113368]: mpd.socket: Failed to create listening socket (0.0.0.0:6600): Address already in use
Jun 20 06:23:13 dozer systemd[113368]: mpd.socket: Failed to listen on sockets: Address already in use
Jun 20 06:23:13 dozer systemd[113368]: mpd.socket: Failed with result 'resources'.
Jun 20 06:23:13 dozer systemd[113368]: Failed to listen on mpd.socket.
Jun 20 06:23:16 dozer mpd[113383]: exception: Failed to bind to '192.168.77.1:6600'
Jun 20 06:23:16 dozer mpd[113383]: exception: nested: Failed to bind socket: Address already in use
Jun 20 06:23:17 dozer systemd[113368]: mpd.service: Main process exited, code=exited, status=1/FAILURE
Jun 20 06:23:17 dozer systemd[113368]: mpd.service: Failed with result 'exit-code'.
Jun 20 06:23:17 dozer systemd[113368]: Failed to start Music Player Daemon.

Что происходит понять не могу. Кто пытается запускать (повторно) тоже не нашёл. Порт естессно занят, им же и занят. Вот и ругается.

В конфиге:
bind_to_address «192.168.77.1»
bind_to_address «127.0.0.1»
port «6600»
audio_output {
type «httpd»
name «DOZER HTTP Music Streamer (flac)»
encoder «flac» # flac, vorbis, lame
port «7700»
bind_to_address «192.168.77.1» # optional, IPv4 or IPv6
quality «1.0» # do not define if bitrate is defined
# bitrate «256» # do not define if quality is defined
format «44100:16:1»
max_clients «10» # optional 0=no limit
always_on «yes»
}

Подскажите направление, может кто сталкивался.

 ,

Vint
()

Bind 9.11 + iptables не отвечает на запросы

Доброго дня коллеги.
Нужна ваша помощь. Bind упорно молчит на запросы от клиентов. В iptables политика по умолчанию DROP, правила у меня такие:

iptables -P INPUT DROP;
iptables -P OUTPUT DROP;
iptables -P FORWARD DROP;

#INPUT
iptables -A INPUT -i $WAN_IF -p tcp -m tcp --source 0/0 --sport $UNPRIV_PORTS --destination $WAN_IP --dport 53 -m conntrack --ctstate NEW -j ACCEPT;
iptables -A INPUT -i $WAN_IF -p udp -m udp --source 0/0 --sport $UNPRIV_PORTS --destination $WAN_IP --dport 53 -m conntrack --ctstate NEW -j ACCEPT;
iptables -A INPUT -i $WAN_IF -p tcp -m tcp --source 0/0 --sport 53 --destination $WAN_IP --dport $UNPRIV_PORTS -m conntrack --ctstate NEW -j ACCEPT;
iptables -A INPUT -i $WAN_IF -p udp -m udp --source 0/0 --sport 53 --destination $WAN_IP --dport $UNPRIV_PORTS -m conntrack --ctstate NEW -j ACCEPT;
iptables -A INPUT -i $WAN_IF -p all -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

#OUTPUT
iptables -A OUTPUT -o $WAN_IF -p tcp --source $WAN_IP --sport 53 --destination 0/0 --dport $UNPRIV_PORTS -m conntrack --ctstate NEW -j ACCEPT;
iptables -A OUTPUT -o $WAN_IF -p udp --source $WAN_IP --sport 53 --destination 0/0 --dport $UNPRIV_PORTS -m conntrack --ctstate NEW -j ACCEPT;
iptables -A OUTPUT -o $WAN_IF -p tcp --source $WAN_IP --sport $UNPRIV_PORTS --destination 0/0 --dport 53 -m conntrack --ctstate NEW -j ACCEPT;
iptables -A OUTPUT -o $WAN_IF -p udp --source $WAN_IP --sport $UNPRIV_PORTS --destination 0/0 --dport 53 -m conntrack --ctstate NEW -j ACCEPT;
iptables -A OUTPUT -o $WAN_IF -p all -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT;

Вроде ничего не упустил, но не работает. Если сбросить все правила , и поставить политику по умолчанию ACCEPT, то bind прекрасно отвечает на запросы. Значит проблема таки в iptables.

dig с клиентской машины отвечает вот так:

dig @xx.xx.xx.xx +noall +comments +cmd +bufsize=1 query
; <<>> DiG 9.10.3-P4-Debian <<>> @xx.xx.xx.xx +noall +comments +cmd +bufsize=1 query
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached

Подскажите в какую сторону копнуть.
Спасибо заранее.

 ,

Vint
()

Dovecot и сертификаты Letsencrypt (Can't open file)

Стоит связка Dovecot, получил сертификаты от Letsencrypt, но сертификаты работают только если скопировать их в папку довекота. Если же указывать в конфигах папку /etc/letsencrypt/domain/cert.pem, то довекот матюкается, что не может прочитать файл. Символические ссылки тоже не работают (хотя довекот после установки имеет две ссылки на snakeoil сертификаты, и с ними работает «искаропки» что очень странно).

SSL конфиг Dovecot:
# вот так не работает
ssl_cert = </etc/letsencrypt/archive/hbcenter.ru/fullchain2.pem
ssl_key = </etc/letsencrypt/archive/hbcenter.ru/privkey2.pem
# вот так работает
ssl_cert = </etc/dovecot/private/fullchain.pem
ssl_key = </etc/dovecot/private/privkey.pem

Например в логе dovecot:
doveconf: Fatal: Error in configuration file /etc/dovecot/conf.d/10-ssl.conf line 15: ssl_cert: Can't open file

Проблема заключается в том что Letsencrypt обновляет сертификат раз в три месяца, и ловить этот момент геморно. Писать костыль думаю тоже не комильфо. Уверен есть нормальное решение, вот только я об этом не знаю. Николай Васильевич тоже ничего внятного не находит по этому вопросу.

Кто то сталкивался, как вышли из ситуации?

P.S. Забыл сказать, у меня Ubuntu 18.04.1 LTS

 ,

Vint
()

rsyslog игнорировать определённые сообщения в логах

Всю голову сломал уже. У меня Ubuntu на одном сервере, и если честно меня задрали в логах записи типа:

# Dec 10 02:31:39 data-e1-prd-001 systemd[991]: Listening on GnuPG network certificate management daemon.
# Dec 10 02:31:39 data-e1-prd-001 systemd[991]: Listening on GnuPG cryptographic agent and passphrase cache.
# Dec 10 02:31:39 data-e1-prd-001 systemd[991]: Listening on GnuPG cryptographic agent (access for web browsers).
# Dec 10 02:31:39 data-e1-prd-001 systemd[991]: Listening on GnuPG cryptographic agent and passphrase cache (restricted).
# Dec 10 02:31:39 data-e1-prd-001 systemd[991]: Listening on GnuPG cryptographic agent (ssh-agent emulation).
# Dec 10 02:31:40 data-e1-prd-001 systemd[991]: Closed GnuPG cryptographic agent and passphrase cache.
# Dec 10 02:31:40 data-e1-prd-001 systemd[991]: Closed GnuPG cryptographic agent (access for web browsers).
# Dec 10 02:31:40 data-e1-prd-001 systemd[991]: Closed GnuPG cryptographic agent and passphrase cache (restricted).
# Dec 10 02:31:40 data-e1-prd-001 systemd[991]: Closed GnuPG cryptographic agent (ssh-agent emulation).
# Dec 10 02:31:40 data-e1-prd-001 systemd[991]: Closed GnuPG network certificate management daemon.

Для меня они совсем не несут никакой смысловой нагрузки, а в журнале этого мусора немалая кучка от каждого подключения по SSH.

В конфиге rsyslog добавил строчку:

if $programname == «systemd» and ($msg contains «Listening on GnuPG» or $msg contains «Closed GnuPG») then stop

и всё бестолку, сообщения так и пишутся, как ни странно. А вот та же самая строка в конфиге rsyslog отлично работает в debian на соседнем сервере! И что такого убунтяне изменили в исходном логере, что он рабоает не так как хотелось бы (вопрос риторический)?! А вот как сделать так, чтоб заработало, вопрос совсем не риторический.

Помогите, кто сталкивался?

Спасибо заранее

 

Vint
()

Postfix применение smtpd_restrictions, вопрос по контексту применения

Уважаемые коллеги, проясните пожалуйста вот такую ситуацию с конфигурированием ограничений в Postfix:

В сети очень много статей/рекомендаций на тему использования ограничивающих команд в конфине постфикса в опциях:
smtpd_recipient_restrictions =
smtpd_client_restrictions =
smtpd_sender_restrictions =
smtpd_data_restrictions =
smtpd_helo_restrictions =
smtpd_relay_restrictions =

Так вот мне непонятен один момент. Например многие пихают ограничение reject_unlisted_recipient в опцию smtpd_client_restrictions, хотя в документации постфикса явно указано, что контекст использования данного ограничения это опция smtpd_recipient_restrictions. Проясните пожалуйста, определены ли жёстко контексты для ограничений, или все ограничения можно использовать в любой из шести опций? Видел как то статью, в которой все ограничения были внесены в опцию smtpd_helo_restriction, якобы из-за того, что она первая в цепочке проверки. Думаю это не правильно, но могу и ошибаться.

И второй вопрос, подскажите порядок прохождения проверки письма по этим шести опциям?

Спасибо заранее

 

Vint
()

запретить SSHD писать в логи подключения с определённого хоста

Доброго дня уважаемые.
С некоторых пор у меня работает rsnapshot, и по ssh (с рутовым доступом, все предосторожности соблюдены) тянет бакапы с одного сервера на другой. Так вот не хочется видеть в логах как rsnapshot каждые два часа создаёт подключение, работает и отключается. Уж слишком много записей в auth.log получается.
Вопрос: как можно заставить ssh не писать в лог подключения с этого хоста? Или может есть другой способ избавиться от мусора в auth.log?

Может кто уже делал такое.
Спасибо заранее.

 ,

Vint
()

Apparmor мусорит в логах

Доброго дня уважаемые форумчане. Пытаюсь тыкать палочкой в apparmor (и на Debian и на Ubuntu), вроде живой. Но мне не нравиться что он в логи сыплет сообщения о событиях со статусом ALLOWED. Или может я чего непонимаю.

Пример:

Apr 23 15:57:56 gate kernel: [255084.417460] audit: type=1400 audit(1492952276.762:1237): apparmor=«ALLOWED» operation=«signal» profile=«/usr/sbin/dovecot» pid=1939 comm=«dovecot» requested_mask=«send» denied_mask=«send» signal=int peer=«/usr/lib/dovecot/config»

Apr 23 16:00:51 gate kernel: [255258.919915] audit: type=1400 audit(1492952451.263:1238): apparmor=«ALLOWED» operation=«truncate» profile=«/usr/sbin/dnsmasq» name=«/var/spool/dnsmasq.leases» pid=1623 comm=«dnsmasq» requested_mask=«w» denied_mask=«w» fsuid=110 ouid=0

Apr 23 13:15:32 dozer kernel: [87424.621112] audit: type=1400 audit(1492942532.122:1285): apparmor=«ALLOWED» operation=«open» profile=«/usr/sbin/nmbd» name=«/var/cache/samba/lck/22002» pid=22002 comm=«nmbd» requested_mask=«wc» denied_mask=«wc» fsuid=0 ouid=0

Apr 23 13:47:30 dozer kernel: [89342.508231] audit: type=1400 audit(1492944449.980:1325): apparmor=«ALLOWED» operation=«file_mmap» profile=«/usr/sbin/smbd» name=«/usr/lib/x86_64-linux-gnu/samba/gensec/krb5.so» pid=22930 comm=«smbd» requested_mask=«m» denied_mask=«m» fsuid=0 ouid=0

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

Спасибо заранее.

 

Vint
()

br0 работает в одну сторону, помогите понять

Странную ситуацию обрёл на стареньком ноуте. Подскажите направление, может кто сталкивался.

На ноуте сетевуха на чипе Broadcom BCM4401 (на всякий случай). Пытаюсь поднять на ноуте бридж, чтоб с qemu использовать. Всё делаю по простейшему мануалу, и не в первый раз (на других машинах эта конфигурация работает без проблем). Но в итоге сталкиваюсь вот с чем: пакеты из бриджа в tap интерфейс ходят, а вот из tapа в бридж не ходят. Слушаю tcpdump-ом на tap0, и вижу весь трафик, в том числе и внешний. Слушаю на br0 интерфейсе и вижу все пакеты кроме пакетов от tap. Система Debian 8, никаких фильтров и файерволов нет.

в /etc/network/interfaces

auto eth0

allow-hotplug eth0

iface eth0 inet manual

up ifconfig eth0 up

down ifconfig eth0 down

auto br0

allow-hotplug br0

iface br0 inet dhcp

bridge_ports eth0

bridge_hello 2

bridge_maxage 12

bridge_stp off

bridge_fd 9

tap поднимаю следующим образом:

tunctl -t tap0 -u $USER;

ifconfig tap0 0.0.0.0 promisc up;

brctl addif br0 tap0;

qemu стартует так:

qemu-system-i386 -vga cirrus -sdl -hda ~/qemu/dos_raw.img -boot order=cad,menu=on -cpu 486 -m 16 -localtime -device ne2k_isa,netdev=usernet,irq=3,iobase=0x300,mac=0f:0f:0f:06:02:02 -netdev «tap,ifname=tap0,id=usernet,script=no,downscript=no»

 , ,

Vint
()

Qemu + IPX + Netware-4.11 нужна помощь опытных

Нужна помощь знающих IPX протокол, потому как сам туплю и ничего толкового в голову не приходит.

Дано: Debian 8.x с TCP/IP сетью (одним сегментом, без роутеров); Qemu-1.2.1; Netware-4.11 (установленная и нормально работающая в qemu. Проверял установкой DOS клиента на qemu-guest рядом и запуском обоих через tap интерфейсы в bridge. Клиент видит сервак и работает с ним.).

Сделано: к сети эмулированная Нетварь подключена через tap интерфейс. В бридж и tap и eth0(основной сетевой интерфейс) добавлены. Если на Нетвари поднять TCP/IP, то эмулированный сервак из общей сети пингуется. То есть IP пакеты нрмально ходят по мосту, а вот с IPX какой то затык (или я просто IPX не знаю). IPX в ядре Debian включен модулем по умолчанию.

Задача: Сделать так чтобы клиенты Нетвари (на DOS) из общей сети видели по IPX эмулированный сервак Нетвари.

P.S. Да мне иногда хочется странного, и за это пинать не стоит. У меня есть пара раритетных ноутов с DOS, хочется подцепить их к фалопомойке, а ОСи тех лет не имели толковой поддрежки IP протокола, так что остается только изврат с Нетварью и IPX. В изврате я знаю толк. :-)

Спасибо за помощь заранее

 , ,

Vint
()

Модем на ноуте Asus

Кто нибудь знает что за модем стоит на ноутах Asus серии А6Q00VC, на которых звук Intel High Defenition Audio? И как его можно завести?

Vint
()

Q3 после обновления плюётся ошибкой. Помогите!

Обновил движок Q3, после этого при запуске валится с ошибкой: Sys_Error: recursive error after: User Interface is version 3, expected 6

Подскажите кука копать, никак не соображу что за ошибка, какой нах интерфейс!

Vint
()

Прикрутить по USB телефон Huawei 1000 или 2000 (Skylink / CDMA2000)

У кого нить опыт прикручивания этого телефона есть, на борту модем, где взять дрова и описание процесса установки по USB, или если его можно прикрутить на COM порт, то как? Подсобите плз.

Vint
()

Модуль памяти для ноутбука (почти экзотика)

Ноут HP OmniBook 800CT, на борту 16 метров несъёмной оперативы, знаю точно в те давние времена продавали всякие апгрейд киты ,для этих ноутов, были модули по 32 и 64 метра. ПартНамбер пакардовский такой, f1119a - 64 Mb, f1169a - 32 Mb.

Если есть счастливые обладатели этого хлама, отзовитесь, за мной не заржавеет, договоримся. Или хотя бы подскажите где сейчас реально эти модули можно заказать, купить?

Vint
()

Рабочая температура SCSI винтов (10000rpm)?

Subj? гугл дал три ссылки, абсолюно не по теме, может вопрос ему не правильно задал. Кто знает, имеется в виду нормальная рабочая температура, при которой они работают долго и стабильно. И разная ли она у винтов от разных производителей?

Vint
()

linux-2.6.8 и modules-update - нефурычит

Проблемма вот в чём, обновил ядро до 2.6.8 версии, при перезапуске на Calculating modules dependencies входит в ступор и может висеть до второго пришествия, глянул в стартовые скрипты, он запускает скрипт modules-update. Попробовал этот скриптик с командной стоки, таже ботва. В ручную модули грузятся без проблем. У меня Gentoo-1.4(естессно оновляюсь регулярно) на devfs (если это важно, udev пока неохота связываться). В чём могут быть грабли, подскажите плз. Понимаю, что чайниковские грабли, но туплю.

Vint
()

DVD::RIP требует Pixbuf.pm, где взять

Обновил Perl до 5.8.4, после чего перестал запускаться dvd::rip, требует Pixbuf.pm. GDK-Pixbuf обновил, GTK+ обновил, где его взять?

Vint
()

Sane backend for ScanJet-2400C from HP

Ктонить встречал под сей сканер дровишки, да хоть бы даже и "самодельные", наплевать. В Sanebackend даже в последней версии нету ещё поддержки под мой сканер.

Vint
()

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