The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Создать новую тему
 - Свернуть нити
Пометить прочитанным
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Архив | Избранное | Мое | Новое | | |  
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
Форум Открытые системы на сервере
OpenVPN и трафик между локалками, !*! belda, (VPN / Linux) 20-Окт-21, 16:54  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Добрый день!
Был у меня сервак OpenVPN на Ubuntu 20.4 под интернет трафик. Теперь переделываю его для связки самого сервера VPN и удалённой локальной сети.
Суть в чём: впн адресация 10.8.100.0/24 сервер и клиент пингуют друг друга всё без проблем. Далее делаю маршрутизацию на серваке до удалённой локалки, наченаю пинговать... смотрю на tun0 на сервере пакеты вылетают, а на стороне клиент на tun0 глухо...
Точно так же и со стороны клиента, пинг до сервера, но уже с сурс адреса удалённой локальной сети до адреса впн сервера(10.8.100.1): на tun0 клиента пакеты улетают, а на tun0 сервера глухо...
Оба сервера ubuntu 20.4 tls. На обеих машинах разрешёл любой трафик на интерфейсе tun0.
Конфиги:

Сервер:
port ххх
proto udp
dev tun0
#topology subnet
ca keys/ххх-ca/ca.crt
cert keys/ххх-ca/servercert.crt
key keys/ххх-ca/servercert.key
dh keys/ххх-ca/dh2048.pem
server 10.8.100.0 255.255.255.0
crl-verify keys/ххх-ca/crl.pem
cipher AES-256-CBC
user nobody
group nogroup
status servers/server/logs/openvpn-status.log
log-append servers/server/logs/openvpn.log
verb 2
mute 20
max-clients 100
keepalive 10 120
client-config-dir /etc/openvpn/servers/server/ccd
client-to-client
comp-lzo
duplicate-cn
route 192.168.х.0 255.255.255.0
persist-key
persist-tun
ccd-exclusive

Клиент:
client
proto udp
dev tun
ca ca.crt
dh dh2048.pem
cert ххх.crt
key ххх.key
remote х.х.х.х ххх
cipher AES-256-CBC
user nobody
group nogroup
verb 2
mute 20
keepalive 10 120
comp-lzo
persist-key
persist-tun
float
resolv-retry infinite

мониторинг текстового файла, !*! vanyadog, (Разное / Linux) 18-Окт-21, 16:26  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Добрый день
Нужно мониторить файлик на хосте (в файле только целое число, больше ничего)  нужно его считать и вывести в систему мониторинга
Это может делать заббикс но у меня нет прав на конфигурацию хостов + на хосте рута у меня тоже нет

нужно что-то что можно запустить от текущего пользователя, права на чтение файла есть

поставил prometheus, grafana, node_exporter но пока не нашел как считать данные из файла...

Подскажите в какою сторону смотреть

