9. Настройка серверов
9.1 Как мне запустить
qmail-smtpd под управлением tcpserver?
inetd ненадежен при высоких нагрузках, отключает службы на 10
минут. Также мне хотелось бы иметь лучшее, чем сейчас, ведение логов соединений.
Ответ:
- Установите пакет
ucspi-tcp, (http://pobox.com/~djb/ucspi-tcp.html) - Удалите строку с
smtpиз/etc/inetd.conf, - и поместите строку
в скрипт загрузки системы. Заменитеtcpserver -v -u 7770 -g 2108 0 smtp /var/qmail/bin/qmail-smtpd \ 2>&1 | /var/qmail/bin/splogger smtpd 3 &
7770на пользовательский идентификатор qmaild (qmaild uid), и замените2108на идентификатор группы nofiles (nofiles gid). Не забудьте про&в конце строки. Изменения наступят при следующей загрузке системы.
По умолчанию, tcpserver разрешает до 40 одновременных процессов
qmail-smtpd. Чтобы увеличить этот предел до 400, используйте
tcpserver -c 400. Чтобы следить, кто соединялся и на какой период,
запустите (на двух строках)
tcpserver -v -u 7770 -g 2108 0 smtp /var/qmail/bin/qmail-smtpd \
2>&1 | /var/qmail/bin/splogger smtpd 3 &
9.2 Как мне разрешить отдельным пользователям отсылать сообщения через мой SMTP-сервер?
qmail-smtpd возвращает ошибку ``sorry, that domain isn't
in my list of allowed rcpthosts (#5.7.1)'' (``извините, этого
домена нет в моем списке разрешенных для релея хостов (#5.7.1)'') для
сообщений к любому домену, который не прописан в
/var/qmail/control/rcpthosts.
Ответ:
Этот ответ подразумевает, что Вы запускаете qmail-smtpd под
управлением tcpserver, смотрите вопрос Как
мне запустить qmail-smtpd под управлением tcpserver?.
Создайте /etc/tcp.smtp содержащий
1.2.3.6:allow,RELAYCLIENT=""
127.:allow,RELAYCLIENT=""
для разрешения релея от клиентов с IP-адресами 1.2.3.6 и
127.*.
Выполните
tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
Вставьте
-x /etc/tcp.smtp.cdb
после tcpserver в скрипте загрузки системы. Изменения наступят
после перегрузки системы.
Если Вы сделает любые изменения в /etc/tcp.smtp, Вы должны
будете выполнить
tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
снова. Вам не потребуется перегружать tcpserver.
9.3 Как мне исправить сообщения от неверных SMTP-клиентов?
Этот ответ подразумевает, что Вы запускаете qmail-smtpd под
управлением tcpserver, как в вопросе Как
мне запустить qmail-smtpd под управлением tcpserver? и
tcpserver разрешил этим клиентам релей, смотрите вопрос Как мне
разрешить отдельным пользователям отсылать сообщения через мой SMTP-сервер?.
Три шага.
- Поместите
вfixme:fixup
/var/qmail/control/virtualdomains, и скажите qmail прочесть его как в вопросе Как мне сказать qmail перечитать locals и virtualdomains?. - Поместите
в| bouncesaying 'Permission denied' [ "@$HOST" != "@fixme" ] | qmail-inject -f "$SENDER" -- "$DEFAULT"
~alias/.qmail-fixup-default. Вставьте@fixmeвRELAYCLIENTв соответствующих строках/etc/tcp.smtp:1.2.3.6:allow,RELAYCLIENT="@fixme"
- В заключение, выполните
чтобы уведомитьtcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
tcpserverоб изменении. Вам не нужно перегружатьtcpserver.
Альтернативный способ заключается в использовании экспериментальной программы
ofmipd из пакета mess822, http://pobox.com/~djb/mess822.html.
ofmipd включает в себя встроенную базу данных перезаписи поля From
и является более мощной по возможности перезаписи, чем
qmail-inject.
9.4 Как мне слать сообщения с помощью SMTP на авторизовавшийся диалап-хост когда он коннектится к SMTP?
Я слышал об ETRN и AutoTURN.
Ответ:
Этот ответ подразумевает, что Вы запускаете qmail-smtpd под
управлением tcpserver, смотрите вопрос Как
мне запустить qmail-smtpd под управлением tcpserver?.
Установите serialmail ( http://pobox.com/~djb/serialmail.html
и читайте /usr/local/doc/serialmail/AUTOTURN.
AutoTURN работает с клиентами, которые умеют посылать команду ETRN. Он также работает с клиентами, которые не посылают ETRN.
9.5 Как мне установить qmail-pop3d?
Мой старый POP-сервер работает с доставкой в mbox; я хотел бы переключиться на доставку в maildir.
Ответ:
Установите ucspi-tcp ( http://pobox.com/~djb/ucspi-tcp.html
) и checkpassword ( http://pobox.com/~djb/checkpwd.html
) Поместите
tcpserver 0 110 /var/qmail/bin/qmail-popup YOURHOST \
/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir &
(на двух строках) в скрипт загрузки системы; замените YOURHOST
на полное доменное имя Вашего хоста. Установите доставку в Maildir для
пользователей, кто хочет читать почту через POP. Новый сервис стартует после
перегрузки системы.
Замечание по безопасности: Вам следует делать это только в безопасных сетях; в противном случае злоумышленники могут подслушать и украсть пароли.
Есть различные программы, которые могут заменить checkpassword.
Смотрите http://pobox.com/~djb/qmail/toaster.html
для более подробной информации.
9.6 Как мне установить qmail-qmqpd?
Я хотел бы разрешить быструю постановку в очередь исходящей почты от авторизованных клиентов.
Ответ:
Установите ucspi-tcp, http://pobox.com/~djb/ucspi-tcp.html.
Создайте /etc/qmqp.tcp в формате tcprules чтобы
разрешить доступ с авторизованных хостов. Например, если организация очереди
разрешена для 1.2.3.*:
1.2.3.:allow
:deny
Преобразуйте /etc/qmqp.tcp в /etc/qmqp.cdb:
tcprules /etc/qmqp.cdb /etc/qmqp.tmp < /etc/qmqp.tcp
Поместите строку
tcpserver -x /etc/qmqp.cdb -u 7770 -g 2108 0 628 /var/qmail/bin/qmail-qmqpd &
в скрипт загрузки системы; замените 7770 на 2108
qmaild uid и nofiles gid Вашей системы. Смотрите вопрос Как
мне запустить qmail-smtpd под управлением tcpserver? для большей информации.
9.7 Как мне установить qmail-qmtpd?
Установите ucspi-tcp, http://pobox.com/~djb/ucspi-tcp.html.
Поместите строку
tcpserver -u 7770 -g 2108 0 209 /var/qmail/bin/qmail-qmtpd &
в скрипт загрузки системы; замените 7770 на qmaild uid и
2108 на nofiles gid Вашей системы. Не забудьте о
заключительной &. Новый сервис стартует после перегрузки
системы.
9.8 Как мне записывать весь входящий SMTP-трафик?
Этот ответ подразумевает, что Вы запускаете qmail-smtpd под
управлением tcpserver ( как это сделать смотрите в вопросе Как
мне запустить qmail-smtpd под управлением tcpserver? ) используется
tcpserver 0.84 или выше. Все сообщения о входящих соединениях
tcpserver будут посылаться в syslog.
Только вставьте recordio перед qmail-smtpd. Трафик
SMTP будет посылаться в syslog.
Вперед Return Содержание