LINUX.ORG.RU

Сообщения Nagisa

 

клонирование физического сервера на горячую - что-то типа standby

Форум — Admin

вводные

есть пара серверов HP под Centos7, объем данных ~1.7TB. для них есть аналогичные железки на которые хочу наладить online клонирование - те что-то типа standby серверов; файловая система ext4; могу кинуть отдельные шнурки между выделенными сетевухами дабы обмен шел напрямую.

вопрос - чем и как такое делают ?

если постоянный процесс не получается сделать - устроит однократный, но online, те без остановки боевых серверов.

ps: обсуждение почему там Centos7 (кошмар-кошмар все пропало) или ext4 устарел заранее прошу не начинать.

Перемещено hobbit из general

 ,

Nagisa
()

EXIM MTA, настройка релея

Форум — Admin

Прошу подсказать как правильно настроить релей на базе EXIM

схема простая есть основной почтовик EXIM, он уже принимает почту и работает как надо.

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

на релее - Exim version 4.98.2 #2 built 26-Mar-2025 15:44:10

конфиг


primary_hostname = mail5._my_domain_.com

domainlist local_domains = _my_domain_.com

domainlist relay_to_domains = _my_domain_.com

hostlist   relay_from_hosts =   *

domainlist trusted_domains = *

hostlist trusted_hosts = *

qualify_domain = _my_domain_.com

auth_advertise_hosts = *
daemon_smtp_ports = 25 : 465

tls_on_connect_ports = 465
tls_advertise_hosts = *

tls_certificate = /etc/letsencrypt/live/mail5._my_domain_.com/fullchain.pem
tls_privatekey  = /etc/letsencrypt/live/mail5._my_domain_.com/privkey.pem

tls_require_ciphers = AES128+EECDH:AES128+EDH
openssl_options = +no_sslv2 +no_sslv3

log_selector = \
         +all_parents \
         +lost_incoming_connection \
         +received_sender \
         +received_recipients \
         +smtp_confirmation \
         +smtp_syntax_error \
         +smtp_protocol_error \
         -queue_run

allow_domain_literals = false

never_users = root:daemon:bin:sync:named
host_lookup = *
rfc1413_hosts = *
rfc1413_query_timeout = 0s
ignore_bounce_errors_after = 30m
timeout_frozen_after = 3d
freeze_tell = postmaster
auto_thaw = 1h
message_size_limit = 100M
smtp_accept_max = 50
smtp_accept_max_per_connection = 50
smtp_connect_backlog = 50
smtp_accept_max_per_host = 25
split_spool_directory = true
remote_max_parallel = 15


begin acl

acl_check_rcpt:
   accept  domains       = +local_domains
           endpass

acl_check_data:

  accept hosts  = *

  # finally accept all the rest
 accept


begin routers

dnslookup:
   driver = dnslookup
   domains = ! +local_domains
   transport = remote_smtp
   ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
   no_more

_my_domain__router:
    driver = manualroute
    domains = +relay_to_domains
    transport = remote_smtp
    route_list = * mail._my_domain_.com
    no_more


begin transports


# _my_domain_ DKIM
remote_smtp:
   driver = smtp
   dkim_domain           = _my_domain_.com
   dkim_selector         = dkim
   dkim_private_key      = /etc/exim/dkim/_my_domain_.com.key
   dkim_canon            = relaxed
   dkim_strict           = true
   dkim_sign_headers     = From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:Precedence:X-RT-Loop-Prevention:RT-Ticket:Managed-by:RT-Originator:X-RT-Original-Encodi


address_pipe:
   driver = pipe
   return_output

address_file:
   driver = appendfile
   delivery_date_add
   envelope_to_add
   return_path_add

address_reply:
   driver = autoreply



begin retry
*                      *           F,2h,15m; G,16h,1h,1.5; F,4d,6h


begin rewrite


проверяю

# exim -bt postmaster@_my_domain_.com
postmaster@_my_domain_.com
  router = _my_domain__router, transport = remote_smtp
  host mail._my_domain_.com [xxx.xxx.xxx.xxx]

