Ошибка временного сбоя поиска с использованием постфикса с ldap

У меня есть установочный образ docker-mailserver на ubuntu VM в облаке aws. Я настроил отдельный образ openldap на той же виртуальной машине. Я также добавил развлечения cn = abc, ou = люди, dc = x, dc = y, dc = z, dc = com Когда я пытаюсь выполнить ldapsearch для получения указанной выше записи, я могу это сделать. Но когда я отправляю почту с другой виртуальной машины ubuntu с помощью сценария и этого почтового сервера, он выдает ошибку «Временная ошибка поиска, невозможно связаться с сервером LDAP» Я установил определяемый пользователем мост между двумя контейнерами, и я могу подключиться к каждому из них по telnet из / bin / bash другого.

Это мой файл docker-compose.yml контейнера почтового сервера,

version: '2' 
 services:   
   mail:
    restart: always
    image: abc/docker-mailserver:latest    
    hostname: x
    domainname: y.z.com
    container_name: mail
    ports:
      - "25:25"
      - "143:143"
      - "587:587"
      - "993:993"
      - "389:389"
      - "636:636"
    volumes:
      - maildata:/var/mail
      - mailstate:/var/mail-state
      - ./spamassassin:/tmp/spamassassin/
      - ./postfix:/tmp/postfix/
      - /etc/letsencrypt:/etc/letsencrypt
      - ./config/:/tmp/docker-mailserver/
    environment:
      - ENABLE_SPAMASSASSIN=1
      - ENABLE_CLAMAV=1
      - ENABLE_MANAGESIEVE=1
      - SA_TAG=2.0
      - SA_TAG2=6.31
      - SA_KILL=6.31
      - SSL_TYPE=letsencrypt
      - ENABLE_FAIL2BAN=1
      - ENABLE_POSTGREY=1
      - ONE_DIR=1
      - DMS_DEBUG=0
          {
      - ENABLE_LDAP=1
      - LDAP_SERVER_HOST= ldap-server-ip # your ldap container/IP/ServerName
      - LDAP_SEARCH_BASE=cn=abc,ou=people,dc=x,dc=y,dc=z,dc=com
      - LDAP_BIND_DN=cn=admin,dc=x,dc=y,dc=z,dc=com
      - LDAP_BIND_PW=***
      - LDAP_QUERY_FILTER_USER="(&(mail=%s)(mailEnabled=TRUE))"
      - LDAP_QUERY_FILTER_GROUP="(&(mailGroupMember=%s)(mailEnabled=TRUE))"
      - LDAP_QUERY_FILTER_ALIAS="(&(mailAlias=%s)(mailEnabled=TRUE))"
      }

      - DOVECOT_PASS_FILTER="(&(objectClass=*)(uniqueIdentifier=%n))"  #    - DOVECOT_USER_FILTER="(&(objectClass=PostfixBookMailAccount)(uniqueIdentifier=%n))"
          {
      - ENABLE_SASLAUTHD=1
      - SASLAUTHD_MECHANISMS=ldap
      - SASLAUTHD_LDAP_SERVER= ldap-server-ip
      - SASLAUTHD_LDAP_BIND_DN=cn=admin,dc=x,dc=y,dc=z,dc=com
      - SASLAUTHD_LDAP_PASSWORD=***
      - SASLAUTHD_LDAP_SEARCH_BASE=cn=abc,ou=people,dc=x,dc=y,dc=z,dc=com
      - POSTMASTER_ADDRESS=postmaster@x.y.z.com
      - MAIL_USER=user@x.y.z.com
      - MAIL_PASS=******
      - LDAP_QUERY_FILTER_DOMAIN="(&(|(mail=*@%s)(mailalias=*@%s)(mailGroupMember=*@%s))(mailEnabled=TRUE))"      }

      # >>> Kopano Integration
      - ENABLE_POSTFIX_VIRTUAL_TRANSPORT=1
      - POSTFIX_DAGENT=lmtp:kopano:2003
      # <<< Kopano Integration
      - PERMIT_DOCKER=host
    cap_add:
      - NET_ADMIN
      - SYS_PTRACE volumes:   maildata:
    driver: local   mailstate:
    driver: local
1
0
410
1

Ответы 1

LDAP также работает в Docker? Если да, то, вероятно, было бы полезно поместить обе службы в один файл компоновки и работать с именем контейнера, а не с IP-адресом.

Другие вопросы по теме