LINUX.ORG.RU

Сообщения citmen

 

Настройка устанавливаемого пакета в Ubuntu

Здравствуйте!
В Ubuntu необходимо установить пакет snmpd с опцией --enable-perl-embedded.
Во FreeBSD это делается командой make config в папке устанавливаемого порта (/usr/ports/net-mgmt/net-snmp)
Как это можно сделать в Ubuntu?
Установка пакета выполняется командой:

apt-get install snmpd
Мне нужно в Ubuntu в Perl добавить модуль NetSNMP::TrapReceiver, модуль не устанавливается, возможно по причине неправильно установленного snmpd. Во FreeBSD модуль добавился. Спасибо!

 , ,

citmen
()

Голосовое оповещение через 3G-модем

Здравствуйте!
Настраиваю голосовое оповещение, как описано в статье:

https://habrahabr.ru/post/192930/

Модем - Huawei E1550. Прошивка - 11.608.14.15.311
После того, как абонент поднимает трубку, он слышит треск и шумы вместо содержимого звукового файла.
Длительность шумов и тресков соответствует продолжительности звукового файла.
Смысл в том, что порт 3G-модема (/dev/ttyUSB1) сначала переводится в голосовой режим:

AT^CVOICE=0
Затем после поднятия трубки в порт дается команда:
AT^DDSETEX=2
После этого в порт выдается звуковой файл порциями по 320 байт с задержкой 0.02 секунды.
Звуковой файл подготовлен в формате WAV (PCM, 8000Гц, 16bit, Mono)
После открытия звукового файла, указатель устанавливаю в позицию 44 (пропускаю заголовок wav)
Где ошибаюсь? Спасибо!

 , , ,

citmen
()

скорость порта ttyUSB

Добрый день!
OC:Debian 3.16.36-1+deb8u2.
К серверу подключен 3G-модем Huawei E1550, версия прошивки - 11.608.14.15.311
Модем видится как 3 устройства:

/dev/ttyUSB0  /dev/ttyUSB1 /dev/ttyUSB2
Ответ на команду stty -F /dev/ttyUSB1:
speed 9600 baud; line = 0;
Пытаюсь установить скорость командой:
stty -F /dev/ttyUSB1 115200
В ответ получаю:
stty: /dev/ttyUSB1: cannot perform all requested operations
Что нужно сделать, чтобы установить другую скорость порта, отличную от 9600? Спасибо!

 ,

citmen
()

Проксирование запросов с помощью mod_rewrite

Здравствуйте!

Есть машина FreeBSD+Apache (192.168.0.1). Необходимо осуществить отображение информации с другого сайта на другой машине (192.168.0.2) при обращении к 192.168.0.1, т.е. выполнить проксирование запросов. Фрагмент httpd.conf:

LoadModule rewrite_module libexec/apache22/mod_rewrite.so
LoadModule proxy_module libexec/apache22/mod_proxy.so

RewriteEngine On
RewriteRule http://192.168.0.1/link1 http://192.168.0.2/link2 [P]
При обращении на
http://192.168.0.1/link1
выдается ошибка 404, проксирования не происходит. Укажите на ошибку. Спасибо!

 ,

citmen
()

Интеграция OPENLDAP и AD

Здравствуйте!

Есть контроллер домена (Windows 2008, dc1.dom.lan, 192.168.0.1) и почтовый сервер (FreeBSD+mysql+postfix+dovecot, 192.168.0.10). Адресную книгу часть почтовых клиентов получают из AD (LDAP). У другой части клиентов контроллер домена недоступен и они не могут подключиться к адресной книге. Необходимо на почтовом сервере настроить openldap-server как прокси к AD, чтобы почтовые клиенты, у которых нет прямого доступа к контроллеру домена, при настройке адресной книги указывали адрес почтового сервера и получали список контактов через него. Других функций openldap-server не несет.

Все пользователи AD хранятся в OU (Organizational Unit) = Users-LAN

Для доступа openldap-server к AD в Active Directory создана учетная запись readldap с минимальными правами (cn=Users)

Попытка реализации основана на статье (большое спасибо zgen!):
http://windowsitpro.com/networking/integrate-active-directory-and-openldap

Содержимое slapd.conf

include	/usr/local/etc/openldap/schema/core.schema
include	/usr/local/etc/openldap/schema/cosine.schema
include	/usr/local/etc/openldap/schema/inetorgperson.schema
include	/usr/local/etc/openldap/schema/nis.schema

pidfile		/var/run/openldap/slapd.pid
argsfile	/var/run/openldap/slapd.args

modulepath	/usr/local/libexec/openldap
moduleload	back_ldap
moduleload	back_bdb

database	ldap
suffix		"ou=Users-LAN,dc=dom,dc=lan"
subordinate
rebind-as-user
uri		"ldap://dc1.dom.lan/"
chase-referrals	yes

database	bdb
suffix		"dc=dom,dc=lan"
rootdn		"cn=readldap,cn=Users,dc=dom,dc=lan"
rootpw		"passldap"
directory	/var/db/openldap-data
index	objectClass	eq,pres
index	ou,cn,mail,surname,givenName	eq,pres,sub
index	uid		eq,pres,sub
Openldap-server запускается. В почтовом клиенте в адресной книге LDAP указываю адрес почтового сервера (ip 192.168.0.10, порт 389), почтовый клиент не ругается, но контакты из AD не отображает.

Укажите, пожалуйста, где ошибка или как ее найти. К сожалению, пока ldapsearch свободно не владею. Спасибо!

 , ,

citmen
()

Форвардинг трафика LDAP

Здравствуйте!

Вот есть у меня контроллер домена (Windows 2008, 192.168.0.1) и почтовый сервер (FreeBSD, 192.168.0.10).
Адресную книгу часть клиентов получают из AD (LDAP). У другой части клиентов контроллер домена недоступен и они не могут подключиться к адресной книге. Можно ли на FreeBSD как-то завернуть трафик, чтобы клиенты могли тоже увидеть адресную книгу?

Попытался на FreeBSD сделать так:

ipfw add 100 fwd 192.168.0.1,389 tcp from any to 192.168.0.10 dst-port 1234
В почтовом клиенте в настройках адресной книги прописал порт подключения 1234. Книга не подключается.
Вопрос, можно ли изобразить такой фокус? Спасибо!

 , ,

citmen
()

postfix помещает отлуп о превышении квоты получателя в очередь

Здравствуйте!

Столкнулся со следующей проблемой. Есть 2 почтовых сервера postfix 2.11.3 + dovecot 2.2.15 (mail1.dom1.lan1 и mail2.dom2.lan2). Настроена пересылка почты между ними. На обоих серверах для почтовых ящиков настроена индивидуальная квота (mysql).

Все прекрасно работает до тех пор, пока какой-нибудь ящик не достигнет квоты. И тогда при попытке доставки письма в такой ящик, письмо до получателя не доходит, а отлуп для отправителя помещается в очередь.

Например, user1@dom1.lan1 отправляет письмо пользователю user2@dom2.lan2, у которого достигнут предел квоты.

На сервере mail2.dom2.lan2 в логе остается запись:

Dec  3 14:56:49 mail2 postfix/smtpd[3947]: NOQUEUE: reject: RCPT from mail1[ip1.ip1.ip1.ip1]: 452 4.7.1 <user2@dom2.lan2>: Recipient address rejected: Mailbox is over quota; from=<user1@dom1.lan1> to=<user2@dom2.lan2> proto=ESMTP helo=<mail1.dom1.lan1>

На сервере mail1.dom1.lan1 в логе остается запись:

Dec  3 14:56:49 mail1 postfix/qmgr[4245]: 1F35175912: from=<user1@dom1.lan1>, size=3097, nrcpt=1 (queue active)
Dec  3 14:56:49 mail1 postfix/smtp[4343]: 1F35175912: to=<user2@dom2.lan2>, relay=mail2.dom2.lan2[ip2.ip2.ip2.ip2]:25, delay=953, de
lays=952/0.08/0.05/0.06, dsn=4.7.1, status=deferred (host mail2.dom2.lan2[ip2.ip2.ip2.ip2] said: 452 4.7.1 <user2@dom2.lan2>: Recip
ient address rejected: Mailbox is over quota (in reply to RCPT TO command))
На сервере mail2.dom2.lan2 postfix проверяет квоту ящика. В main.cf:
smtpd_recipient_restrictions = check_recipient_access mysql:/usr/local/etc/postfix/quotas.cf
В quotas.cf:
hosts = localhost
user = name
password = secret
dbname = databasename
query = SELECT '452 Mailbox is over quota' FROM mailbox, quota2 WHERE (mailbox.username = '%s') AND (quota2.username = '%s') AND (quota2.bytes >= mailbox.quota) AND (mailbox.quota > 0)
В итоге выходит, что проверка квоты ящика получателя выполняется, письмо получателю не доставляется (превышена квота), отлуп отправителю формируется, но не доставляется (помещается в очередь). Почему так происходит, понять не могу. Есть предположение, что после формирования отлупа сервер не знает, кому его доставить. Т.е. адрес получателя отлупа должен быть адресом отправителя письма, а этого видимо не происходит. Но как это проверить? Буду рад, если знающие люди подскажут, где здесь ошибка. Спасибо!

 , ,

