четверг, 8 апреля 2010 г.

exim + ldap

Прикручивание разлапистого новелевого дерева к exim'у для аутентификации пользователей несколько заморочено, в основном из-за скупого дебага в секции authenticators (logwrite тута не работает).

Есть более простой вариант, ака saslauthd, который нынче sasl2-bin.

в /etc/saslauthd.conf:

ldap_servers: ldap://slp.domain
ldap_bind_dn: cn=proxy,ou=internet,o=domain
ldap_password: proxy
ldap_version: 3
ldap_timeout: 10
ldap_cache_ttl: 30
ldap_cache_mem: 32768
ldap_scope: sub
ldap_search_base: o=domain
ldap_auth_method: bind
ldap_filter: (&(&(cn=%U)(objectClass=Person))(groupmembership=cn=permit_email,ou=internet,o=domain))


В конфиге экзима:

begin authenticators

PLAIN:
driver = plaintext
public_name = PLAIN
server_set_id = $auth2
server_prompts = :
  server_condition = ${if saslauthd{{$auth2}{$auth3}}{1}{0}}
server_advertise_condition = true

И в завершении нужно дунуть, иначе никакого чуда не произойдет: usermod -G sasl Debian-exim

Хинт для проверки:
Команда AUTH ожидает строку в Base64 с тремя параметрами. Разделитель в строке NUL
Можно сгенерить так: perl -MMIME::Base64 -e 'print encode_base64("\000user\@domain\000password")'   =>  AHVzZXJAZG9tYWluAHBhc3N3b3Jk

Далее:
telnet post2.domain
Connected to post2.domain
helo domain
250 post2.domain Hello domain [91.124.141.210]
ehlo testing
250-post2.pirsoilgas.ru Hello testing [91.124.141.210]
250-SIZE 25165824
250-PIPELINING
250-AUTH PLAIN
250 HELP
AUTH PLAIN AHZ2ZWxpY2hrbwA3NEBGUjNQeUdtalc=
235 Authentication succeeded
mail from: Bla-Bla-Bla
 

//включить debug: в /etc/default/exim4 добавить COMMONOPTIONS='-d'

среда, 7 апреля 2010 г.

Кризис, дешевые админы

Возникла забавная проблема, при отправке писем на адреса  @acfis.ru. Exim самостоятельно подменял адреса на mail.acfis.ru, которые хоть и отправлялись по правильно адресу, но не доходили до адресата умирая с отлупом: 550 5.7.1 Unable to relay for ...

Вскрытие показало странное:

host -a ACFIS.ru
...
ACFIS.ru CNAME mail.ACFIS.ru
mail.ACFIS.ru MX 10 mail.ACFIS.ru
mail.ACFIS.ru A 85.235.188.134

 Надо отдать должное, CNAME работает как положенно, а не так как задумывал автор

вторник, 6 апреля 2010 г.

VLAN on debian

In /etc/network/interfaces

auto vlan0500
iface vlan0500 inet static
vlan-raw-device eth1
address 172.16.0.13
netmask 255.255.255.252
network 172.16.0.12
broadcast 172.16.0.15
up route add -net 172.16.0.0 netmask 255.255.255.252 gw 172.16.0.14
up route add -host 192.102.50.34 gw 172.16.0.14

multipath, drbd, ocfs2


первоначальная синхронизация зеркала, обе ноды slave/inconsistent
drbdadm -- --overwrite-data-of-peer primary imap_0

переключение slave ноды во второй primary: drbdadm primary imap_0
требует allow-two-primaries; в секции net drbd.conf


watch cat /proc/drbd


/etc/init.d/o2cb load
Loading filesystem "configfs": OK
Mounting configfs filesystem at /sys/kernel/config: OK
Loading stack plugin "o2cb": OK
Loading filesystem "ocfs2_dlmfs": OK
Mounting ocfs2_dlmfs filesystem at /dlm: OK


/etc/init.d/o2cb online imap_ocfs2

mkfs.ocfs2 -T mail -N 2 /dev/drbd0 -L imap_ocfs2
Setting cluster stack "o2cb": OK
Starting O2CB cluster imap_ocfs2: OK


message: ocfs2_find_slot: ERROR: no free slots available!

debugfs.ocfs2 -R "stats" /dev/drbd0

...
Max Node Slots: 1
...


выставленный при форматировании в 1 number-of-node-slots лечится tunefs.ocfs2 -N 2 /dev/drbd0