We have the following setup:
- Two OpenLDAP servers - openldap1, openldap2
- They are to be set up as N-Way multi-master
- Certificates are all set up correctly with alternate names etc and trust each other
I want slapd to bind to all interfaces on the server, so was hoping to run the service as
/usr/sbin/slapd -u ldap -h ldaps://
However, this gives
5cabf191 <<< dnNormalize: <cn=subschema> 5cabf191 read_config: no serverID / URL match found. Check slapd -h arguments. 5cabf191 slapd destroy: freeing system resources. 5cabf191 syncinfo_free: rid=002 5cabf191 syncinfo_free: rid=002 5cabf191 slapd stopped. 5cabf191 connections_destroy: nothing to destroy.
I think i understand this to be because of our replication setup which looks like the following ServerIDs:
dn: cn=config objectClass: olcGlobal cn: config ..snipped.. olcTLSCertificateKeyFile: /etc/openldap/certs/keys/ldapskey.pem olcTLSCertificateFile: /etc/openldap/certs/ldapscert.pem olcTLSCACertificateFile: /etc/openldap/certs/cacert.pem olcServerID: 1 ldaps://openldap1 olcServerID: 2 ldaps://openldap2 entryCSN: 20190409004218.061111Z#000000#000#000000 modifiersName: cn=config modifyTimestamp: 20190409004218Z contextCSN: 20190409004339.981340Z#000000#000#000000
I think my error is because slapd -h argument cannot match to a serverID in the list?
If this is the case, how do I work around it?
If i manually run the following it, works, but this doesn't help me bind to all interfaces.
/usr/sbin/slapd -u ldap -h ldaps://openldap1
I have an IP that floats between both servers to give high availability if one were to go down, so need slapd to listen on all interfaces.