citmen
()

Уведомления о превышении квоты в Dovecot

Здравствуйте!

Есть почтовый сервер Postfix + Dovecot.
Пользователи и их квоты хранятся в базе Mysql.
В Dovecot 2.2.15 настроил отправку уведомлений владельцу ящика о приближении к значению квоты.
Настраивал согласно: http://wiki2.dovecot.org/Quota/Configuration

Пока ящик не заполнен на 100% пользователь получает уведомления о заполнении ящика на 75%, 85%, 95%. Когда ящик заполнен на 100%, письма к пользователю уже не доходят, а помещаются в очередь. При этом ни отправитель, ни получатель уведомлений не получает. Если пользователь почистит свой ящик, то письмо из очереди будет доставлено ему в ящик.

15-lda.conf

quota_full_tempfail = yes
rejection_subject = Rejected: %s
rejection_reason = Your message to <%t> was automatically rejected:%n%r
Как сделать так, что если ящик пользователя заполнен на 100%, то письмо для него не помещалось бы в очередь, а отвергалось, при этом отправитель получил бы уведомление, что "доставить письмо невозможно, исчерпан лимит квоты"?
Спасибо!

 ,

citmen
()

smtp авторизация на сервере postfix

Здравствуйте!

В локальной сети есть 2 почтовых сервера. Старый (sendmail+qpopper) и новый (postfix+dovecot+mysql). Настроена пересылка почты между ними (почтовые домены разные). На новом сервере настроил smtp-авторизацию и теперь клиенты могут отправлять почту, только если в клиенте нового сервера включена опция:

SMTP-серверу требуется проверка подлинности
Аналогично серверу для входящей почты
Но теперь если клиент старого сервера отправляет письмо клиенту нового сервера, то в ответ получает ошибку:
5.7.1 <user@dom.lan>: Sender address rejected: not logged in
Логично! Ведь старый сервер для нового является неавторизованным клиентом. В main.cf следующее:
mynetworks = xx.xx.xx.xx/16
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_sender_restrictions = reject_sender_login_mismatch
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_client_restrictions = permit_sasl_authenticated
Оба сервера находятся в сети mynetworks. Как сказать postfix'у, чтобы он не требовал авторизации от старого сервера? Спасибо!

 , ,

citmen
()

Dovecot 2.2.15 и автосоздание imap-папок с русскими именами

Здравствуйте!

Пытаюсь настроить в Dovecot автосоздание imap-папок с русскими именами. Чтобы в клиенте Microsoft Outlook 2007 папки отображались не как Sent и Trash, а как Отправленные и Удаленные.

Сначала руками в клиенте Microsoft Outlook 2007 создаю папку Отправленные и смотрю, какая папка создалась на сервере. Результат такой:

.&BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-
Удаляю почтовый ящик на сервере, в файл 90-plugin.conf добавляю:
namespace inbox {
   mailbox &BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1- {
      auto = subscribe
      special_use = \Sent
   }
}
Перезагружаю Dovecot, запускаю Microsoft Outlook 2007, в нем появилась папка с именем
&BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-
А на сервере в почтовом ящике создалась папка:
&-BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-
Разница с ручным вариантом создания папки Отправленные в том, что в имени папки на сервере при автосоздании после символа «&» появился символ "-", хотя в почтовом клиенте после символа «&» символа "-" в имени папки нет.

Как правильно настроить автосоздание папок с русскими именами? Спасибо!

 autocreate, ,

citmen
()

Dovecot + AD + Прозрачная авторизация

Добрый день!

Настроил прозрачную авторизацию клиентов Dovecot в AD. Как настраивал и что получилось написано здесь:

https://www.linux.org.ru/forum/admin/10985364
Имя пользователя в домене и его адрес электронной почты не совпадают.
Например, login - Иванов, email - ivanov@dom.lan
Почтовый клиент Microsoft Outlook.