Видеорегистратор, !*! Андрей, (Др. сетевые сервисы) 16-Окт-21, 07:29  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Подскажите что лучше использовать, какой софт, у кого есть опыт ?
Бекап баз из кластера GALERA, Поделитесь опытом.., !*! flintus9, (Резервное копирование / Другая система) 14-Окт-21, 10:29  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Исходя из документации (https://galeracluster.com/library/training/tutorials/galera-...), в которой описаны четыре возможных варианта, а именно:
- физический бекап rsync'ом, c остановкой ноды на время бекапа;
- логический бекап при помощи mysqldump с отключением синхронизации ноды перед бекапом и включением после;
- логический бекап при помощи арбитратора;
- какой угодно бекап только лить будем со слейва;

Первый вариант мне не нравится тем что автоматизировать это конечно можно, но как показала практика, случаются варианты когда потушить потушили, а обратно без живого человека не запустить.
Так же не очень удобен физический бекап, особенно когда надо вытащить пару строк, а баз несколько и они не самые маленькие, (по несколько гигов).
Второй вариант тоже так себе, был на моей практике случай, десинкнули ноду, сделали бекап, а синкнуть обратно бездушному автомату не получилось, и несмотря на настроенные нотифаи, это прошляпили, сутки оно жило своей жизью. Хотя кластер отдавал честно что кол-во нод в кластере правильное, что по сути является истиной.
Третий вариант по сути это извращение на тему второго варианта, только бекап мы льем локально на ноду донор, и ровно точно так же нода десинкается. И если посмотреть в рабочий пример то льем все базы в один дамп, хотя я делал вариации на тему лить по базам, но в любом случае скрипт как-то не корректно завершался, вероятно не возвращая чего-то что ожидает сам кластер, пример:


[ERROR] WSREP: Failed to read from: wsrep_sst_backup_mysqldump
[ERROR] WSREP: Command did not run: wsrep_sst_backup_mysqldump

хотя бекап отработал, все сдампил и упаковал. Вероятно эти ошибки появляются в следствии того что garb запускается из командной строки, отправляет на донора команду и отваливает, не ожидая окончания процесса и какого-то результата. Это вариант не очень нравится тем что льем бекап локально. Ну и непонятки с этими ошибками не добавляют радости. Ну и отдельно у меня был вариант когда подвис сам процесс wsrep_sst_backup_mysqldump и нода зависла в десинке ожидая когда процесс завершится, а он и не думал, пришлось пристрелить..
Четвертый вариант - проходили, со слейвом можно делать что угодно, но запись в бин лог не добавляет стремительности всему кластеру, ну и отдельная радость от восстановления реплики в случае чего, то еще удовольствие.

Собственно может кто поделится опытом, как решает схожую задачу, или может урл какой почитать укажет, хотя гугл мне пока никак с этим не помог. Может кто пробовал реализовать wsrep_sst_backup_mariabackup, или еще какой вариант? Помогите люди добрые..

P.S. SST и IST работают как часы, mariabackup'ом.
P.P.S. Использую MariaDB 10.4 + galera4

POSTFIX работает как OPEN RELAY, !*! bear_cho, (Почта / Linux) 11-Окт-21, 13:57  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Доброго дня коллеги!
Прошу помочь.
Postfix свободно пересылает сообщения с почтового клиента если прошла авторизация. То есть завожу где-то на удаленном от офиса ПК учетную запись реального ящика в thunderbird и при отправке письма меняю отправляющего на рандомное имя@домен_любой и мой Postfix без малейших угрызений совести шлет сообщение от неизвестного домена на gmail.

Мой конфиг:

smtpd_helo_restrictions =
    reject_invalid_hostname,
    permit_mynetworks,
    reject_non_fqdn_hostname,
    reject_unknown_hostname,
    permit

smtpd_sender_restrictions =
                                #permit_mynetworks,
                                permit_sasl_authenticated,
                                reject_authenticated_sender_login_mismatch,
                                reject_unknown_sender_domain,
                                reject_non_fqdn_sender,
                                reject_unlisted_sender,
                                reject_unauth_destination,
                                permit_mynetworks

smtpd_recipient_restrictions =
    permit_sasl_authenticated,
    reject_unauth_pipelining,
    reject_non_fqdn_recipient,
    reject_unknown_recipient_domain,
    reject_unauth_destination,
    permit_mynetworks

smtpd_client_restrictions =
    permit_mynetworks,
    hash:/etc/postfix/client_access,
    reject_rbl_client list.dsbl.org,
    reject_rbl_client bl.spamcop.net,
    reject_rbl_client cbl.abuseat.org,
    reject_rbl_client psbl.surriel.com,
    reject_rbl_client spamsources.fabel.dk,
    reject_rbl_client opm.blitzed.org,
    reject_rbl_client combined.njabl.org,
    reject_rbl_client dul.ru,
    reject_rbl_client dialup.balcklist.jippg.org,
    reject_rbl_client relays.mail-abuse.org,
    permit


Далее нашел вот такое в ЛОГАХ

92AF41A1145: client=unknown[104.167.223.38], sasl_method=PLAIN, sasl_username=a - НЕТ У МЕНЯ ТАКОГО ЮЗЕРА

Oct 11 12:58:55 PostMan amavis[18561]: (18561-04) status counters: InMsgsStatus{Relayed,RelayedUntagged,RelayedUntaggedOpenRelay}

Oct 11 12:58:55 PostMan amavis[18561]: (18561-04) Passed CLEAN {RelayedOpenRelay}, [88.200.158.29]:57399 [88.200.158.29] <e10@mail.ru> - ЭТОТ ЯЩИК ПРИДУМАЛ Я НА ХОДУ и отправил с него на gmail через свой сервер используя THUNDERBIRD авторизовавшись по реальным ЮЗЕРОМ

SSL сертификат, !*! pehser, (Почта / Linux) 08-Окт-21, 15:39  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Добрый день, купил ssl сертификат нужно поставить на zimbra. Но пороблемы с валидацие.
есть
privat.key.txt
domen.crt
ca_1.crt
ca_2.crt

делаю


# cat ./domen.crt ./ca_1.crt ./ca_2.crt > commercial_ca.crt

подкоректировал перенос строк
проверяю

# openssl verify -show_chain -CAfile ./commercial_ca.crt ./domen.crt

C = US, ST = New Jersey, L = Jersey City, O = The USERTRUST Network, CN = USERTrust RSA Certification Authority
error 2 at 2 depth lookup: unable to get issuer certificate
error ./domen.crt: verification failed

Подскажите в чем ошибка?

Перестал работать форвардинг X11 в ssh, !*! Eugene, (Др. сетевые сервисы / Linux) 06-Окт-21, 21:26  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Есть 2 сервера на Centos 7.
Некоторое время назад (обнаружил позавчера) на обоих серверах перестали в ssh-сессии запускаться графические программы.

Пример:
$ ssh -YCp xxxx ses@192.168.1.254
ses@192.168.1.254's password:
X11 forwarding request failed on channel 0
Last login: Wed Oct  6 16:37:38 2021 from 192.168.1.22
$ xclock
Error: Can't open display:
$

До недавнего времени проблем не было. Проблема на стороне сервера. Имеется еще сервер на Debian,  там все работает.

Фрагмент /etc/ssh/sshd_config :
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes

Пытался дать команду xhost +

$ xhost +
xhost:  unable to open display ""
$

Нужна подсказка, в какую сторону копать

Postfix как отклонить письмо,  в котором пересылается imf ?, !*! ыы, (Почта) 30-Сен-21, 22:00  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Проблема выглядит так:
Есть postfix принимающий почту от конкретного пользователя  a@b.c на определенный домен b.c
прием почты от конкретного a@b.c ограничен через smtpd_sender_restrictions
а отправка на определенный домен на определенный домен b.c ограничена smtpd_recipient_restrictions

И все хорошо, пока хитрый a@b.c, не пошлет письмо от a@b.c, телом которого является  imf, в котором собственные FROM и TO, например там указано From: DDDDDDDDD@b.c
Тогда адресат получает письмо не от a@b.c, а от DDDDDDDDD@b.c

Как на postfix бороться с таким? Как проверять imf на sender_restrictions ?

Обновление FreeBSD11 до следующих версий через buildworld и т.д, !*! SamGr, (Системное и пользовательское ПО / FreeBSD) 24-Сен-21, 22:38  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Добрый день!
Ввиду окончания поддержки FreeBSD 11 назрела необходимость обновления ПО оборудования до актуальных версий.
Пока хотя бы до 12. Хочется по старинке слить исходники новых версий и, как это было когда-то, собрать все из них. "Новый" бинарный вариант обновления вызывает недоверие, ибо придётся это делать на серверах находящихся на площадках и туда не наездишься, если что. Что скажет общественность на сию тему? Понятное дело, что STABLE и ядра собраны под свои нужды...
Про порты я разберусь, если что.



Не могу попасть в биос контроллера, !*! JimmiBSD, (Система. проблемы, диагностика / Другая система) 19-Сен-21, 19:09  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Ребята столкнулся с проблемой, в моем домашнем компьютере уже давно стоит Adaptec 8405 и всегда можно было попасть в его биос через Ctrl+A на этапе загрузки.

Сделал апгрейд компьютера на чипсет z490, замена MB, CPU, памяти, вообщем теперь в процессе загрузки нет даже приглашения нажать Ctrl+A, т.е. в биос контроллера зайти невозможно.

Зато в биосе самой матери появился раздел в котором обнаружился мой контроллер и я даже могу оттуда управлять массивом, но функционал сильно обрезан по сравнению с родным биосом.

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

IPv6 SLAAC, два роутера и выбор SRC адреса для default маршрута, !*! Аноним, (Маршрутизация, NAT / Linux) 03-Сен-21, 05:23  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Есть локальная сеть, в ней есть два роутера, оба раздают адреса с помощью SLAAC (Адреса упрощены для читаемости):
- Роутер1, fe80::1111, подсеть 2002:0:0:aaaa::/64, маршрут    ::/0 в интернет
- Роутер2, fe80::2222, подсеть  300:0:0:bbbb::/64, маршрут 200::/7 в yggdrasil

Соответственно клиент в сети получает разных 2 адреса (+1 link-local) и соответствующие мршруты:
$ ip addr show dev wlp1s0
3: wlp1s0:
    inet6  300:0:0:bbbb::cccc/64 scope global dynamic noprefixroute
    inet6 2002:0:0:aaaa::dddd/64 scope global dynamic noprefixroute
    inet6 fe80::0123:4567:9abc:def0/64 scope link noprefixroute

$ ip -6 route
300:0:0:bbbb::/64 dev wlp1s0 proto ra metric 600 pref medium
200::/7 via fe80::2222 dev wlp1s0 proto ra metric 600 pref medium
2002:0:0:aaaa::/64 dev wlp1s0 proto ra metric 600 pref medium
fe80::/64 dev wlp1s0 proto kernel metric 600 pref medium
default via fe80::1111 dev wlp1s0 proto ra metric 20600 pref low

Проблема же заключается в том, для большинства исходящих пакетов по default маршруту SRC адрес выбирается 300:0:0:bbbb::cccc, с которым очевидно ничего работать не будет, а должен бы 2002:0:0:aaaa::dddd. Например:

$ ip route get 2001:4860:4860::8888
2001:4860:4860::8888 from :: via fe80::1111 dev wlp1s0 proto ra src 300:0:0:bbbb::dddd metric 20600 pref low

Т.е. пакет уходит в интернет через роутер1, но с адресом из подсети роутера2 (как я понял).

В виде одноразового костыля подходит ручное и явное указание SRC для default маршрута, но тогда SLAAC перестаёт быть stateless и теряет смысл, да и не на всех устройствах это сделать можно. Собственно вопрос такой: как эту ситуацию разрулить не вмешиваясь в настройки клиентов?

Не устанавливается ubuntu server на китай мать+xeon, !*! lotric, (Аппаратура, Железо / Linux) 30-Авг-21, 07:44  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Kllisre X99 D8003+Xeon E5 2678 V3
офибка:
https://i.postimg.cc/1ts3cwkc/1.jpg

os ubuntu server 20
записывал руфусом
пробовал uefi и без него
без проблем ставится только linux mx но мне надо как сервер ubuntu server 20

exim дыра ?, !*! йцукен, (Почта / Linux) 27-Авг-21, 13:22  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Привет все.

Заметил странное.

2021-08-27 02:20:21 H=(bfmohersqlndnlprqtajwbwohqocjciggvnkdyawbczbyredinnkmrvxwuwpyjlhbjtbyepdcxaeoyelhfeqpuzpakpyoplxqbwu) [51.15.7.139] F=<> rejected RCPT <rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroot@domaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomain>: relay not permitted
2021-08-27 02:20:21 H=(bfmohersqlndnlprqtajwbwohqocjciggvnkdyawbczbyredinnkmrvxwuwpyjlhbjtbyepdcxaeoyelhfeqpuzpakpyoplxqbwu) [51.15.7.139] F=<> rejected RCPT <rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroot@domaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomain>: relay not permitted
2021-08-27 02:20:21 H=(bfmohersqlndnlprqtajwbwohqocjciggvnkdyawbczbyredinnkmrvxwuwpyjlhbjtbyepdcxaeoyelhfeqpuzpakpyoplxqbwu) [51.15.7.139] F=<> rejected RCPT <rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroot@domaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomaindomain>: relay not permitted

а потом бах и такое !!!!!!!!!
2021-08-27 02:20:21 1mJOfV-0006UL-Fn <= <> H=(bfmohersqlndnlprqtajwbwohqocjciggvnkdyawbczbyredinnkmrvxwuwpyjlhbjtbyepdcxaeoyelhfeqpuzpakpyoplxqbwu) [51.15.7.139] P=esmtp S=1260

Че зан.... ??????

Ну дальше такое
2021-08-27 02:20:22 1mJOfV-0006UL-Fn ** R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [74.125.131.27] X=TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256 CV=yes DN="CN=mx.google.com": SMTP error from remote mail server after pipelined end of data: 550-5.7.1 [62.122.99.46      11] Our system has detected that this message is\n550-5.7.1 not RFC 5322 compliant:\n550-5.7.1 'From' header is missing.\n550-5.7.1 To reduce the amount of spam sent to Gmail, this message has been\n550-5.7.1 blocked. Please visit\n550-5.7.1  https://support.google.com/mail/?p=RfcMessageNonCompliant�... 5.7.1 and review RFC 5322 specifications for more information. u3si6124654ljg.510 - gsmtp

2021-08-27 02:20:22 1mJOfW-0006V0-0k <= <> R=1mJOfV-0006UL-Fn U=Debian-exim P=local S=1057

У меня только парольная посылка почты, без пароля только локалхост.

Package: exim4
Version: 4.92-8+deb10u6

Подобрали пароль ? не похоже парольная лога выглядит вот так
2021-08-27 11:56:40 1mJXfE-0000rT-QZ <= ****8 H=(localhost) [***********] P=esmtpsa X=TLS1.3:ECDHE_RSA_CHACHA20_POLY1305:256 CV=no A=plain_server:********** S=1239


Подскажите откуда такое вообще
2021-08-27 02:20:21 1mJOfV-0006UL-Fn <= <> H=(bfmohersqlndnlprqtajwbwohqocjciggvnkdyawbczbyredinnkmrvxwuwpyjlhbjtbyepdcxaeoyelhfeqpuzpakpyoplxqbwu) [51.15.7.139] P=esmtp S=1260


Настройка ftp в proftpd, !*! globus13, (FTP / Linux) 23-Авг-21, 15:32  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Здравствуйте. Стоит на CentOS7 ftp-сервер proftpd. Настроено так, что при вводе логина и пароля проваливаемся в папку пользователя. Надо как-то настроить, что бы в одну из папок (например /home/user_photo) проваливались по ftp без логина и пароля.

ServerName                      "ProFTPD server"
ServerIdent                     on "FTP Server ready."
ServerAdmin                     root@localhost
DefaultServer                   on

# Cause every FTP user except adm to be chrooted into their home directory
DefaultRoot                     ~ !adm

# Use pam to authenticate (default) and be authoritative
AuthPAMConfig                   proftpd
AuthOrder                       mod_auth_pam.c* mod_auth_unix.c
# If you use NIS/YP/LDAP you may need to disable PersistentPasswd
#PersistentPasswd               off

# Don't do reverse DNS lookups (hangs on DNS problems)
UseReverseDNS                   off

# Set the user and group that the server runs as
User                            nobody
Group                           nobody


MaxInstances                    20

# Disable sendfile by default since it breaks displaying the download speeds in
# ftptop and ftpwho
UseSendfile                     off

# Define the log formats
LogFormat                       default "%h %l %u %t \"%r\" %s %b"
LogFormat                       auth    "%v [%P] %h %t \"%r\" %s"

LoadModule mod_ctrls_admin.c

LoadModule mod_vroot.c


ModuleControlsACLs              insmod,rmmod allow user root
ModuleControlsACLs              lsmod allow user *

# Enable basic controls via ftpdctl
# (http://www.proftpd.org/docs/modules/mod_ctrls.html)
ControlsEngine                  on
ControlsACLs                    all allow user root
ControlsSocketACL               allow user *
ControlsLog                     /var/log/proftpd/controls.log

# Enable admin controls via ftpdctl
# (http://www.proftpd.org/docs/contrib/mod_ctrls_admin.html)
<IfModule mod_ctrls_admin.c>
  AdminControlsEngine           on
  AdminControlsACLs             all allow user root
</IfModule>


<IfModule mod_vroot.c>
  VRootEngine                   on
</IfModule>

# TLS (http://www.castaglia.org/proftpd/modules/mod_tls.html)
<IfDefine TLS>
  TLSEngine                     on
  TLSRequired                   on
  TLSRSACertificateFile         /etc/pki/tls/certs/proftpd.pem
  TLSRSACertificateKeyFile      /etc/pki/tls/certs/proftpd.pem
  TLSCipherSuite                ALL:!ADH:!DES
  TLSOptions                    NoCertRequest
  TLSVerifyClient               off
  #TLSRenegotiate               ctrl 3600 data 512000 required off timeout 300
  TLSLog                        /var/log/proftpd/tls.log
  <IfModule mod_tls_shmcache.c>
    TLSSessionCache             shm:/file=/var/run/proftpd/sesscache
  </IfModule>
</IfDefine>

<IfDefine DYNAMIC_BAN_LISTS>
  LoadModule                    mod_ban.c
  BanEngine                     on
  BanLog                        /var/log/proftpd/ban.log
  BanTable                      /var/run/proftpd/ban.tab

  # If the same client reaches the MaxLoginAttempts limit 2 times
  # within 10 minutes, automatically add a ban for that client that
  # will expire after one hour.
  BanOnEvent                    MaxLoginAttempts 2/00:10:00 01:00:00

  # Inform the user that it's not worth persisting
  BanMessage                    "Host %a has been banned"

  # Allow the FTP admin to manually add/remove bans
  BanControlsACLs               all allow user ftpadm
</IfDefine>

<IfDefine QOS>
  LoadModule                    mod_qos.c
  # RFC791 TOS parameter compatibility
  QoSOptions                    dataqos throughput ctrlqos lowdelay
  # For a DSCP environment (may require tweaking)
  #QoSOptions                   dataqos CS2 ctrlqos AF41
</IfDefine>

# Global Config - config common to Server Config and all virtual hosts
# See: http://www.proftpd.org/docs/howto/Vhost.html
<Global>

  # Umask 022 is a good standard umask to prevent new dirs and files
  # from being group and world writable
  Umask                         022

  AllowOverwrite                on
  <Limit ALL SITE_CHMOD>
    AllowAll
  </Limit>

</Global>

# A basic anonymous configuration, with an upload directory
# Enable this with PROFTPD_OPTIONS=-DANONYMOUS_FTP in /etc/sysconfig/proftpd
<IfDefine ANONYMOUS_FTP>

#############################################

  <Anonymous /home/user_photo>
          User          user_photo
          Group         user_photo
          UserAlias     anonymous user_photo
          RequireValidShell     off
          MaxClients    5
          ShowSymlinks  on
          HideUser      root
          HideGroup     root
          RootLogin     off
  <Limit CWD DIRS READ LIST>
          AllowAll
  </Limit>
  <Limit WRITE>
          DenyAll</Limit>
  </Anonymous>

#############################################

  <Anonymous ~ftp>
    User                        ftp
    Group                       ftp
    AccessGrantMsg              "Anonymous login ok, restrictions apply."

    # We want clients to be able to login with "anonymous" as well as "ftp"
    UserAlias                   anonymous ftp

    # Limit the maximum number of anonymous logins
    MaxClients                  10 "Sorry, max %m users -- try again later"

    # Put the user into /pub right after login
    #DefaultChdir               /pub

    # We want 'welcome.msg' displayed at login, '.message' displayed in
    # each newly chdired directory and tell users to read README* files.
    DisplayLogin                /welcome.msg
    DisplayChdir                .message
    DisplayReadme               README*

    # Cosmetic option to make all files appear to be owned by user "ftp"
    DirFakeUser                 on ftp
    DirFakeGroup                on ftp

    # Limit WRITE everywhere in the anonymous chroot
    <Limit WRITE SITE_CHMOD>
      DenyAll
    </Limit>

    <IfModule mod_vroot.c>
      <Directory /uploads/*>
        AllowOverwrite          no
        <Limit READ>
          DenyAll
        </Limit>

        <Limit STOR>
          AllowAll
        </Limit>
      </Directory>
    </IfModule>
    <IfModule !mod_vroot.c>
      <Directory uploads/*>
        AllowOverwrite          no
        <Limit READ>
          DenyAll
        </Limit>

        <Limit STOR>
          AllowAll
        </Limit>
      </Directory>
    </IfModule>

    # Logging for the anonymous transfers
    ExtendedLog                 /var/log/proftpd/access.log WRITE,READ default
    ExtendedLog                 /var/log/proftpd/auth.log AUTH auth

  </Anonymous>
</IfDefine>


я настройки внес, но как-то не идет процесс. Так же этот гад не хочет логи писать. В чем ошибся? Спасибо.
предупреждение о недоставки писем sendmail, !*! artin74, (Почта) 23-Авг-21, 09:40  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Добрый день. Может кто-то сможет подсказать. Стоит Sendmail. Необходимо , чтобы при отправке писем на несуществующего пользователя домена, отправляющему приходило письмо с ошибкой, что такого пользователя нет.
Изучение мануалов  не помогло, может здесь есть те, кто знают. Заранее спасибо.
Не отправляются письма на гугл и  яндекс, !*! lotric, (Почта / Linux) 23-Авг-21, 07:17  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
ubuntu server 20. exim4

на mail.ru доходят. на appmaildev.com/en/dkim тоже не доходят

/etc/exim4/exim4.conf.template

malware        = */defer_ok

=========================================
ошибка отправки в почт клиенте когда я отправляю

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

  zacwez@ya.ru
    host mx.yandex.ru [77.88.21.249]
    retry timeout exceeded


Reporting-MTA: dns; 323c.ru

Action: failed
Final-Recipient: rfc822;zacwez@ya.ru
Status: 5.0.0
Remote-MTA: dns; mx.yandex.ru


=========================================
https://mxtoolbox.com

    SMTP Reverse DNS Mismatch     OK - 165.255.165.165 resolves to mail.323c.ru
    SMTP Valid Hostname     OK - Reverse DNS is a valid Hostname
    SMTP Banner Check     OK - Reverse DNS matches SMTP Banner
    SMTP TLS     OK - Supports TLS.
    SMTP Connection Time     0.581 seconds - Good on Connection time
    SMTP Open Relay     OK - Not an open relay.
    SMTP Transaction Time     2.001 seconds - Good on Transaction Time
Session Transcript:
Connecting to 165.255.165.165

220 mail.323c.ru [377 ms]
EHLO keeper-us-east-1b.mxtoolbox.com
250-mail.323c.ru Hello keeper-us-east-1b.mxtoolbox.com [52.55.244.91]
250-SIZE 52428800
250-8BITMIME
250-PIPELINING
250-AUTH PLAIN LOGIN
250-CHUNKING
250-STARTTLS
250-SMTPUTF8
250 HELP [270 ms]
MAIL FROM:<supertool@mxtoolboxsmtpdiag.com>
250 OK [271 ms]
RCPT TO:<test@mxtoolboxsmtpdiag.com>
550 relay not permitted [720 ms]

LookupServer 3316ms
=========================================

tail -f  /var/log/exim4/mainlog

ОШИБКА ОТПРАВКИ НА ЯНДЕКС
2021-08-23 04:05:39 1mI1DN-000LgO-NK <= adm@323c.ru H=smbxturbo.lan ([192.168.0.32]) [192.168.0.1] P=esmtpsa X=TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_128_GCM:128 CV=no SNI="mail.323c.ru" A=dovecot_plain:adm@323c.ru S=2725 id=f8759668-fed3-371d-5e14-845b4da030bc@323c.ru
2021-08-23 04:05:39 1mI1DN-000LgO-NK ** zacwez@ya.ru R=dnslookup T=remote_smtp: all hosts for 'ya.ru' have been failing for a long time (and retry time not reached)
2021-08-23 04:05:39 1mI1DP-000LgU-Az <= <> R=1mI1DN-000LgO-NK U=Debian-exim P=local S=4048
2021-08-23 04:05:39 1mI1DN-000LgO-NK Completed
2021-08-23 04:05:39 1mI1DP-000LgU-Az => adm <adm@323c.ru> R=localuser T=local_delivery
2021-08-23 04:05:39 1mI1DP-000LgU-Az Completed


ОШИБКА ОТПРАВКИ НА ГУГЛ
2021-08-23 04:03:38 1mI1BR-000LbL-QY <= adm@323c.ru H=smbxturbo.lan ([192.168.0.32]) [192.168.0.1] P=esmtpsa X=TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_128_GCM:128 CV=no SNI="mail.323c.ru" A=dovecot_plain:adm@323c.ru S=912 id=84d1e3b9-3d2f-cfdc-ff2f-9163825430bd@323c.ru
2021-08-23 04:03:38 1mI1BR-000LbL-QY == smolenskstar@gmail.com R=dnslookup T=remote_smtp defer (-53): retry time not reached for any host for 'gmail.com'

УСПЕХ ОТПРАВКИ НА MAIL.ru
2021-08-23 04:07:07 1mI1Eo-000LhL-T7 <= adm@323c.ru H=smbxturbo.lan ([192.168.0.32]) [192.168.0.1] P=esmtpsa X=TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_128_GCM:128 CV=no SNI="mail.323c.ru" A=dovecot_plain:adm@323c.ru S=675 id=c8f67c8a-c513-0970-2ffe-6a8be30d23b0@323c.ru
2021-08-23 04:07:08 1mI1Eo-000LhL-T7 => zacwez@mail.ru R=dnslookup T=remote_smtp H=mxs.mail.ru [94.100.180.31] X=TLS1.2:ECDHE_SECP256R1__RSA_SHA256__AES_256_GCM:256 CV=yes C="250 OK id=1mI1Ep-0000Rn-Mq"
2021-08-23 04:07:08 1mI1Eo-000LhL-T7 Completed

Не презапускается антиспам zimbra, !*! pehser, (Почта) 17-Авг-21, 09:34  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
перестала нормально презапускаться службы антивирус и антиспам в зибре

# su zimbra
$ zmamavisdctl restart

в ответ не хваткаправ

Starting amavisd...fetch_modules: error loading optional module Razor2/Client/Agent.pm:
  Can't locate Getopt/Long.pm:   lib/Getopt/Long.pm: Permission denied at /usr/share/perl5/Razor2/Client/Agent.pm line 15, <DATA> line 755.
  BEGIN failed--compilation aborted at /usr/share/perl5/Razor2/Client/Agent.pm line 15, <DATA> line 755.
  Compilation failed in require at /opt/zimbra/common/sbin/amavisd line 211, <DATA> line 755.
fetch_modules: error loading optional module Mail/DKIM.pm:
  Can't locate Mail/DKIM.pm:   lib/Mail/DKIM.pm: Permission denied at /opt/zimbra/common/sbin/amavisd line 211, <DATA> line 755.

....

Подскажите как права по фиксить?

keepalived (1.3.* vs 2.0.*), !*! igor, (Др. сетевые сервисы / Linux) 11-Авг-21, 17:35  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
В версии keepalived 1.3.2 сервер с ролью MASTER при старте сразу переходит в MASTER, указывая в логе
Entering MASTER state.

В версии keepalived 2.0.10 сервер с ролью MASTER при старте сначала переходит в BAXCKUP, а затем переходит в MASTER, указывая в логе
Entering BACKUP state (init).
Entering MASTER state.

Можно ли поведение версии 2.0 настроить как в версии 1.3 ?


Помогите настроить ftp сервер, !*! RAIN, (FTP / Linux) 16-Июл-21, 09:35  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Помогите с настройкой сервер .
Создал пользователя для ftp сервера , добавил в группу ftp .
Из локальной сети прекрасно заходит в указанный каталог .
Из внешней сети не подключается , посредник роутер MikroTik , нужный порт открыт , нестандартный .
Ошибка при входе :

failed to connect to /внешний ip (port 43994) from /10.157.181.181 (port 46000) after 15000ms: isConnected failed: ECONNREFUSED (Connection refused)

# vsftpd.conf
https://cloud.mail.ru/public/t2XE/eCbyKRHb7

Помогите правильно настроить .
Заранее благодарен .

Не работает tcp в pptp-туннеле после nat, !*! kapunov81, (Маршрутизация, NAT / FreeBSD) 06-Июл-21, 14:06  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Итак, на хосте есть две клетки, одна vpn (mpd5) с адресом 192.168.1.9, другая mail с адресом 192.168.1.4
К vpn-клетке через pptp подключается клиент, получающий адрес 192.168.0.130. Для того, чтобы он мог ходить по внутренним адресам 192.168.1.0/24, на хосте добавлено правило route add 192.168.0.0/24 192.168.1.9. На этом этапе все ок, win-клиент подключается по pptp к vpn-серверу, и имеет доступ к внутренней сети - нормально отрабатывают и udp (ping 192.168.1.4) и tcp (curl 192.168.1.4).
Поскольку идея состоит в том, чтобы пускать клиента напрямую в Инет (чертовы видеоконференции не работают нормально через прокси), то без nat не обойтись, и я моделирую ситуацию с nat-ом наружу - включаю ipfw kernel nat на vpn-сервере (eth1=192.168.1.9):

ipfw -q nat 1 config if eth1 reset
#NAT для входящих пакетов
ipfw -q add 00002 nat 1 ip4 from any to any in recv eth1
ipfw -q add 00010 check-state
ipfw add 00290 allow ip from any to any via lo0
#NAT для исходящих пакетов
ipfw -q add 00800 nat 1 ip4 from any to any out xmit eth1
#открываем все
ipfw add 00900 allow ip from any to any

Такая конфигурация nat точно рабочая, и на хосте подобный вариант пускает нужные клетки напрямую в Инет через белый ip. Теперь пакеты от клиента натятся внутренним адресом vpn-сервера и к 192.168.1.4 приходят будто-бы от 192.168.1.9. UDP-протокол работает без проблем, пинг отрабатывает, а вот tcp работать после nat не хочет. При этом пакеты ходят в обе стороны, но на клиенте команда curl 192.168.1.4 не выдает ответ, будто-бы сервер не отвечает, хотя tcpdump на крайнем к клиенту интерфейсе ng0 (создается при подключении) показывает что пакеты клиенту идут.
Подскажите, в чем заключается проблема? Я предполагаю, что pptp-туннель, после того как в его пакетах поковырялся nat, отказывается признавать приходящие пакеты своими, но что-то никак не найду схожий вариант с решением.

dovecot auth: fatal master service child 992 killed, !*! qecer321, (Почта / FreeBSD) 05-Июл-21, 12:13  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Всем добрый день.
Была поставлена задача, увеличить место на почтовом сервере, а именно на диске, на котором находятся почтовые ящики. Почтовый сервер представляет собой виртуальную машину hyper-v.
После увеличения места на диске и растягивания фс, вылетела ошибка "dovecot auth: fatal master service child 992 killed". При этом dovecot работал. И после перезагрузки, сервер работает вроде нормально, служба dovecot запущена.
Может кто-нибудь подсказать, что это была за ошибка и является ли она критичной.

Работающая система Freebsd 11.0-RELEASE-p1

EXIM Пересылка одному из списка, !*! DeadMorose, (Почта / FreeBSD) 30-Июн-21, 15:45  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Здравствуйте!

Появилась задача настроить Exim так, чтобы в одной группе письма распределялись получателям последовательно - первое письмо - первому в группе, второе - второму и т.д.
В БД создал таблицу - id(порядковый номер),address(e-mail),is_current(должен получить текущее письмо)



FreeBSD как объединить несколько томов в один логический том., !*! sergetv, (Файловые системы, диски / FreeBSD) 22-Июн-21, 15:44  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Здравствуйте.
Есть 4 диска по 2Тb. Нужно их объединить в один логический диск 8Tb, но так, чтобы при выходе из строя любого из дисков файлы с остальных можно было без особых усилий восстановить (в идеале вообще сохранить целостность объединенного логического), а вышедший из строя диск заменить. Потерей файлов с вышедшего из строя можно пренебречь (предполагается резервная копия)
Что-то типа gconcat, но с желательным сохранением файловых систем исходных дисков.
Спасибо


Где взять asterisk-gui FreeBSD 11, !*! cray, (VoIP / FreeBSD) 20-Июн-21, 12:25  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Добрый всем день!

Собственно сабж, кинулся поставить вэб интерфейс, и не нашёл его на стандартном месте, вообще ни где нет. Обновление портов делал.
Может кто подскажет где его взять?



Postfix от некоторых доменов долго приходит почта, !*! bear_cho, (Почта / Linux) 18-Июн-21, 09:18  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Добрый день! Прошу помочь разобраться

От нескольких доменов долго приходит почта содержащая вложения(предположительно), в логах :

Jun 18 09:09:05 PostMan postfix/postscreen[7397]: PASS OLD [54.240.3.19]:48855
Jun 18 09:09:05 PostMan postfix/smtpd[7452]: connect from a3-19.smtp-out.eu-west-1.amazonses.com[54.240.3.19]
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "request=smtpd_access_policy"
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "protocol_state=RCPT"
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "protocol_name=ESMTP"
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "client_address=54.240.3.19"
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "client_name=a3-19.smtp-out.eu-west-1.amazonses.com"
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "reverse_client_name=a3-19.smtp-out.eu-west-1.amazonses.com"
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "helo_name=a3-19.smtp-out.eu-west-1.amazonses.com"
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "sender=0102017a1d8ada0c-bdd8e45b-08b2-4319-b04e-8b317f419c40-000000@mail.3dexperience.3ds.com"
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "recipient=lda@gcvep.ru"
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "recipient_count=0"
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "queue_id="
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "instance=1d1c.60cc2a72.6129.0"
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "size=0"
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "etrn_domain="
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "stress="
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "sasl_method="
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "sasl_username="
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "sasl_sender="
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "ccert_subject="
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "ccert_issuer="
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "ccert_fingerprint="
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "ccert_pubkey_fingerprint="
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "encryption_protocol=TLSv1.2"
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "encryption_cipher=ECDHE-RSA-AES128-SHA256"
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: "encryption_keysize=128"
Jun 18 09:09:06 PostMan policyd-spf[7461]: Read line: ""
Jun 18 09:09:06 PostMan policyd-spf[7461]: Found the end of entry
Jun 18 09:09:06 PostMan policyd-spf[7461]: Config: {'SPF_Enhanced_Status_Codes': 'Yes', 'Domain_Whitelist': '', 'TempError_Defer': 'False', 'Void_Limit': 2, 'Mail_From_reject': 'No_Check', 'Whitelist_Lookup_Time': 10, 'Mock': False, 'de$
Jun 18 09:09:06 PostMan policyd-spf[7461]: Cached data for this instance: []
Jun 18 09:09:06 PostMan policyd-spf[7461]: skip_addresses enabled.
Jun 18 09:09:06 PostMan policyd-spf[7461]: Action: None: Text: None Reject action: 550 5.7.23
Jun 18 09:09:06 PostMan postfix/smtpd[7452]: 4DBAA1A1DD5: client=a3-19.smtp-out.eu-west-1.amazonses.com[54.240.3.19]

И такой лог проходит несколько раз и примерно через 40мин приходит почта. Что интересно, иногда почта приходит достаточно быстро от тех же доменов. Прошу помочь

Postfix header_checks правила для входящего письма, !*! хонгильдон, (Почта / Linux) 15-Июн-21, 09:51  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Приветствуй, подскажите как в постфиксе сделать правило для входящих писем с определенного домен. Нужно входящие письмо сначала перенаправить на определенный адрес, а потом его же реджектнуть с ответом о том что письмо не может быть доставлено.
сборка rpm (nginx+modsecurity), !*! vanyadog, (Системное и пользовательское ПО / Linux) 14-Июн-21, 13:25  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Добрый день.
Хочу собрать nginx с модулем modsecutity

Ставил руками - все ОК, но мне нужен именно пакет чтобы на других хостах не компилировать снова
https://habr.com/ru/post/437032/


Скачал с офф сайта исходники и файл спецификации, с гита клонировал исходники модуля

в файл спецификации добавил
опцию конфигурирования
--add-dynamic-module=/tmp/mods/ModSecurity-nginx

в секцию  %description

###ModSecurity-nginx
%package ModSecurity-nginx
Summary: nginx ModSecurity-nginx
%description ModSecurity-nginx
Dynamic ModSecurity-nginx
###ModSecurity-nginx

в секцию %install
###ModSecurity-nginx copy libs
%{__mkdir} -p $RPM_BUILD_ROOT/usr/lib64
cp -a /tmp/modsecurity/lib/libmodsecurity.so $RPM_BUILD_ROOT/usr/lib64/
###ModSecurity-nginx

и файлы
###ModSecurity-nginx files
%files ModSecurity-nginx
%{_libdir}/nginx/modules/ngx_http_modsecurity_module.so
%{_libdir}/libmodsecurity.so
###ModSecurity-nginx

положил все файлы в SOURCE
далее rpmbuild -bb ~/rpmbuild/SPECS/nginx.spec

пакеты собрались

[bac-dl@localhost /home/bac-dl]$ ll /home/bac-dl/rpmbuild/RPMS/x86_64/*
-rw-rw-r-- 1 bac-dl bac-dl   808544 Jun 14 12:23 /home/bac-dl/rpmbuild/RPMS/x86_64/nginx-1.20.1-1.el7.ngx.x86_64.rpm
-rw-rw-r-- 1 bac-dl bac-dl  1873004 Jun 14 12:23 /home/bac-dl/rpmbuild/RPMS/x86_64/nginx-debuginfo-1.20.1-1.el7.ngx.x86_64.rpm
-rw-rw-r-- 1 bac-dl bac-dl 10771920 Jun 14 12:23 /home/bac-dl/rpmbuild/RPMS/x86_64/nginx-ModSecurity-nginx-1.20.1-1.el7.ngx.x86_64.rpm


но при установке требуется библиотека libmodsecurity.so.3 (хотя в файлах она есть)

[bac-dl@localhost /home/bac-dl]$ sudo yum localinstall /home/bac-dl/rpmbuild/RPMS/x86_64/nginx-ModSecurity-nginx-1.20.1-1.el7.ngx.x86_64.rpm
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

Examining /home/bac-dl/rpmbuild/RPMS/x86_64/nginx-ModSecurity-nginx-1.20.1-1.el7.ngx.x86_64.rpm: 1:nginx-ModSecurity-nginx-1.20.1-1.el7.ngx.x86_64
Marking /home/bac-dl/rpmbuild/RPMS/x86_64/nginx-ModSecurity-nginx-1.20.1-1.el7.ngx.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package nginx-ModSecurity-nginx.x86_64 1:1.20.1-1.el7.ngx will be installed
--> Processing Dependency: libmodsecurity.so.3()(64bit) for package: 1:nginx-ModSecurity-nginx-1.20.1-1.el7.ngx.x86_64
--> Finished Dependency Resolution
Error: Package: 1:nginx-ModSecurity-nginx-1.20.1-1.el7.ngx.x86_64 (/nginx-ModSecurity-nginx-1.20.1-1.el7.ngx.x86_64)
           Requires: libmodsecurity.so.3()(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

Подскажите, пожалуйста, где я ошибся в nginx.spec

ниже сам файл

#
%define nginx_home %{_localstatedir}/cache/nginx
%define nginx_user nginx
%define nginx_group nginx
%define nginx_loggroup adm

BuildRequires: systemd
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd

%if 0%{?rhel}
%define _group System Environment/Daemons
%endif

%if (0%{?rhel} == 7) && (0%{?amzn} == 0)
%define epoch 1
Epoch: %{epoch}
Requires(pre): shadow-utils
Requires: openssl >= 1.0.2
BuildRequires: openssl-devel >= 1.0.2
%define dist .el7
%endif

%if (0%{?rhel} == 7) && (0%{?amzn} == 2)
%define epoch 1
Epoch: %{epoch}
Requires(pre): shadow-utils
Requires: openssl11 >= 1.1.1
BuildRequires: openssl11-devel >= 1.1.1
%endif

%if 0%{?rhel} == 8
%define epoch 1
Epoch: %{epoch}
Requires(pre): shadow-utils
BuildRequires: openssl-devel >= 1.1.1
%define _debugsource_template %{nil}
%endif

%if 0%{?suse_version} >= 1315
%define _group Productivity/Networking/Web/Servers
%define nginx_loggroup trusted
Requires(pre): shadow
BuildRequires: libopenssl-devel
%define _debugsource_template %{nil}
%endif

%if 0%{?fedora}
%define _debugsource_template %{nil}
%global _hardened_build 1
%define _group System Environment/Daemons
BuildRequires: openssl-devel
Requires(pre): shadow-utils
%endif

# end of distribution specific definitions

%define base_version 1.20.1
%define base_release 1%{?dist}.ngx

%define bdir %{_builddir}/%{name}-%{base_version}

%define WITH_CC_OPT $(echo %{optflags} $(pcre-config --cflags)) -fPIC
%define WITH_LD_OPT -Wl,-z,relro -Wl,-z,now -pie

%define BASE_CONFIGURE_ARGS $(echo "--prefix=%{_sysconfdir}/nginx --sbin-path=%{_sbindir}/nginx --modules-path=%{_libdir}/nginx/modules --conf-path=%{_sysconfdir}/nginx/nginx.conf --error-log-path=%{_localstatedir}/log/nginx/error.log --http-log-path=%{_localstatedir}/log/nginx/access.log --pid-path=%{_localstatedir}/run/nginx.pid --lock-path=%{_localstatedir}/run/nginx.lock --http-client-body-temp-path=%{_localstatedir}/cache/nginx/client_temp --http-proxy-temp-path=%{_localstatedir}/cache/nginx/proxy_temp --http-fastcgi-temp-path=%{_localstatedir}/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=%{_localstatedir}/cache/nginx/uwsgi_temp --http-scgi-temp-path=%{_localstatedir}/cache/nginx/scgi_temp --user=%{nginx_user} --group=%{nginx_group} --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --add-dynamic-module=/tmp/mods/ModSecurity-nginx")

Summary: High performance web server
Name: nginx
Version: %{base_version}
Release: %{base_release}
Vendor: NGINX Packaging <nginx-packaging@f5.com>
URL: https://nginx.org/
Group: %{_group}

Source0: https://nginx.org/download/%{name}-% ...
Source1: logrotate
Source2: nginx.conf
Source3: nginx.default.conf
Source4: nginx.service
Source5: nginx.upgrade.sh
Source6: nginx.suse.logrotate
Source7: nginx-debug.service
Source8: nginx.copyright
Source9: nginx.check-reload.sh

License: 2-clause BSD-like license

BuildRoot: %{_tmppath}/%{name}-%{base_version}-%{base_release}-root
BuildRequires: zlib-devel
BuildRequires: pcre-devel

Provides: webserver
Provides: nginx-r%{base_version}

%description
###ModSecurity-nginx
%package ModSecurity-nginx
Summary: nginx ModSecurity-nginx
%description ModSecurity-nginx
Dynamic ModSecurity-nginx
###ModSecurity-nginx

nginx [engine x] is an HTTP and reverse proxy server, as well as
a mail proxy server.

%if 0%{?suse_version} >= 1315
%debug_package
%endif

%prep
%autosetup -p1

%build

./configure %{BASE_CONFIGURE_ARGS} \
    --with-cc-opt="%{WITH_CC_OPT}" \
    --with-ld-opt="%{WITH_LD_OPT}" \
    --with-debug
make %{?_smp_mflags}
%{__mv} %{bdir}/objs/nginx \
    %{bdir}/objs/nginx-debug
./configure %{BASE_CONFIGURE_ARGS} \
    --with-cc-opt="%{WITH_CC_OPT}" \
    --with-ld-opt="%{WITH_LD_OPT}"
make %{?_smp_mflags}

%install
%{__rm} -rf $RPM_BUILD_ROOT
%{__make} DESTDIR=$RPM_BUILD_ROOT INSTALLDIRS=vendor install

%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/nginx
%{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/nginx/html $RPM_BUILD_ROOT%{_datadir}/nginx/

%{__rm} -f $RPM_BUILD_ROOT%{_sysconfdir}/nginx/*.default
%{__rm} -f $RPM_BUILD_ROOT%{_sysconfdir}/nginx/fastcgi.conf

%{__mkdir} -p $RPM_BUILD_ROOT%{_localstatedir}/log/nginx
%{__mkdir} -p $RPM_BUILD_ROOT%{_localstatedir}/run/nginx
%{__mkdir} -p $RPM_BUILD_ROOT%{_localstatedir}/cache/nginx

%{__mkdir} -p $RPM_BUILD_ROOT%{_libdir}/nginx/modules
cd $RPM_BUILD_ROOT%{_sysconfdir}/nginx && \
    %{__ln_s} ../..%{_libdir}/nginx/modules modules && cd -

%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/%{name}-%{base_version}
%{__install} -m 644 -p %{SOURCE8} \
    $RPM_BUILD_ROOT%{_datadir}/doc/%{name}-%{base_version}/COPYRIGHT

%{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/nginx/conf.d
%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/nginx/nginx.conf
%{__install} -m 644 -p %{SOURCE2} \
    $RPM_BUILD_ROOT%{_sysconfdir}/nginx/nginx.conf
%{__install} -m 644 -p %{SOURCE3} \
    $RPM_BUILD_ROOT%{_sysconfdir}/nginx/conf.d/default.conf

%{__install} -p -D -m 0644 %{bdir}/objs/nginx.8 \
    $RPM_BUILD_ROOT%{_mandir}/man8/nginx.8

%{__mkdir} -p $RPM_BUILD_ROOT%{_unitdir}
%{__install} -m644 %SOURCE4 \
    $RPM_BUILD_ROOT%{_unitdir}/nginx.service
%{__install} -m644 %SOURCE7 \
    $RPM_BUILD_ROOT%{_unitdir}/nginx-debug.service
%{__mkdir} -p $RPM_BUILD_ROOT%{_libexecdir}/initscripts/legacy-actions/nginx
%{__install} -m755 %SOURCE5 \
    $RPM_BUILD_ROOT%{_libexecdir}/initscripts/legacy-actions/nginx/upgrade
%{__install} -m755 %SOURCE9 \
    $RPM_BUILD_ROOT%{_libexecdir}/initscripts/legacy-actions/nginx/check-reload

# install log rotation stuff
%{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
%if 0%{?suse_version}
%{__install} -m 644 -p %{SOURCE6} \
    $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/nginx
%else
%{__install} -m 644 -p %{SOURCE1} \
    $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/nginx
%endif

%{__install} -m755 %{bdir}/objs/nginx-debug \
    $RPM_BUILD_ROOT%{_sbindir}/nginx-debug

%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/nginx/koi-utf
%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/nginx/koi-win
%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/nginx/win-utf

###ModSecurity-nginx copy libs
%{__mkdir} -p $RPM_BUILD_ROOT/usr/lib64
cp -a /tmp/modsecurity/lib/libmodsecurity.so $RPM_BUILD_ROOT/usr/lib64/
###ModSecurity-nginx

%check
%{__rm} -rf $RPM_BUILD_ROOT/usr/src
cd %{bdir}
grep -v 'usr/src' debugfiles.list > debugfiles.list.new && mv debugfiles.list.new debugfiles.list
cat /dev/null > debugsources.list
%if 0%{?suse_version} >= 1500
cat /dev/null > debugsourcefiles.list
%endif

%clean
%{__rm} -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root)

%{_sbindir}/nginx
%{_sbindir}/nginx-debug

%dir %{_sysconfdir}/nginx
%dir %{_sysconfdir}/nginx/conf.d
%{_sysconfdir}/nginx/modules

%config(noreplace) %{_sysconfdir}/nginx/nginx.conf
%config(noreplace) %{_sysconfdir}/nginx/conf.d/default.conf
%config(noreplace) %{_sysconfdir}/nginx/mime.types
%config(noreplace) %{_sysconfdir}/nginx/fastcgi_params
%config(noreplace) %{_sysconfdir}/nginx/scgi_params
%config(noreplace) %{_sysconfdir}/nginx/uwsgi_params

%config(noreplace) %{_sysconfdir}/logrotate.d/nginx
%{_unitdir}/nginx.service
%{_unitdir}/nginx-debug.service
%dir %{_libexecdir}/initscripts/legacy-actions/nginx
%{_libexecdir}/initscripts/legacy-actions/nginx/*

%attr(0755,root,root) %dir %{_libdir}/nginx
%attr(0755,root,root) %dir %{_libdir}/nginx/modules
%dir %{_datadir}/nginx
%dir %{_datadir}/nginx/html
%{_datadir}/nginx/html/*

%attr(0755,root,root) %dir %{_localstatedir}/cache/nginx
%attr(0755,root,root) %dir %{_localstatedir}/log/nginx

%dir %{_datadir}/doc/%{name}-%{base_version}
%doc %{_datadir}/doc/%{name}-%{base_version}/COPYRIGHT
%{_mandir}/man8/nginx.8*

###ModSecurity-nginx files
%files ModSecurity-nginx
%{_libdir}/nginx/modules/ngx_http_modsecurity_module.so
%{_libdir}/libmodsecurity.so
###ModSecurity-nginx

%pre
# Add the "nginx" user
getent group %{nginx_group} >/dev/null || groupadd -r %{nginx_group}
getent passwd %{nginx_user} >/dev/null || \
    useradd -r -g %{nginx_group} -s /sbin/nologin \
    -d %{nginx_home} -c "nginx user"  %{nginx_user}
exit 0

%post
# Register the nginx service
if [ $1 -eq 1 ]; then
    /usr/bin/systemctl preset nginx.service >/dev/null 2>&1 ||:
    /usr/bin/systemctl preset nginx-debug.service >/dev/null 2>&1 ||:
    # print site info
    cat <<BANNER
----------------------------------------------------------------------

Thanks for using nginx!

Please find the official documentation for nginx here:
* https://nginx.org/en/docs/

Please subscribe to nginx-announce mailing list to get
the most important news about nginx:
* https://nginx.org/en/support.html

Commercial subscriptions for nginx are available on:
* https://nginx.com/products/

----------------------------------------------------------------------
BANNER

    # Touch and set permisions on default log files on installation

    if [ -d %{_localstatedir}/log/nginx ]; then
        if [ ! -e %{_localstatedir}/log/nginx/access.log ]; then
            touch %{_localstatedir}/log/nginx/access.log
            %{__chmod} 640 %{_localstatedir}/log/nginx/access.log
            %{__chown} nginx:%{nginx_loggroup} %{_localstatedir}/log/nginx/access.log
        fi

        if [ ! -e %{_localstatedir}/log/nginx/error.log ]; then
            touch %{_localstatedir}/log/nginx/error.log
            %{__chmod} 640 %{_localstatedir}/log/nginx/error.log
            %{__chown} nginx:%{nginx_loggroup} %{_localstatedir}/log/nginx/error.log
        fi
    fi
fi

%preun
if [ $1 -eq 0 ]; then
    /usr/bin/systemctl --no-reload disable nginx.service >/dev/null 2>&1 ||:
    /usr/bin/systemctl stop nginx.service >/dev/null 2>&1 ||:
fi

%postun
/usr/bin/systemctl daemon-reload >/dev/null 2>&1 ||:
if [ $1 -ge 1 ]; then
    /sbin/service nginx status  >/dev/null 2>&1 || exit 0
    /sbin/service nginx upgrade >/dev/null 2>&1 || echo \
        "Binary upgrade failed, please check nginx's error.log"
fi

%changelog
* Tue May 25 2021 Konstantin Pavlov <thresh@nginx.com> - 1.20.1-1%{?dist}.ngx
- 1.20.1-1

* Tue Apr 20 2021 Konstantin Pavlov <thresh@nginx.com> - 1.20.0-1%{?dist}.ngx
- 1.20.0-1
- Changed the default number of worker processes to auto
- Changed the default error log level to notice
- Dropped charset-related data from packages and default configuration

* Tue Apr 13 2021 Andrei Belov <defan@nginx.com> - 1.19.10-1%{?dist}.ngx
- 1.19.10-1

* Tue Mar 30 2021 Konstantin Pavlov <thresh@nginx.com> - 1.19.9-1%{?dist}.ngx
- 1.19.9-1

* Tue Mar  9 2021 Konstantin Pavlov <thresh@nginx.com> - 1.19.8-1%{?dist}.ngx
- 1.19.8-1

* Tue Feb 16 2021 Konstantin Pavlov <thresh@nginx.com> - 1.19.7-1%{?dist}.ngx
- 1.19.7-1

* Tue Dec 15 2020 Konstantin Pavlov <thresh@nginx.com> - 1.19.6-1%{?dist}.ngx
- 1.19.6-1

* Tue Nov 24 2020 Konstantin Pavlov <thresh@nginx.com> - 1.19.5-1%{?dist}.ngx
- 1.19.5-1

* Tue Oct 27 2020 Andrei Belov <defan@nginx.com> - 1.19.4-1%{?dist}.ngx
- 1.19.4-1

* Tue Sep 29 2020 Konstantin Pavlov <thresh@nginx.com> - 1.19.3-1%{?dist}.ngx
- 1.19.3

* Tue Aug 11 2020 Konstantin Pavlov <thresh@nginx.com> - 1.19.2-1%{?dist}.ngx
- 1.19.2

* Tue Jul  7 2020 Konstantin Pavlov <thresh@nginx.com> - 1.19.1-1%{?dist}.ngx
- 1.19.1

* Tue May 26 2020 Konstantin Pavlov <thresh@nginx.com> - 1.19.0-1%{?dist}.ngx
- 1.19.0

* Tue Apr 14 2020 Konstantin Pavlov <thresh@nginx.com> - 1.17.10-1%{?dist}.ngx
- 1.17.10

* Tue Mar  3 2020 Konstantin Pavlov <thresh@nginx.com> - 1.17.9-1%{?dist}.ngx
- 1.17.9

* Tue Jan 21 2020 Konstantin Pavlov <thresh@nginx.com> - 1.17.8-1%{?dist}.ngx
- 1.17.8

* Tue Dec 24 2019 Konstantin Pavlov <thresh@nginx.com> - 1.17.7-1%{?dist}.ngx
- 1.17.7

* Tue Nov 19 2019 Konstantin Pavlov <thresh@nginx.com> - 1.17.6-1%{?dist}.ngx
- 1.17.6

* Tue Oct 22 2019 Andrei Belov <defan@nginx.com> - 1.17.5-1%{?dist}.ngx
- 1.17.5

* Tue Sep 24 2019 Konstantin Pavlov <thresh@nginx.com> - 1.17.4-1%{?dist}.ngx
- 1.17.4

* Tue Aug 13 2019 Andrei Belov <defan@nginx.com> - 1.17.3-1%{?dist}.ngx
- 1.17.3

* Tue Jul 23 2019 Konstantin Pavlov <thresh@nginx.com> - 1.17.2-1%{?dist}.ngx
- 1.17.2

* Tue Jun 25 2019 Andrei Belov <defan@nginx.com> - 1.17.1-1%{?dist}.ngx
- 1.17.1

* Tue May 21 2019 Konstantin Pavlov <thresh@nginx.com> - 1.17.0-1%{?dist}.ngx
- 1.17.0

* Tue Apr 16 2019 Konstantin Pavlov <thresh@nginx.com> - 1.15.12-1%{?dist}.ngx
- 1.15.12

* Tue Apr  9 2019 Konstantin Pavlov <thresh@nginx.com> - 1.15.11-1%{?dist}.ngx
- 1.15.11

* Tue Mar 26 2019 Konstantin Pavlov <thresh@nginx.com> - 1.15.10-1%{?dist}.ngx
- 1.15.10

* Tue Feb 26 2019 Konstantin Pavlov <thresh@nginx.com> - 1.15.9-1%{?dist}.ngx
- 1.15.9

* Tue Dec 25 2018 Konstantin Pavlov <thresh@nginx.com> - 1.15.8-1%{?dist}.ngx
- 1.15.8

* Tue Nov 27 2018 Konstantin Pavlov <thresh@nginx.com> - 1.15.7-1%{?dist}.ngx
- 1.15.7

* Tue Nov  6 2018 Konstantin Pavlov <thresh@nginx.com> - 1.15.6-1%{?dist}.ngx
- 1.15.6
- Security: fixes CVE-2018-16843.
- Security: fixes CVE-2018-16844.
- Security: fixes CVE-2018-16845.

* Tue Oct  2 2018 Konstantin Pavlov <thresh@nginx.com> - 1.15.5-1%{?dist}.ngx
- 1.15.5

* Tue Sep 25 2018 Konstantin Pavlov <thresh@nginx.com> - 1.15.4-1%{?dist}.ngx
- 1.15.4

* Tue Aug 28 2018 Konstantin Pavlov <thresh@nginx.com> - 1.15.3-1%{?dist}.ngx
- 1.15.3

* Tue Jul 24 2018 Konstantin Pavlov <thresh@nginx.com> - 1.15.2-1%{?dist}.ngx
- 1.15.2

* Tue Jul  3 2018 Konstantin Pavlov <thresh@nginx.com> - 1.15.1-1%{?dist}.ngx
- 1.15.1

* Tue Jun  5 2018 Konstantin Pavlov <thresh@nginx.com> - 1.15.0-1%{?dist}.ngx
- 1.15.0

* Mon Apr  9 2018 Konstantin Pavlov <thresh@nginx.com> - 1.13.12-1%{?dist}.ngx
- 1.13.12

* Tue Apr  3 2018 Konstantin Pavlov <thresh@nginx.com> - 1.13.11-1%{?dist}.ngx
- 1.13.11

* Tue Mar 20 2018 Konstantin Pavlov <thresh@nginx.com> - 1.13.10-1%{?dist}.ngx
- 1.13.10

* Tue Feb 20 2018 Konstantin Pavlov <thresh@nginx.com> - 1.13.9-1%{?dist}.ngx
- 1.13.9

* Tue Dec 26 2017 Konstantin Pavlov <thresh@nginx.com> - 1.13.8-1%{?dist}.ngx
- 1.13.8

* Tue Nov 21 2017 Konstantin Pavlov <thresh@nginx.com> - 1.13.7-1%{?dist}.ngx
- 1.13.7

* Thu Sep 14 2017 Konstantin Pavlov <thresh@nginx.com> - 1.13.6-1%{?dist}.ngx
- 1.13.6
- Bugfix: in systemd service support
  (https://trac.nginx.org/nginx/ticket/1380).

* Thu Sep 14 2017 Konstantin Pavlov <thresh@nginx.com> - 1.13.5-1%{?dist}.ngx
- 1.13.5

* Tue Aug  8 2017 Sergey Budnevitch <sb@nginx.com> - 1.13.4-1%{?dist}.ngx
- 1.13.4

* Tue Jul 11 2017 Konstantin Pavlov <thresh@nginx.com> - 1.13.3-1%{?dist}.ngx
- 1.13.3
- Security: fixes CVE-2017-7529.

* Tue Jun 27 2017 Konstantin Pavlov <thresh@nginx.com> - 1.13.2-1%{?dist}.ngx
- 1.13.2

* Tue May 30 2017 Konstantin Pavlov <thresh@nginx.com> - 1.13.1-1%{?dist}.ngx
- 1.13.1

* Tue Apr 25 2017 Konstantin Pavlov <thresh@nginx.com> - 1.13.0-1%{?dist}.ngx
- 1.13.0

* Tue Apr  4 2017 Konstantin Pavlov <thresh@nginx.com> - 1.11.13-1%{?dist}.ngx
- 1.11.13
- Made upgrade loops/timeouts configurable via /etc/defaults/nginx.

* Fri Mar 24 2017 Konstantin Pavlov <thresh@nginx.com> - 1.11.12-1%{?dist}.ngx
- 1.11.12

* Tue Mar 21 2017 Konstantin Pavlov <thresh@nginx.com> - 1.11.11-1%{?dist}.ngx
- 1.11.11

* Tue Feb 14 2017 Konstantin Pavlov <thresh@nginx.com> - 1.11.10-1%{?dist}.ngx
- 1.11.10

* Tue Jan 24 2017 Konstantin Pavlov <thresh@nginx.com> - 1.11.9-1%{?dist}.ngx
- 1.11.9
- Extended hardening build flags.
- Added check-reload target to init script / systemd service.

* Tue Dec 27 2016 Konstantin Pavlov <thresh@nginx.com> - 1.11.8-1%{?dist}.ngx
- 1.11.8

* Tue Dec 13 2016 Konstantin Pavlov <thresh@nginx.com> - 1.11.7-1%{?dist}.ngx
- 1.11.7

* Fri Nov 25 2016 Konstantin Pavlov <thresh@nginx.com> - 1.11.6-1%{?dist}.ngx
- 1.11.6

* Mon Oct 10 2016 Andrei Belov <defan@nginx.com> - 1.11.5-1%{?dist}.ngx
- 1.11.5

* Tue Sep 13 2016 Konstantin Pavlov <thresh@nginx.com> - 1.11.4-1%{?dist}.ngx
- 1.11.4
- njs updated to 0.1.2.

* Tue Jul 26 2016 Konstantin Pavlov <thresh@nginx.com> - 1.11.3-1%{?dist}.ngx
- 1.11.3
- njs updated to 0.1.0.
- njs stream dynamic module added to nginx-module-njs package.
- geoip stream dynamic module added to nginx-module-geoip package.

* Tue Jul  5 2016 Konstantin Pavlov <thresh@nginx.com> - 1.11.2-1%{?dist}.ngx
- 1.11.2
- njs updated to ef2b708510b1.

* Tue May 31 2016 Konstantin Pavlov <thresh@nginx.com> - 1.11.1-1%{?dist}.ngx
- 1.11.1

* Tue May 24 2016 Sergey Budnevitch <sb@nginx.com> - 1.11.0-1%{?dist}.ngx
- 1.11.0
- Bugfix: fixed logrotate error if nginx is not running.

* Tue Apr 19 2016 Konstantin Pavlov <thresh@nginx.com> - 1.9.15-1%{?dist}.ngx
- 1.9.15
- njs updated to 1c50334fbea6.

* Tue Apr  5 2016 Konstantin Pavlov <thresh@nginx.com> - 1.9.14-1%{?dist}.ngx
- 1.9.14

* Tue Mar 29 2016 Konstantin Pavlov <thresh@nginx.com> - 1.9.13-1%{?dist}.ngx
- 1.9.13
- Fixed modules path
- Added perl and njs dynamic modules subpackages

* Wed Feb 24 2016 Sergey Budnevitch <sb@nginx.com> - 1.9.12-1%{?dist}.ngx
- 1.9.12
- common configure args are now in variable
- xslt, image-filter and geoip dynamic modules added

* Tue Feb  9 2016 Sergey Budnevitch <sb@nginx.com> - 1.9.11-1%{?dist}.ngx
- 1.9.11
- dynamic modules path and symlink in /etc/nginx added

* Tue Jan 26 2016 Konstantin Pavlov <thresh@nginx.com> - 1.9.10-1%{?dist}.ngx
- 1.9.10

* Wed Dec  9 2015 Konstantin Pavlov <thresh@nginx.com> - 1.9.9-1%{?dist}.ngx
- 1.9.9

* Tue Dec  8 2015 Konstantin Pavlov <thresh@nginx.com> - 1.9.8-1%{?dist}.ngx
- 1.9.8
- http_slice module enabled

* Tue Nov 17 2015 Konstantin Pavlov <thresh@nginx.com> - 1.9.7-1%{?dist}.ngx
- 1.9.7

* Tue Oct 27 2015 Sergey Budnevitch <sb@nginx.com> - 1.9.6-1%{?dist}.ngx
- 1.9.6

* Tue Sep 22 2015 Andrei Belov <defan@nginx.com> - 1.9.5-1%{?dist}.ngx
- 1.9.5
- http_spdy module replaced with http_v2 module

* Tue Aug 18 2015 Konstantin Pavlov <thresh@nginx.com> - 1.9.4-1%{?dist}.ngx
- 1.9.4

* Tue Jul 14 2015 Sergey Budnevitch <sb@nginx.com> - 1.9.3-1%{?dist}.ngx
- 1.9.3

* Tue Jun 16 2015 Sergey Budnevitch <sb@nginx.com> - 1.9.2-1%{?dist}.ngx
- 1.9.2

* Tue May 26 2015 Sergey Budnevitch <sb@nginx.com> - 1.9.1-1%{?dist}.ngx
- 1.9.1

* Tue Apr 28 2015 Sergey Budnevitch <sb@nginx.com> - 1.9.0-1%{?dist}.ngx
- 1.9.0
- thread pool support added
- stream module added
- example_ssl.conf removed

* Tue Apr  7 2015 Sergey Budnevitch <sb@nginx.com> - 1.7.12-1%{?dist}.ngx
- 1.7.12

* Tue Mar 24 2015 Sergey Budnevitch <sb@nginx.com> - 1.7.11-1%{?dist}.ngx
- 1.7.11

* Tue Feb 10 2015 Sergey Budnevitch <sb@nginx.com> - 1.7.10-1%{?dist}.ngx
- 1.7.10

* Tue Dec 23 2014 Sergey Budnevitch <sb@nginx.com> - 1.7.9-1%{?dist}.ngx
- 1.7.9
- init-script now sends signal only to the PID derived from pidfile

* Tue Dec  2 2014 Sergey Budnevitch <sb@nginx.com> - 1.7.8-1%{?dist}.ngx
- 1.7.8
- package with debug symbols added

* Tue Oct 28 2014 Sergey Budnevitch <sb@nginx.com> - 1.7.7-1%{?dist}.ngx
- 1.7.7

* Tue Sep 30 2014 Sergey Budnevitch <sb@nginx.com> - 1.7.6-1%{?dist}.ngx
- 1.7.6

* Tue Sep 16 2014 Sergey Budnevitch <sb@nginx.com> - 1.7.5-1%{?dist}.ngx
- 1.7.5

* Tue Aug  5 2014 Sergey Budnevitch <sb@nginx.com> - 1.7.4-1%{?dist}.ngx
- 1.7.4
- init-script now returns 0 on stop command if nginx is not running

* Tue Jul  8 2014 Sergey Budnevitch <sb@nginx.com> - 1.7.3-1%{?dist}.ngx
- 1.7.3

* Tue Jun 17 2014 Sergey Budnevitch <sb@nginx.com> - 1.7.2-1%{?dist}.ngx
- 1.7.2

* Tue May 27 2014 Sergey Budnevitch <sb@nginx.com> - 1.7.1-1%{?dist}.ngx
- 1.7.1

* Thu Apr 24 2014 Konstantin Pavlov <thresh@nginx.com> - 1.7.0-1%{?dist}.ngx
- 1.7.0

* Tue Apr  8 2014 Sergey Budnevitch <sb@nginx.com> - 1.5.13-1%{?dist}.ngx
- 1.5.13

* Tue Mar 18 2014 Sergey Budnevitch <sb@nginx.com> - 1.5.12-1%{?dist}.ngx
- 1.5.12
- warning added when binary upgrade returns non-zero exit code

* Tue Mar  4 2014 Sergey Budnevitch <sb@nginx.com> - 1.5.11-1%{?dist}.ngx
- 1.5.11

* Tue Feb  4 2014 Sergey Budnevitch <sb@nginx.com> - 1.5.10-1%{?dist}.ngx
- 1.5.10

* Wed Jan 22 2014 Sergey Budnevitch <sb@nginx.com> - 1.5.9-1%{?dist}.ngx
- 1.5.9

* Tue Dec 17 2013 Sergey Budnevitch <sb@nginx.com> - 1.5.8-1%{?dist}.ngx
- 1.5.8

* Fri Nov 29 2013 Sergey Budnevitch <sb@nginx.com> - 1.5.7-1%{?dist}.ngx
- 1.5.7
- init script now honours additional options sourced from /etc/default/nginx

* Tue Oct  1 2013 Sergey Budnevitch <sb@nginx.com> - 1.5.6-1%{?dist}.ngx
- 1.5.6

* Tue Sep 17 2013 Andrei Belov <defan@nginx.com> - 1.5.5-1%{?dist}.ngx
- 1.5.5

* Tue Aug 27 2013 Sergey Budnevitch <sb@nginx.com> - 1.5.4-1%{?dist}.ngx
- 1.5.4
- auth request module added

* Tue Jul 30 2013 Sergey Budnevitch <sb@nginx.com> - 1.5.3-1%{?dist}.ngx
- 1.5.3

* Tue Jul  2 2013 Sergey Budnevitch <sb@nginx.com> - 1.5.2-1%{?dist}.ngx
- 1.5.2

* Tue Jun  4 2013 Sergey Budnevitch <sb@nginx.com> - 1.5.1-1%{?dist}.ngx
- 1.5.1
- dpkg-buildflags options now passed by --with-{cc,ld}-opt

* Mon May  6 2013 Sergey Budnevitch <sb@nginx.com> - 1.5.0-1%{?dist}.ngx
- 1.5.0
- fixed openssl version detection with dash as /bin/sh

* Tue Apr 16 2013 Sergey Budnevitch <sb@nginx.com> - 1.3.16-1%{?dist}.ngx
- 1.3.16

* Tue Mar 26 2013 Sergey Budnevitch <sb@nginx.com> - 1.3.15-1%{?dist}.ngx
- 1.3.15
- gunzip module added
- spdy module added if openssl version >= 1.0.1
- set permissions on default log files at installation



Postfix медленно принимает письма, !*! vlad357500, (Почта / Другая система) 11-Июн-21, 15:57  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Перешёл на Postfix + Kasрer 8.0 на Ubuntu 18.04
Отправка (MS Outlook 2016) письма с вложением 3 мегабайта занимает в среднем 30-40 секунд. (На sendmail - 2-3 секунды)
Включил дебаг, думал какие-то паузы в ожидании ответов по DNS и т.п. - нет.
Всё это время равномерно передаётся тело письма, без пауз. Фрагмент лога прилагается.
Есть идеи, что не так?


Jun 11 15:48:53 se postfix/smtpd[13824]: rec_put: type N len 76 data WEjwa1Y5hG
Jun 11 15:48:53 se postfix/smtpd[13824]: rec_put: type N len 76 data bmRvYmoNNT
Jun 11 15:48:53 se postfix/smtpd[13824]: rec_put: type N len 76 data MS9UeXBlL0
...
Jun 11 15:48:54 se postfix/smtpd[13824]: rec_put: type N len 76 data wzXqVlf0Vj
Jun 11 15:48:54 se postfix/smtpd[13824]: vstream_fflush_some: fd 29 flush 4096
Jun 11 15:48:54 se postfix/smtpd[13824]: rec_put: type N len 76 data Dzs+Yz/nKZ
...
Jun 11 15:48:57 se postfix/smtpd[13824]: rec_put: type N len 76 data Wke5iTPh3E
Jun 11 15:48:57 se postfix/smtpd[13824]: rec_put: type N len 76 data 8hZkVQvSU5
Jun 11 15:48:57 se postfix/smtpd[13824]: rec_put: type N len 76 data qVX32w1Pvf
Jun 11 15:48:57 se postfix/smtpd[13824]: vstream_buf_get_ready: fd 25 got 4096
...
Jun 11 15:49:19 se postfix/smtpd[13824]: rec_put: type N len 76 data cGXUqOHKqO
Jun 11 15:49:19 se postfix/smtpd[13824]: rec_put: type N len 40 data ZG9iag1zdG
Jun 11 15:49:19 se postfix/smtpd[13824]: rec_put: type N len 0 data
Jun 11 15:49:19 se postfix/smtpd[13824]: rec_put: type N len 45 data ------=_Ne
Jun 11 15:49:19 se postfix/smtpd[13824]: rec_put: type N len 0 data
Jun 11 15:49:19 se postfix/smtpd[13824]: rec_put: type X len 0 data
Jun 11 15:49:19 se postfix/smtpd[13824]: rec_put: type E len 0 data
Jun 11 15:49:19 se postfix/smtpd[13824]: vstream_fflush_some: fd 29 flush 3505
...
Jun 11 15:49:28 se postfix/smtpd[13824]: abort all milters
Jun 11 15:49:28 se postfix/smtpd[13824]: milter8_abort: abort milter unix:/klms/klms_milter_sock
Jun 11 15:49:28 se postfix/smtpd[13824]: disconnect event to all milters
Jun 11 15:49:28 se postfix/smtpd[13824]: milter8_disc_event: quit milter unix:/klms/klms_milter_sock
Jun 11 15:49:28 se postfix/smtpd[13824]: vstream_fflush_some: fd 26 flush 15
Jun 11 15:49:28 se postfix/smtpd[13824]: disconnect from vlad.ss.local[10.2.8.1] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
Jun 11 15:49:28 se postfix/smtpd[13824]: free all milters
Jun 11 15:49:28 se postfix/smtpd[13824]: free milter unix:/klms/klms_milter_sock

(всего в логе более 50 000 строк на это сообщение с вложением 3М)



SQUID, не загружает файлы на сервер, !*! silent79, (Др. сетевые сервисы / Linux) 09-Июн-21, 15:05  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Здравствуйте.
Установил для пробы REDOS (Centos 7). Все необходимые для меня сервисы настроил и запустил. И казалось, что можно было бы отправить "машинку" в "бой", как заметил, что через прокси сервер (squid) с клиентского компьютера не загружаются во внешний мир файлы более 900 кб.
Версия squid 5.0.3. Читал инструкцию. Установил request_body_max_size 0 kb - не помогает. В логах вижу вот такое tcp_miss_aborted/000 0 post.
Проблема с прокси сервером или с операционной системой в целом?


tc не видит маркированные пакеты, !*! a7lan, (Квоты, ограничения, QoS) 06-Июн-21, 19:47  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Есть сервер на Ubunut 18.04 (ядро 4.15). Два интерфейса объединены в мост. br_netfilter и xt_mark загружены.

Делаю
_____________________________________________
tc qdisc delete dev enp3s0f1 root
tc qdisc add dev enp3s0f1 root handle 1: htb
tc class add dev enp3s0f1 parent 1:0 classid 1:1 htb rate 10000mbit burst 15k  mtu 1470 quantum 1470
tc class add dev enp3s0f1 parent 1:1 classid 1:20 htb rate 10000mbit prio 00  quantum 1470
tc class add dev enp3s0f1 parent 1:20 classid 1:201 htb rate 100mbit ceil 3000mbit prio 1 burst 15k
tc qdisc add dev enp3s0f1 parent 1:201 handle 201: sfq limit 256 perturb 10 quantum 1470
tc filter add dev enp3s0f1 protocol ip parent 1:0 prio 1 handle 21 fw flowid 1:201


iptables -t mangle -F
iptables -t mangle -A POSTROUTING -m physdev --physdev-out  enp3s0f1 -m ndpi  --ssl  -j MARK --set-mark 21
__________________________________________________________


Выхлопы.

root@server:~# iptables -t mangle -L POSTROUTING -vn
Chain POSTROUTING (policy ACCEPT 286M packets, 306G bytes)
pkts bytes target     prot opt in     out     source               destination
  31M   34G MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            PHYSDEV match --physdev-out enp3s0f1 ndpi protocol ssl MARK set 0x15


root@server:~# tc -s -d -r filter show dev enp3s0f1
filter parent 1: protocol ip pref 1 fw chain 0
filter parent 1: protocol ip pref 1 fw chain 0 handle 0x15 classid 1:201

но в нужный класс трафик не попадает.
_____________________________________
tc -s class show dev enp3s0f1                                                                                                          

class htb 1:1 root rate 10Gbit ceil 10Gbit burst 13750b cburst 0b
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
lended: 0 borrowed: 0 giants: 0
tokens: 187 ctokens: 15

class htb 1:20 parent 1:1 rate 10Gbit ceil 10Gbit burst 0b cburst 0b
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
lended: 0 borrowed: 0 giants: 0
tokens: 15 ctokens: 15

class htb 1:201 parent 1:20 leaf 10: prio rate 100Mbit ceil 3Gbit burst 15337b cburst 1125b
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
lended: 0 borrowed: 0 giants: 0
tokens: 19187 ctokens: 62
_______________________________________________


Второй день голову ломаю. Что ему не нравится?

UPD. Только что обнаружилось, что tc не видит вообще никакой трафик. Iptables не причем. То есть добавление

tc filter add dev enp3s0f1 parent 1:0 protocol ip u32 match ip sport 443 0xffff flowid 1:201

так же не дает результата.

 
Пометить прочитанным Создать тему
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Архив | Избранное | Мое | Новое | | |



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру