Adding a new DNS domain
Got a buddy with a problem. He's using Sun's JES Messaging server (Q42005) for mail to username@sales.xyz.com and username@support.xyz.com.
They now need to accept mail for the sales folks directly at xyz.com - i.e. joe@xyz.com.
He wants to continue support for the old addresses (joe@sales.xyz.com) for a while.
How difficult is this? Can anyone explain the process to us, or point us to the right place in the docs? The MX records are a no-brainer, need help with JES.
Many thanks!
# 1
Hi,
Are they using schema 1 or schema 2? i.e. do they have an o=internet tree?
The process is straight-forward enough. You get messaging server to recognise the 'new' domain namely xyz.com (different for schema 1/2 on how this is done which is why I asked), and then you can add a mailalternateaddress=joe@xyz.com to joe's account. Job done.
Regards,
Shane.
# 2
Schema 1, and yes, there is an o=internet in the tree.Thanks for your help!-Simon
# 3
Hi,
Please provide a copy of your existing o=internet tree, that will give me some idea of how you have provisioned sales.xyz.com and support.xyz.com and therefore what you need to add to o=internet to allow for xyz.com:
ldapsearch -h <directory server> -b "o=internet" -D "cn=directory manager" -w <directory manager password> objectclass=*
Regards,
Shane.
# 4
Here you go...
By the way, it's students.xyz.com and mail.xyz.com, ignore the listserv domain, it's unused.
version: 1
dn: o=internet
objectClass: top
objectClass: organization
o: internet
description: top level node in the Domain Component (DC) tree
dn: dc=com,o=internet
objectClass: top
objectClass: domain
dc: com
dn: dc=xyz,dc=com,o=internet
dc: xyz
objectClass: top
objectClass: domain
objectClass: icscalendardomain
icsStatus: active
dn: dc=mail,dc=xyz,dc=com,o=internet
dc: mail
description: DC node for mail.xyz.com hosted domain
inetDomainBaseDN: o=mail.xyz.com,o=isp
inetDomainStatus: active
mailDomainStatus: active
preferredMailHost: mail.xyz.com
mailDomainDiskQuota: -1
mailDomainMsgQuota: -1
mailDomainReportAddress: postmaster@mail.xyz.com
nsMaxDomains: 1
nsNumUsers: 1
nsNumDomains: 1
nsNumMailLists: 0
objectClass: top
objectClass: domain
objectClass: inetDomain
objectClass: mailDomain
objectClass: nsManagedDomain
objectClass: icscalendardomain
icsStatus: active
icsDomainNames: student.xyz.com
icsExtendedDomainPrefs: domainAccess=@@d^a^sldrwd^g;@student.xyz.com^a^lsdrwd^
g;anonymous^a^r^g;@^a^s^g
dn: dc=student,dc=xyz,dc=com,o=internet
mailDomainDiskQuota: 5242880
mailDomainStatus: active
inetDomainStatus: active
preferredMailHost: mail.xyz.com
preferredMailMessageStore: primary
mailClientAttachmentQuota: -1
preferredLanguage: en
inetDomainBaseDN: o=student.xyz.com,o=isp
mailDomainMsgQuota: -1
dc: student
objectClass: top
objectClass: domain
objectClass: inetDomain
objectClass: mailDomain
objectClass: icscalendardomain
icsStatus: active
icsDomainNames: mail.xyz.com
icsExtendedDomainPrefs: domainAccess=@@d^a^sldrwd^g;@mail.xyz.com^a^lsdrwd^g;a
nonymous^a^r^g;@^a^s^g
dn: dc=listserv, dc=xyz,dc=com,o=internet
mailDomainDiskQuota: 20971520
mailDomainStatus: active
inetDomainStatus: active
preferredMailHost: mail.xyz.com
preferredMailMessageStore: primary
mailClientAttachmentQuota: -1
objectClass: top
objectClass: domain
objectClass: inetDomain
objectClass: mailDomain
preferredLanguage: en
inetDomainBaseDN: o=listserv.xyz.com,o=isp
mailDomainMsgQuota: -1
dc: listserv
# 5
Hi,
The general structure of an alias entry is as follows:
dc=alias, dc=domain1, dc=com, o=internet
changetype: add
objectClass: top
objectClass: alias
objectClass: inetDomainAlias
dc: alias
aliasedObjectName: dc=domain1, dc=com, o=internet
So in this case I am pointing alias.domain1.com at an existing domain that has been setup (domain1.com).
In your example, you want to point xyz.com at an existing domain (since you didn't specify I will assume mail.xyz.com).
So you will need to apply the following:
dn: dc=xyz,dc=com,o=internet
changetype: modify
add: objectclass
objectClass: alias
objectClass: inetDomainAlias
-
add: aliasedObjectName
aliasedObjectName: dc=mail,dc=xyz,dc=com,o=internet
Then add email addresses (mailalternateaddress:<name>@xyz.com) to users under the o=mail.xyz.com,o=isp domain and you are done.
How the resolution works is the following:
-> email comes in for <name>@xyz.com
-> MTA looks up dc=xyz,dc=com,o=internet entry
-> entry points to dc=mail,dc=xyz,dc=com,o=internet
-> MTA looks up dc=mail,dc=xyz,dc=com,o=internet
-> entry points to o=mail.xyz.com,o=isp
-> MTA does a mail/mailalternateaddress/mailequivalentaddress search for <name>@xyz.com in the o=mail.xyz.com,o=isp tree
-> MTA finds match to a user, delivers email.
Hope this helps.
Shane.
# 6
Ran into a little snag on the first part:
dn: dc=xyz, dc=com, o=internet
changetype: modify
add: objectclass
objectClass: alias
objectClass: inetDomainAlias
modifying entry dc=xyz, dc=com, o=internet
ldap_modify: Object class violation
Any ideas?
Thanks in advance,
Simon Gales
# 7
Anyone have any ideas? We're stumped...
# 8
"object class violation" means that the object class you're trying to add is either already there, or illegal for some reason. . .
# 9
It is already there:
dn: dc=xyz,dc=com,o=internet
dc: xyz
objectClass: top
objectClass: domain
objectClass: icscalendardomain
icsStatus: active
I'm way out of my experience here. Is the "objectClass: domain" causing the conflict?
I don't want to do anything that'll break their existing mail functionality, or calendar functionality (objectClass: icscalendardomain above)...
-Simon
# 10
Adding object classes won't break anything.Messaging asks for what it wants, and extra data isn't of any interest.As always, it's good to take backups. It's also good to have a test box to, um, test with.
# 11
How can I find out what objectclass is causing the error?
# 12
How about adding one at a time?