Если в поле ПОЛЬЗОВАТЕЛЬ почтового клиента написать адрес электронной почты авторизованного в AD пользователя - ivanov@dom.lan и подключиться к Dovecot, получится то, что мне и надо: на почтовом сервере создастся почтовый ящик ivanov. Но если указать несуществующий почтовый ящик или адрес электронной почты другого пользователя, то все равно произойдет подключение к Dovecot.

Все пользователи AD считаются для почтового сервера виртуальными.
Все почтовые ящики принадлежат реальному пользователю vmail.

Оставить поле ПОЛЬЗОВАТЕЛЬ пустым Micorosft Outlook не позволяет.

Вопрос: можно ли сделать какую-то проверку, чтобы в поле ПОЛЬЗОВАТЕЛЬ можно было написать только адрес электронной почты авторизованного в данный момент в AD пользователя? Также Dovecot не должен принимать соединение, если адреса электронной почты не существует в AD.

Именно так у меня получилось настроить, если клиенты Dovecot авторизовались в AD по LDAP, но через LDAP не получилось сделать прозрачную авторизацию.
Спасибо!

 , ,

citmen
()

Прозрачная авторизация клиентов Dovecot

Здравствуйте!

Исходные данные:
Домен (dom.lan): Microsoft Windows 2008
Почтовый сервер (mail.dom.lan): FreeBSD 10.0+Postfix 2.11.1+Dovecot 2.2.15
На почтовом сервере настроена Samba 3.6.24, является членом домена, предоставляет прозрачный доступ к сетевым ресурсам, используя winbind.
Т.е. пользователям, которые авторизовались в домене, не приходится повторно вводить доменный пароль, чтобы получить доступ к сетевому ресурсу.

Команды:

wbinfo -t 
wbinfo -p 
wbinfo -u
wbinfo -g 
id real_domain_user
getent group 
getent passwd
отрабатывают правильно, выводя информацию о пользователях и группах домена.

Задача: настроить прозрачную авторизацию клиентов Dovecot. Т.е. сделать так, чтобы почтовый клиент забирал почту не с помощью пароля, указанного в почтовом клиенте, а на основе существующей доменной сессии (пароли пользователей в домене периодически подлежат замене).

Подозреваю, что это можно реализовать, используя Samba+PAM+Winbind. Делал так:

Создал файл /etc/pam.d/dovecot следующего содержания:
auth    required    /usr/local/lib/pam_winbind.so   try_first_pass 

Конфиги dovecot:

10-auth.conf
disable_plaintext_auth = no  
auth_username_format = %u    
auth_mechanism = plain       
!include auth-static.conf.ext

auth-static.conf.ext
passdb {
   driver = pam
   args = dovecot
}

userdb {
  driver = static
  args = uid=vmail gid=vmail home=/usr/home/vmail/%d/%u allow_all_users=yes
}
10-ssl.conf
ssl = no
В настройках почтового клиента Microsoft Outlook в поле ПОЛЬЗОВАТЕЛЬ пишу (user - имя пользователя в домене, user@dom.lan - это значение поля UserPrincipalName в AD):
user@dom.lan
В почтовом клиенте поле пароль не заполняю (ведь это и есть цель!). В итоге, после попытки получить почту, в /var/log/maillog вижу следующее:
Oct 30 08:29:11 mail dovecot: auth-worker(4558): pam(user@dom.lan,<ip клиента>): pam_authenticate() failed: authentication error (password mismatch?) (given password: )
Я так понимаю, что пароль предоставлен не был и аутентификация не случилась. Находил в Интернете упоминания, что такая схема работает, но, к сожалению без подробностей. Все, что нашел - реализовал, однако этого недостаточно. Как сделать так, чтобы был предоставлен пароль текущей доменной сессии? Чего именно не хватает или где у меня ошибка пока не понял. Прошу помочь и направить в нужном направлении. Спасибо!

 , , , ,

citmen
()

Авторизация KERBEROS

Здравствуйте, уважаемые форумчане! Решил обратиться за помощью и советом.

Задача: настроить почтовый сервер (freebsd+postfix+dovecot+AD) c прозрачной авторизацией KERBEROS в Active Directory, чтобы пользователям, которые авторизовались в AD, не приходилось забивать пароль в почтового клиента (Microsoft Outlook), т.к. пароль в домене периодически подлежит замене.

Контроллер домена: kd.dom.lan (Windows server 2008). Почтовый сервер: mail.dom.lan (freebsd 9.2-RELEASE). DNS работает на контроллере домена. Запись для почтового сервера есть и в прямой и в обратной зоне.

