使用带有ldap的postfix临时查找失败错误

时间:2018-04-11 10:29:59

标签: lookup temporary

我在aws云的ubuntu VM上设置了docker-mailserver映像。我在同一个VM上配置了一个单独的openldap映像。我也加入了肠痈 CN = ABC,OU =人,DC = X,DC = Y,DC = Z,DC = COM 当我尝试使用ldapsearch来获取上述条目时,我能够做到这一点。但是,当我使用脚本从另一个ubuntu VM发送邮件并使用此邮件服务器时,它会出现错误,即“临时查找失败,无法联系LDAP服务器" 我在两个容器之间建立了一个用户定义的桥接器,我可以从其他容器的/ 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 :(得分:0)

LDAP是否也在Docker中运行?如果是,那么将这两个服务放入相同的撰写文件并使用容器名称而不是IP可能是有益的。