VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

netqmail-1.06 + MDaemon + Debian 2.6.32-5-amd64

Общие вопросы по операционной системе

Модераторы: april22, Zavr2008

Аватара пользователя
defekt
Сообщения: 391
Зарегистрирован: 29 сен 2011, 10:41

netqmail-1.06 + MDaemon + Debian 2.6.32-5-amd64

Сообщение defekt »

Схема следующая:
1. Локальная сеть 192.168.1.0/24
2. В локальной сети два почтовика - виндовый MDaemon (192.168.1.200) и netqmail-1.06 (192.168.1.201) на Debian Squeeze.
3. MDaemon включён как релай для netqmail (скрины внизу), т.е. MDaemon явно разрешает пересылку от netqmail.
4. netqmail собран из исходников. Все службы работают, запускаются и выгружаются корректно. Ошибок при сборке нет:

Код: Выделить всё

root@sag:/var/qmail# sh inst_check
Congratulations, your LWQ installation looks good!
5. "Ручной" тест supervise-скриптов проходит успешно, например:

Код: Выделить всё

root@sag:/var/qmail/supervise/qmail-smtpd# svc -d .
root@sag:/var/qmail/supervise/qmail-smtpd# ./run
tcpserver: status: 0/20
6. Проверка и убийство "левых" сервисов (inetd, exim4), прослушивающих 25 порт прошла успешно (выхлоп пустой):

Код: Выделить всё

netstat -a | grep smtp | grep -v grep
7. Запуск сервера:

Код: Выделить всё

root@sag:/var/qmail/supervise/qmail-smtpd# qmailctl stat
/service/qmail-send: up (pid 2272) 19 seconds
/service/qmail-send/log: up (pid 2271) 19 seconds
/service/qmail-smtpd: up (pid 2274) 19 seconds
/service/qmail-smtpd/log: up (pid 2275) 19 seconds
8. Пока ни BIND9, ни djbdns в системе нет. Использую hosts как резолвер

Код: Выделить всё

root@sag:/etc# cat hosts
127.0.0.1       localhost
127.0.1.1       sag.ххх.poltava.ua  sag
192.168.1.200   yyy.com.ua
9. Для /etc/tcp.smtp добавил запись, чтобы дать клиенту доступ к пересылке:

Код: Выделить всё

127.:allow,RELAYCLIENT=""
192.168.1.200:allow,RELAYCLIENT=""
Пересобрал базу:

Код: Выделить всё

qmailctl cdb
10. В /var/qmail/control/rcpthosts засунул:

Код: Выделить всё

sag.local
yyy.com.ua
192.168.1.200
11. Файловая и модульная структура сделана по мануалу, т.е. симлинки все сделаны куда надо.

Код: Выделить всё

root@sag:/var/qmail/supervise/qmail-smtpd# ps waux | grep qmail
root      1293  0.0  0.0   3724   392 ?        S    10:39   0:00 supervise qmail-send
root      1295  0.0  0.0   3724   396 ?        S    10:39   0:00 supervise qmail-smtpd
qmaill    2447  0.0  0.0   3736   384 ?        S    12:25   0:00 /usr/local/bin/multilog t /var/log/qmail
qmails    2448  0.0  0.0   3908   484 ?        S    12:25   0:00 qmail-send
qmaild    2452  0.0  0.0   5984   680 ?        S    12:25   0:00 /usr/local/bin/tcpserver -v -R -l sag.local -x /etc/tcp.smtp.cdb -c 20 -u 1003 -g 1002 0 smtp /var/qmail/bin/qmail-smtpd
qmaill    2453  0.0  0.0   3736   384 ?        S    12:25   0:00 /usr/local/bin/multilog t /var/log/qmail/smtpd
root      2455  0.0  0.0   3868   424 ?        S    12:25   0:00 qmail-lspawn ./Mailbox
qmailr    2456  0.0  0.0   3876   456 ?        S    12:25   0:00 qmail-rspawn
qmailq    2457  0.0  0.0   3856   436 ?        S    12:25   0:00 qmail-clean
root      2573  0.0  0.0  10164   876 pts/1    S+   12:30   0:00 grep qmail
Задача: переслать с netqmail на MDaemon письмо:

Код: Выделить всё

echo to: user@yyy.com.ua | /var/qmail/bin/qmail-inject
Письмо отправлено, но на MDaemon'овский ящик НЕ приходит, письмо в очереди netqmail:

Код: Выделить всё