На данном этапе не могу добиться получения почтовым сервером билета kerberos с контроллера домена с помощью файла-keytab. Файл keytab создаю для службы imap, которая работает на почтовом сервере (dovecot).

В ответ на команду:

kinit -k IMAP/mail.dom.lan

получаю ошибку:

kinit: krb5_get_init_creds: Client (IMAP/mail.dom.lan@DOM.LAN) unknown

Если попытаться получить билет для реального пользователя AD командой:

kinit domainuser

то после ввода правильного пароля пользователя domainuser билет получен. Это видно в выводе команды klist.

Обращаюсь за помощью, т.к. больше нет идей для преодоления этой ошибки. Не могу понять, почему «Клиент неизвестен». Все делалось после прочтения и изучения многочисленных статей и обсуждений. Многие смогли увидеть эту долгожданную надпись: «Authenticated to Kerberos v5», у меня пока не выходит.

Файл keytab генерировал двумя способами:

1. С помощью утилиты ktpass, генерировал файл как для фиктивного пользователя AD, так и для учетной записи компьютера - почтового сервера.

----------------------------------------------------------

- в домене (OU=Users) был создан пользователь imap c неустаревающим и неменяющимся паролем 1234.

- сгенерирован keytab командой:

ktpass -princ IMAP/mail.dom.lan@DOM.LAN -mapuser imap@DOM.LAN -crypto RC4-HMAC-NT -pass 1234 -ptype KRB5_NT_PRINCIPAL -out c:\imap.keytab

- файл imap.keytab скопирован на почтовый сервер в папку /tmp

- на почтовом сервере imap.keytab добавлен в /etc/krb5.keytab командой:

ktutil copy /tmp/imap.keytab /etc/krb5.keytab

- проверка добавления командой:

ktutil list

- проверка создания SPN на контроллере домена:

setspn -Q IMAP/mail.dom.lan

CN=imap,CN=Users,DC=dom,DC=lan

IMAP/mail.dom.lan

-----------------------------------------------------

Keytab для учетной записи компьютера.

- проверка отсутствия записей SPN для службы imap на контроллере домена командой setspn.exe

- для учетной записи компьютера почтового сервера сгенерировал файл keytab командой:

ktpass -princ IMAP/mail.dom.lan@DOM.LAN -mapuser mail$@DOM.LAN -crypto RC4-HMAC-NT -pass 1234 -ptype KRB5_NT_PRINCIPAL -out c:\imap.keytab

- дальше все как для генерации keytab для фиктивного пользователя AD.

-----------------------------------------------------------

Результат этих действий одинаковый:

kinit: krb5_get_init_creds: Client (IMAP/mail.dom.lan@DOM.LAN) unknown

---------------------------------------------------------

2. с помощью samba 3.6.18 (установлена на почтовом сервере, который введен в домен dom.lan). Т.к. у меня на почтовом сервере настроена samba (кстати, предоставляет прозрачный доступ к своим ресурсам авторизованным в AD пользователям), вычитал более простой способ генерации файла keytab с одновременным занесением записей в /etc/krb5.keytab

- сначала на конроллере домена с помощью setspn.exe удалил все SPN записи, созданные в п.1

- затем на почтовом сервере выполняю команду:

net ads keytab add IMAP -U Administrator - результат генерации виден командой:

net ads keytab list

- на контроллере домена добавленная SPN запись видна командой:

setspn -Q IMAP/mail.dom.lan

---------------------------------------------------------

В итоге опять эта же ошибка при выполнении kinit -k IMAP/mail.dom.lan : kinit: krb5_get_init_creds: Client (IMAP/mail.dom.lan@DOM.LAN) unknown

Такое впечатление, что все мои манипуляции по генерации keytab не влияют на итоговый результат и ошибка у меня в чем то другом.

/etc/krb5.conf имеет следующий вид:

[libdefaults]

default_realm = DOM.LAN

dns_lookup_realm = false

dns_lookup_kdc = false

[realms]

DOM.LAN = {

kdc = kd.dom.lan

admin_server = kd.dom.lan

default_domain = dom.lan

[domain_realm]

dom.lan = DOM.LAN

.dom.lan = DOM.LAN

Хотя в системе установлен пакет krb5-1.12.2, однако kinit --version говорит: kinit (Heimdal 1.1.0)

Хотел написать покороче, но не получилось. Если что-то нужно будет дополнительно - уточню. Буду рад, если знатоки укажут направление для решения задачи. Спасибо!

 , , , ,

citmen
()

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