те вроде как правильно распознает

а вот так не выходит

[root@vdss1 exim]# exim -v root@_my_domain_.com
LOG: MAIN
  Warning: purging the environment.
 Suggested action: use keep_environment.
From: root@_my_domain_.com
To: postmaster@_my_domain_.com
Subject: Testing EXIM

test

.


^Z
[10]+  Stopped                 exim -v root@_my_domain_.com

те вместо что сообщение принято - чего-то ждет

при этом само сообщение не приходит, но [потом] приходит матюг (!)

This message was created automatically by mail delivery software.
A message that you sent has not yet been delivered to one or more of its
recipients after more than 72 hours on the queue on mail5._my_domain_.com.

The message identifier is:     1uoR8E-00000000E7t-2Ytd
The subject of the message is: Testing EXIM
The date of the message is:    Thu, 21 Aug 2025 10:58:20 -0400

The address to which the message has not yet been delivered is:

  postmaster@_my_domain_.com
    Delay reason: H=mail._my_domain_.com [xxx.xxx.xxx.xxx]:
    SMTP error from remote mail server after RCPT TO:<postmaster@_my_domain_.com>:
    421 Unexpected failure, please try later

пробую отправить ручками через SMTP

# telnet vdss1._my_domain_.com 25
Trying [xxx.xxx.xxx.xxx]...
Connected to vdss1._my_domain_.com.
Escape character is '^]'.
220 mail5._my_domain_.com ESMTP Exim 4.98.2 Fri, 22 Aug 2025 21:41:38 -0400
helo _my_domain_.com
250 mail5._my_domain_.com Hello vdss2._my_domain_.com [yyy.yyy.yyy.yyy]
mail from:<root@_my_domain_.com>
250 OK
rcpt to:<root@_my_domain_.com>
550 Administrative prohibition

500 unrecognized command

500 unrecognized command
^C

Connection closed by foreign host.

те где-то я что-то делаю не так

прошу подсказать

Перемещено hobbit из general

 

Nagisa
()

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

Форум — General

Задача: нужно организовать безопасный доступ разных пользователей в разные папки. пользователей под полтинник.

Начал с изучения SFTP, все красиво но:

Домашняя папка (точнее папка, которую мы указали в ChrootDirectory) обязательно должна иметь владельцем пользователя root.

такое не сделать. все дерево к которому дается доступ имеет общую группу. дерево не имеет общего корня. структура доступа сложная.

FTPS - все красиво, но до тех пока не встал вопрос с протаскиванием через FW. мучал VSFTPD. читал ман, гуглил, пробовал кучу вариантов, не победил.

варианты с указанием портов и открытием их pasv_min_port=21000 pasv_max_port=21010 не прокатили. упорно уходит в высокие порты и соответственно обламывается при передаче данных. точнее уже на листинге.

прошу подсказать, как такая задача решается, те какими средствами ?

вариант победить VSFTPD в режиме FTPS тоже интересен, но прошу в виде рабочего конфига.

 ,

Nagisa
()

popen и двойные кавычки

Форум — Development

из сишной программы я вызываю openssl sha1 <имя файла> (как ни странно это самый быстрый вариант ибо openssl хорошо оптимизирован)

строка вызова формировалась так:

sprintf(shellcmd,"openssl sha1 '%s'",filename);

все было хорошо пока не появились файлы вида:

хрень 'янь'.инь.rar

те содержащие одинарные кавычки

из командной строки катит такая форма

openssl sha1 "хрень 'янь'.инь.rar"

тк popen использует sh -c то я проверил конструкцию:

sh -c "openssl sha1 \"хрень 'янь'.инь.rar\""

я соответственно опробовал конструкцию формирования

sprintf(shellcmd,"openssl sha1 \\\"%s\\\"",filename);