root@sag:/var/qmail/supervise/qmail-smtpd# qmailctl stat
/service/qmail-send: up (pid 2448) 540 seconds
/service/qmail-send/log: up (pid 2447) 540 seconds
/service/qmail-smtpd: up (pid 2452) 540 seconds
/service/qmail-smtpd/log: up (pid 2453) 540 seconds
messages in queue: 9
messages in queue but not yet preprocessed: 0
Куда копать? :|
Вложения
Зона для траст-хостов (IP)
Зона для траст-хостов (IP)
Релай ОТКЛЮЧЁН, кроме netqmail!
Релай ОТКЛЮЧЁН, кроме netqmail!
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: netqmail-1.06 + MDaemon + Debian 2.6.32-5-amd64

Сообщение Vlad1983 »

заглянуть в логи mta
в край поснифить траф по 25 порту
ЛС: @rostel
ded
Сообщения: 15618
Зарегистрирован: 26 авг 2010, 19:00

Re: netqmail-1.06 + MDaemon + Debian 2.6.32-5-amd64

Сообщение ded »

Если ни BIND9, ни djbdns в системе нет, то hosts как резолвер - этого не достточно. Он не может сообщить о МХ записях для домена, куда посылается письмо.
Аватара пользователя
defekt
Сообщения: 391
Зарегистрирован: 29 сен 2011, 10:41

Re: netqmail-1.06 + MDaemon + Debian 2.6.32-5-amd64

Сообщение defekt »

Vlad1983, в логи гняну... логичное замечание, может там и кроется тёмная сила, связанная с dns...
ded'овское замечание учту. Так и думал, что hosts не достаточно! Придётся поднимать локальную зону dns (не силён особо в конфигах БИНД).
Кстати, есть повод испытать Бернштэйный днс, да только бы собрался!
По горячему: есть пакет dot-forward ("приблудка" для qmail). Так вот, там тоже есть конструкция, чтобы форвардить письма на указаные адреса. Всё бы хорошо, но, при попытке собрать из сорсов, вылетает ошибка:

Код: Выделить всё

collect2: ld terminated with signal 11 [Ошибка сегментирования]
/usr/bin/ld: make: *** [auto-str] Ошибка 1
Говоря о этом выхлопе, у меня складывается впечатление, что опять траблы с параметром softlimit. Почему-то ошибка сегментирования (по английски: "Segmentation Fault") и здесь меня преследует. Связано это как-то с 64-разрядностью сервака?
Когда я собрал netqmail и пока не увеличил значение до 7000000!!! (в мануале писали про 3000000 и 4000000), у меня не стартовал сервис /var/qmail/bin/qmail-smtpd, т.е. он вроде и стартовал, то работал не более 1 секунды. Где что рыть при сборке и компилянии dot-forward - пока не знаю.
Вот кусок кода скрипта запуска /var/qmail/bin/qmail-smtpd, где пришлось просто с потолка загнать 7000000 (может кому и пригодится):

Код: Выделить всё

exec /usr/local/bin/softlimit -m 7000000 \
    /usr/local/bin/tcpserver -v -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \
        -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /var/qmail/bin/qmail-smtpd 2>&1
И последнее: на Linux Mint (32bit, Julia) dot-forward тоже не собрался:

Код: Выделить всё

//lib/libc.so.6: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [auto-str] Ошибка 1
Одним словом, UNIX-way... :mrgreen:
Отпишусь о результатах.
Аватара пользователя
defekt
Сообщения: 391
Зарегистрирован: 29 сен 2011, 10:41

Re: netqmail-1.06 + MDaemon + Debian 2.6.32-5-amd64

Сообщение defekt »

Собственные корневые сервера имен
BIND9 при nslookup ругнулся на то, что у меня траблы с корневыми серверами (BIND9 стоит на сервере, где и astersk+netqmail). Понятно, что выхода в Интернет нет, вот и ругается.
Читаю параллельно мануал djbdns:
Если вы имеете изолированную сеть (что подразумевает сеть без соединения с Internet) и имеете запущенные сервисы, которые требуют работающего DNS, вы должны фальсифицировать структуру, на которой основан Интернет. Главный момент здесь — то, что вы должны обеспечить "корневые сервера", которые являются начальным пунктом для каждого процесса разрешения DNS-имени (DNS resolving process). Как минимум, вы должны обеспечить один сервер, который будет являться полномочным для корня пространства имен DNS (root of the DNS namespace). К счастью, это легко в случае с tinydns. Просто определите сервер имен для "." в вашем файле data.
./add-ns . 1.2.3.1
Вот мне понравилось здесь выражение "К счастью...". У меня же это патологически ассоциируется с леностью моего мозга и "хочется проще, быстрей да за пивом [ключевое слово]". :mrgreen:
Как фальсифицировать корневые сервера в BIND9? Может просто закомментить в конфигах БИНДа?
У Бернштейна это реализовано как бы проще и прозрачнее. Завтра в бой, собирать, компилять...
Может для локального варианта таки логичнее прикрутить djbdns?
ded
Сообщения: 15618
Зарегистрирован: 26 авг 2010, 19:00