но увы Ж( получаю обрывы строки на пробелах в имени файла

прошу подсказать как же тут победить вызов ?

 ,

Nagisa
()

Не могу установить Centos7/8 Oracle linux 7/8

Форум — Linux-install

Есть железка, на ней давно стоял Centos6

железка самосбор GA-990XA-UD3 / 32RAM / FX-6350 ну винты по 18TB (отключать пробовал - оставил одну SSD и результат тотже)

Хочу поставить что-то более современное решил проверить Centos7 - на этапе инсталляции валится пробовал PXE boot / DVD boot - никак

при этом Centos 6 ставится без проблем и с PXE и DVD

пробовал Oracle Linux 7/8/9 все валятся

DVD https://pic.maxiol.com/?v=1668580960.3232235619.c7dvd1.jpg&dp=2

https://pic.maxiol.com/?v=1668580973.3232235619.c7dvd2.jpg&dp=2

PXE https://pic.maxiol.com/?v=1668580992.3232235619.c7pxe1.jpg&dp=2

https://pic.maxiol.com/?v=1668581004.3232235619.c7pxe2.jpg&dp=2

данную проблему получилось победить включив IOMMU в сетапе

однако, встала другая проблема - инсталятор не видит ни одного SATA диска !

 

Nagisa
()

не могу победить «error while loading shared libraries: libclntsh.so.11.1: cannot open shared object file: No such file or directory»

Форум — Development

дано - Centos7

Суть проблемы: ошибка при запуске приложения которое использует OCILIB

error while loading shared libraries: libclntsh.so.11.1: cannot open shared object file: No such file or directory

как известно и описано много раз надо установить переменные окружения, а именно LD_LIBRARY_PATH, но вот засада - у меня все уже установлено!

ORACLE_HOME=/u02/app/oracle/product/11.2.0/client_2; export ORACLE_HOME
ORACLE_BASE=/u02/app/oracle; export ORACLE_BASE
ORACLE_TERM=xterm; export ORACLE_TERM
ORACLE_SID=obase; export ORACLE_SID

TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORACLE_DOC=$ORACLE_HOME/doc; export ORACLE_DOC
NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251; export NLS_LANG

LD_LIBRARY_PATH=/usr/local/lib:$ORACLE_HOME/bin:$ORACLE_HOME/lib; export LD_LIBRARY_PATH

и я как бы не первый раз устанавливаю(собираю) это ПО, причем оно собирается нормально (видит OCILIB).

итак, что было проверено

  1. пути проверены, Oracle client по указанному пути есть, файлы есть
  2. переменные окружения установлены
  3. при пересборке OCILIB - она явно видит Oracle Client-а через установленные переменные окружения
  4. пробовал указывать путь до Oracle HOME явно при configure
  5. проверил нет ли еще одного файла libclntsh.so или libclntsh.so.11.1
  6. симлинк libclntsh.so верно указывает на libclntsh.so.11.1
  7. пробовал разные версии OCILIB ничего не меняется - при запуске ошибка

попробовал установить переменную

LD_RUN_PATH=/usr/local/lib:/u02/app/oracle/product/11.2.0/client_2/lib;  export LD_RUN_PATH

это немного поменяло ситуацию, а именно приложение запускается и потом не может инициализировать OCI (!) те суть не меняется

проверяю

 ldd snmp2ora
        linux-vdso.so.1 =>  (0x00007ffff7981000)
        librt.so.1 => /lib64/librt.so.1 (0x00007ffbcc06a000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ffbcbe4d000)
        libocilib.so.4 => /usr/local/lib/libocilib.so.4 (0x00007ffbcbbdb000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007ffbcb8d3000)
        libm.so.6 => /lib64/libm.so.6 (0x00007ffbcb5d0000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ffbcb3ba000)
        libc.so.6 => /lib64/libc.so.6 (0x00007ffbcafec000)
        /lib64/ld-linux-x86-64.so.2 (0x00007ffbcc28c000)
        libclntsh.so.11.1 => /u02/app/oracle/product/11.2.0/client_2/lib/libclntsh.so.11.1 (0x00007ffbc8581000)
        libnnz11.so => /u02/app/oracle/product/11.2.0/client_2/lib/libnnz11.so (0x00007ffbc81b4000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007ffbc7faf000)
        libnsl.so.1 => /lib64/libnsl.so.1 (0x00007ffbc7d95000)
        libaio.so.1 => /lib64/libaio.so.1 (0x00007ffbc7b93000)

# ls /u02/app/oracle/product/11.2.0/client_2/lib/libclntsh.so.11.1
/u02/app/oracle/product/11.2.0/client_2/lib/libclntsh.so.11.1

вот реально не понимаю где тут проблема зарыта ? все же просто - всегда устанавливал LD_LIBRARY_PATH и все всегда работало без вопросов!

 ,

Nagisa
()

Centos7 + iptables + iproute2 и 4 внешних канала: проблема с доступом к локальным сервисам

Форум — Admin

Выделено из темы Проблемы с настройкой маршрутизации в Centos7 - 3 внешних канала для более точной формализации проблемы

Дано Сервер с Centos7 x86-64, куча сетевых карт.

основная функция - маршрутизатор + NAT + FW + openvpn; а также локальные сервисы - почта, bind и прочее; внешних каналов 4шт, один основной и 3 дополнительных;

в локальной сети есть сервера c сервисами доступ к которым идет через NAT;

для реализации данного функционала настроен iptables+iproute2

доступ через NAT работает без проблем и тут всё хорошо. проблема с доступом к локальным сервисам через резервные каналы

изучение документации дало понимание того, что многое скрыто - ну вот как пример: проход первого пакета транзитом (наименования цепочек буду сокращать)

man:pre  
nat:pre
man:for
fil:for
man:post
nat:post
всё по схемам

а вот второй и следующие идут уже по сокращенному пути:

man:pre  
man:for
fil:for
man:post
теперь к проблеме

отправляю запрос к локальному сервису на 4й резерв он проходит

man:pre
nat:pre 
и все - исчезает!

те он должен появится в man:input, но видимо на этапе routing declision он убивается

цель понять почему и как это исправить

подробная информация о конфигурации

табличка резерва

ip route add DDD.DDD.DDD.0      dev ens1f1 src DDD.DDD.DDD.24   table T4 >/dev/null
ip route add 192.168.0.0/24   dev enp3s0 src 192.168.0.1    table T4 >/dev/null
ip route add 127.0.0.0/8      dev lo                        table T4 >/dev/null
ip route add default via DDD.DDD.DDD.1                        table T4 >/dev/null
main
ip route add  AAA.AAA.AAA.AAA    dev ens2f0 src AAA.AAA.AAA.1   >/dev/null
ip route add BBB.BBB.BBB.BBB       dev ens2f1 src BBB.BBB.BBB.1 >/dev/null
ip route add DDD.DDD.DDD.DDD       dev ens1f1 src DDD.DDD.DDD.1    >/dev/null
ip route add CCC.CCC.CCC.CCC/29 dev ens1f0 src CCC.CCC.CCC.CCC  >/dev/null
ip route add default via  CCC.CCC.CCC.CCC metric 99 >/dev/null
из негативных факторов которые могут вмешиваться в маршрутизацию - на сервере установлен openvpn-сервер его для теста выключал, но проблема не решалась.

вопрос - как проводить дальнейшую диагностику ? те как отловить почему пакет был убит на routing declision ?

таблицы raw и security имеют политику accept аналогично и ebtables arptables не установлено

тк сейчас на 4ом канале-резерве нет ничего критичного то я могу проводить на нем любые эксперименты. что опробовал

1. DNAT на локальные интерфейсы - пофиг. пакет не доходит до man:input

2. явное указание

ip rule add to   DDD.DDD.DDD.24    fwmark 0x400 table T4 >/dev/null
ip rule add from DDD.DDD.DDD.24    fwmark 0x400 table T4 >/dev/null

тоже пофиг

Касаемо самой настройки iproute2 - опыт есть, те у меня до этого все работало на Centos4 с 2005ого, но вот сейчас что-то поменялось. прошу помочь найти где зарыта собака.

 , ,

Nagisa
()

Centos 7 - черный экран после апдейта

Форум — Admin

Дано: HP DL380G5 наливаю CentOS-7-x86_64-DVD-1611.iso все без проблем ставится, нормальный логон и графика и текст и ssh

делаю yum update и после рестарта получаю: [img]https://pic.maxiol.com/thumbs/centos7bug.png[/img]

и нет никакого приглашения логона!

самое паршивое, что и Ctrl+Alt+F2 дает черный экран с курсором при этом через ssh сервер доступен

поиск в инете дал «gdm black screen after upgrade from 7.3 to 7.4» https://access.redhat.com/discussions/3220351?tour=8 те именно моя ситуация

но интересующая статья «gdm fails to start with blank screen in Red Hat Enterprise Linux 7 » https://access.redhat.com/solutions/2197261 закрыта

описанный способ в первой статье - выбрать другое ядро при старте не помог.

соответственно вопрос - как решить эту проблему ?

переустанавливать уже пробовал, дело именно в апдейте те ставил CentOS-7-x86_64-DVD-1503-01.iso и тоже после апдейта черный экран

 ,

Nagisa
()

Проблемы с настройкой маршрутизации в Centos7 - 3 внешних канала

Форум — Admin

Маленькая предыстория: был сервак с настроенными правилами - 3 внешних канала, openvpn, локалка с серваками все было хорошно, но сервак устарел - он налит в 2005ом Centos 4

на новую железку был налит Centos7 и тут начались проблемы: а именно проблема с пробросом портов на дополнительные каналы

те есть канал основной - оптика и есть пара медных резевов внутри локальной сети есть сервера, порты которых выставляются наружу к примеру ip 10.10.10.100 - маршрутизируется на основной канал
ip 10.10.10.101 - маршрутизируется на резерв 1
ip 10.10.10.102 - маршрутизируется на резерв 2
ну и обратно - порт 80 резерва 1 идет на 10.10.10.101:80 итд

  • 1. исходящие пакеты прекрасно уходят с сервера, маршрутизируются и выходят с нужного интерфейса ответы приходят на нужный интерфейс и тут начинается мистика

    те на интерфейсе (tcpdump) пакет есть
    далее в таблице MANGLE:PREROUTING тоже есть
    далее отрабатывается правило
    -A PREROUTING -m state --state ESTABLISHED,RELATED -j ACCEPT
    но вот в NAT:PREROUTING пакетов уже нет

  • 2. обработка входящего соединения на пробрасываемый порт
    MANGLE:PREROUTING - есть
    NAT:PREROUTING - есть
    отрабатвается правило с DNAT на локальный сервер
    далее пакеты теряются те не приходят ни в MANGLE:INPUT ни в MANGLE:FORWARD
  • 3. обработка входящего соединения на порт обрабатываемый локально - тут все проходит без проблем

если по п2 можно предположить, что пакеты куда-то зароутились с концами, то пропадание пакетов по п1 вообще не понятно тк согласно документации после MANGLE:PREROUTING идет NAT:PREROUTING

соответственно вопросы

  • что поменялось в iptables и iproute2, что ранее рабочая конфигурация отказывается работать и таким странным образом?
  • куда копать - те как устранить эту проблему ?

 , ,

Nagisa
()

RHEL4U4 х86-64 на ASUS M2N32-WS rebooting problem

Форум — Linux-hardware

Собираю небольщой сервак RHEL4U4 х86-64 на ASUS M2N32-WS (CPU 6000+) и получаю проблему - немогу ребутнуть сервер те после завершения всех процессов получаю вис с последней надписью rebooting sysytem

в логе ядра вижу матюки на ACPI

с обновлением биоса проблема - самая свежая прошивка (1703) виснет при детекте Apaptec-овского RAID-контроллера соотвественно залита предидущаяя - 1601

кто-то имеет опыт решения такой проблемы ?

ps: рядом стоит RHEL4U4 х86-64 на ASUS A8V - работает как часы и никаких танцев с обновлением биоса

>>>

Nagisa
()

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