Re: netqmail-1.06 + MDaemon + Debian 2.6.32-5-amd64

Сообщение ded »

Отредактировать файл /etc/namedb/namedb.root
Например так

Код: Выделить всё

;
.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     127.0.0.1
;
; FORMERLY NS1.ISI.EDU
;
.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     127.0.0.1
;
; FORMERLY C.PSI.NET
;
.                        3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     127.0.0.1
;
; FORMERLY TERP.UMD.EDU
;
.                        3600000      NS    D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.      3600000      A     127.0.0.1
;
; FORMERLY NS.NASA.GOV
;
.                        3600000      NS    E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.      3600000      A     127.0.0.1
и т.д.
Аватара пользователя
defekt
Сообщения: 391
Зарегистрирован: 29 сен 2011, 10:41

Re: netqmail-1.06 + MDaemon + Debian 2.6.32-5-amd64

Сообщение defekt »

Ух... прописал я везде в db.root значения 127.0.0.1 (БИНД в "песочницу" не сажал. Выхода в Интернет нет).
Ещё что-то не то... Ошибок нет при рестарте бинда, а вот здесь таки есть:

Код: Выделить всё

root@sag:/etc/bind# nslookup
> set type=mx
> 192.168.1.201
;; Got SERVFAIL reply from 127.0.0.1, trying next server
;; Got SERVFAIL reply from 127.0.0.1, trying next server
Server:         192.168.1.201
Address:        192.168.1.201#53

** server can't find 201.1.168.192.in-addr.arpa: SERVFAIL
SOA неправильно прописываю? Так понимаю, не находит ответ от 127.0.0.1 и пытается искать "next server"?
Запускаю dig:

Код: Выделить всё

root@sag:/etc/bind# dig sag.smith mx

; <<>> DiG 9.7.3 <<>> sag.smith mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 39556
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;sag.smith.                     IN      MX

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Dec 28 13:47:00 2011
;; MSG SIZE  rcvd: 27
:roll:
Файл /etc/hosts:

Код: Выделить всё

 127.0.0.1          localhost
          192.168.1.201   sag.smith
Файл /etc/resolv.conf:

Код: Выделить всё

 search sag.smith
                    domain sag.smith
                    nameserver 127.0.0.1
                    nameserver 192.168.1.201
Файл db.smith:

Код: Выделить всё

;
; BIND reverse data file for broadcast zone
;
$TTL    604800
@       IN      SOA     smith. root.smith. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
        NS                      sag.smith.
        A                        127.0.0.1
        MX           10       sag.smith.

Файл db.smith.rev

Код: Выделить всё

;
; BIND reverse data file for broadcast zone
;
$TTL    604800
@       IN      SOA     smith. root.smith. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
        IN      NS      localhost.
        IN      PTR    sag.smith.
        MX     PTR   sag.smith.
Кусок с локальными зонами /etc/named.conf:

Код: Выделить всё

zone "smith."           {
        type master;
        file "/etc/bind/db.smith";
};

zone "1.168.192.in-addr.arpa" {
        type master;
        file "/etc/bind/db.smith.rev";
};
ded
Сообщения: 15618
Зарегистрирован: 26 авг 2010, 19:00

Re: netqmail-1.06 + MDaemon + Debian 2.6.32-5-amd64

Сообщение ded »

Добивайтесь внятного response на команды
dig mx sag.smith
dig soa sag.smith

dig mx sag.smith @127.0.0.1
dig soa sag.smith @127.0.0.1

dig mx sag.smith @192.168.1.201
dig soa sag.smith @192.168.1.201
ys1797
Сообщения: 240
Зарегистрирован: 28 июн 2011, 17:59

Re: netqmail-1.06 + MDaemon + Debian 2.6.32-5-amd64

Сообщение ys1797 »

А если так:

Код: Выделить всё

;
$ORIGIN .
$TTL    604800
smith.       IN      SOA     localhost. root.smith. (
                              2         ; Serial
                             604800         ; Refresh
                              86400         ; Retry
                            2419200         ; Expire
                             604800 )       ; Negative Cache TTL
    ;
            NS                      localhost.
            A                        127.0.0.1
            MX           10       sag.smith.
$ORIGIN  smith.
sag       A                        127.0.0.1
sag       MX                      sag.smith.           


Про обратную зону вообще молчу, там вообще синтакс еггог должен быть.
ded
Сообщения: 15618
Зарегистрирован: 26 авг 2010, 19:00

Re: netqmail-1.06 + MDaemon + Debian 2.6.32-5-amd64

Сообщение ded »

Вообсче лучше в Webmin'e делать конфиги, синтаксис BIND капризный, руками всегда нет-нет да и ошибёшься.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH