So Welcome on one of the many technical blogs out there on the web. So what is special about this blog? Well absolutely nothing :) ... This is the place where I store handy information I don't want to forget, while hoping that in the process I'm also helping some other poor soul on the web that is facing similar issues, or is interested in similar topics.
So who am I?
My name is Mark Priem, I was build in 1981 and live in the Netherlands together with my two sons, Roan and Levi, and my Wife Mylene (note the capital W... You know who's boss now), who I all love to death.
Aside from spending as much time as possible with my family I enjoy sports and socializing face to face and online. Your average Joe right? The little time that is left I spend on technology; My main focus currently is SharePoint and cloud solutions, which I work with on a daily basis as part of my Job, Consultant at Microsoft. As I'm a Microsoft Certified Master in SharePoint 2010 I think I can say I know a thing or two about SharePoint, which I hope has a positive effect on the quality of my posts.
If however you find any misinformation or plain wrong content, please let me know. We all make mistakes right? :)
Please enjoy your stay and let me know what you think by commenting to my posts.
Thanks!
Mark
In een omgeving waar meerdere emaildomeinen gehost worden, is het opzetten van de Autodiscover service voor connecties vanaf het internet een lastige. Voor domain-joined clients zal de autodiscovery service gevonden worden door middel van het SCP attribuut op het CAS object in de Configuration Partition.
Op het internet heb je geen AD en zal Outlook DNS gaan querien op basis van de domeinnaam van het emailadresdat je meegeeft. Hij zal dus verbinden in volgorde met: https://domein.com/Autodiscover/Autodiscover.xmlhttps://Autodiscover.domein.com/Autodiscover/Autodiscover.xmlhttp://Autodiscover.domein.com/Autodiscover/Autodiscover.xml
https://domein.com/Autodiscover/Autodiscover.xmlhttps://Autodiscover.domein.com/Autodiscover/Autodiscover.xmlhttp://Autodiscover.domein.com/Autodiscover/Autodiscover.xml
Nu kan je in een AD omgeving werken met self-signed certificaten, maar op het internet MOET je een trusted certificaat hebben. Hier wringt dus meteen de schoen, want dan zal je, in normale omstandigheden, voor elk domein een eigen certificaat moeten hebben (of meerdere domeinen op 1 cert dmv Subject Alternative Names).
ECHTER... Outlook 2007 kan een HTTP redirect volgen.
Dus:http://domeinA.com/Autodiscover/Autodiscover.xmlredirect naarhttps://domeinB.com/Autodiscover/Autodiscover.xml
http://domeinA.com/Autodiscover/Autodiscover.xml
https://domeinB.com/Autodiscover/Autodiscover.xml
Dit is redelijk simpel op te zetten. Een van de manieren waarop je dit kan doen, ervanuit gaande dat we met IIS werken is de volgende:
(JE kan ook host headers gebruiken als je geen extra ip hebt. Laat de site dan luisteren luisteren naar autodiscover.domein.com.Let wel: als je met host headers wilt werken zal je voor elke additioneel domein een nieuwe host header moeten toevoegen met dezelfde opmaak. Dus: autodiscover.domeinA.com, Autodiscover.domeinB.com etc etc)
Nu is in principe de redirect site klaar. Om nu voor andere domeinen mogelijk te maken om de autodiscover service te gebruiken, moet je een A record aanmaken in de DNS zone van je additionele domeinen met het ip adres van je webserver waar je redirect site op draait (kan btw ook met een CNAME record, echter moet je dan het ip adres van je redirect website registeren in DNS, als je niet met host headers werkt, iets wat ik persoonlijk geen nette oplossing vind).
Op deze manier zal een Outlook client via DNS de Autodiscover service vinden en hoef je alleen een geldig certificaat aan te vragen voor de ExternalURL van je client access server. De gebruikers krijgen echter wel een waarschuwing dat ze redirected worden en deze moeten ze accepteren.
Enjoy!! :)
NLB binnen Windows 2003 is een veelgebruikte manier om services redudant te maken en/of te load balancen. Het is standaard beschikbaar in elke versie van Windows 2003 server; dit in tegenstelling to Cluster Services welke in de standard en web editions van Windows 2003 server niet beschikbaar is.
In Exchange 2007 kan je een aantal diensten aanbieden via NLB. Owa, web services, imap4 en pop3 kan je prima achter een NLB cluster zetten. De hub/edge transport role, mailbox server role en Unified messaging role kan je niet gebruiken i.c.m. NLB, of toch wel? Via een klein trucje kan je toch een hub transport server achter NLB zetten als je de Receive Connectoren voor communicatie met andere hub transports maar niet via NLB aanbiedt. Dit omdat de hub transports onderling mutual TLS authentication gebruiken, en NLB problemen veroorzaakt met het uitwisselen en valideren van de certificaten. Ook heeft de hub transport role zelf geen notie van een cluster en zal daardoor een set exchange servers nooit als een cluster benaderen. NLB is in de meeste gevallen ook helemaal niet nodig omdat Hub transports in dezelfde site (wat btw ook een vereiste is voor een NLB cluster. Een NLB cluster over subnets heen bestaat (nog) niet) zelf al load balancen en fault tolerant zijn. Echter wanneer je andere systemen hebt die verbinding maken via SMTP met een hub transport server (bv: fax of sms diensten), kan het handig zijn om een stukje load balancing en fault tolerance in de infrastructuur aan te brengen.
Dit artikel zal een beschrijving geven hoe je dit voor elkaar krijgt:
Voordat we met het configureren beginnen is het handig even kort stil te staan bij hoe NLB ongeveer werkt. NLB werkt door middel van een filterdriver die geladen wordt, waarmee het netwerk connecties getoetst kunnen worden aan de rules die opgesteld kunnen worden wanneer je NLB configureert. Deze rules bepalen of UDP of TCP verkeer voor een bepaalde port wel of niet tot NLB 'enabled' verkeer behoort. NLB werkt in Unicast of Multicast mode, wat wil zeggen dat de netwerkkaarten die gebruikt worden OF 1 (unicast) MAC address krijgt of meerdere (multicast) MAC addressen kan gebruiken. Wanneer NLB in unicast wordt opgezet, wordt het MAC address van de netwerk kaart vervangen door een MAC address dat iedere node in het cluster zal gebruiken. In multicast wordt het gezamenlijke MAC address toegevoegd aan de netwerkkaarten. Doordat meerdere hosts gebruik maken van hetzelfde MAC address kan deze netwerk kaart niet meer gebruiken voor interhost communicatie (dit omdat source en dest MAC hetzelfde zijn. Zelfs in Multicast mode kan het zijn dat je tegen dit probleem aanloopt). Het is daarom ten sterkste aan te raden een extra netwerk kaart te gebruiken voor NLB.Wanneer je nu het NLB cluster aanmaakt dan configureer je een clusterIP en een clusterDNS (de laatste moet je wel zelf nog toevoegen in DNS). Verder kan je aangeven welke hosts in het cluster zijn opgenomen, welk verkeer je wilt filteren, of je het wilt load balancen of je alleen fault tolerant wilt zijn en of je server affinity wilt gebruiken. Dit laatste laat connecties (binnen een bepaald tijdframe) van ip addressen of complete subnets altijd door dezelfde host afhandelen. Dit is bijvoorbeeld handig voor als je met applicaties werkt via een SSL tunnel. Zonder affinity zou het aantal SSL sessies explosief stijgen. Wanneer je port 80 achter NLB hebt zitten en je gebruikt je browser om http://nlb.domein.com te benaderen, zullen de netwerk packets gerouteerd worden tot aan de laatste router of multi-layer switch. Hierna zullen de frames op de Datalink laag (LEVEL 2 in het OSI model) op basis van het MAC address afgeleverd worden bij de uiteindelijke host. Echter het MAC address wordt gebruikt op alle hosts. Een switch kan hier niet mee omgaan. Achter elke switch port moet een uniek MAC address zitten. Een switch bouwt zijn ARP table op door de frames te bekijken van de verbonden hosts en via ARP requests, en neemt de source MAC addressen op in de table. Als de switch een frame krijgt en het destination MAC address niet kan vinden in zijn table, zal hij het frame over alle poorten broadcasten. NLB maakt hier sneaky gebruik van. Op alle uitgaande frames van de NLB NIC wordt het MAC address aangepast. Alle NLB cluster MACs zijn hetzelfde opgebouwd, waarbij de tweede 8 bits (in HEX) altijd BF is. Echter voor de uitgaande frames wordt deze tweede set 8 bits aangepast aan de priority dat een node in het cluster heeft (01, 02, 03, 04 etc etc). Dit maakt dat de ARP tabel alleen de aangepaste MAC addressen bevat. Als er dus een frame komt dat bestemt is voor het cluster, dan zal hij deze broadcasten over alle porten.. Via het gezamenlijk algoritme dat de NLB nodes onderhouden, antwoordt de node die op dat moment 'aan de beurt is'. Door dit principe staat NLB erom bekend switches te kunnen flooden. Hier zijn tweaks voor.
Zo, dat is NLB in een nutshell :)
Volg de volgende stappen om NLB te activeren voor je Exchange services:
New-ReceiveConnector -Server:'Node1' -Name:'NLB Connector' -Type:'Costum' -Bindings:'192.168.1.100:25' -fqdn:'Cluster.fqdn.domein.com' -RemoteIpRanges:192.168.1.10 -PermissionGroups:'AnonymousUsers' -AuthMechanism:'None'
Dit maakt op Node1 een connector aan met de naam 'NLB Connector' die luistert op clusteripadres 192.168.1.100 port 25, en antwoordt met cluster.fqdn.domein.com in de SMTP banner (220 cluster.fqdn.domein.com Microsoft ESMTP MAIL service ready at (datum)). Het accepteert anonymous verbindingen van 192.168.1.10. Om ook nog echt te kunnen relayen moet je echter nog het ms-Exch-SMTP-Accept-Any-Recipient recht toekennen aan 'ANONYMOUS LOGON' wat het security principle is voor anonieme verbindingen. Dit recht stelt je in staat om email te verzenden aan iedere ontvanger en niet alleen aan accepted domains.Voorbeeld: Get-ReceiveConnector 'Node1\NLB Connector' | add-adpermission -User 'NT AUTHORITY\ANONYMOUS LOGON' -ExtendedRights ms-Exch-SMTP-Accept-Any-RecipientVERGEET AUB NIET DE BINDING VAN DE ANDERE RECEIVE CONNECTORS TE VERANDEREN NAAR HET PRIMAIRE IP ADDRESS
Get-ReceiveConnector 'Node1\NLB Connector' | add-adpermission -User 'NT AUTHORITY\ANONYMOUS LOGON' -ExtendedRights ms-Exch-SMTP-Accept-Any-Recipient
Probeer nu OWA te benaderen op https://cluster.fqdn.domein.com/owa en de nieuwe SMTP connector via telnet clusterip 25. Als het goed is moet nu alles werken (door de banner te veranderen op de verschillende receive connectoren kan je zien dat het werkt).
telnet clusterip 25
Ik zeg... aan de slag!! ;)
In Exchange 2007 RTM heb ik in sommige situaties problemen zien ontstaan waarbij gebruikers hun Out of Office meldingen niet meer konden aanpassen. OOF responses bevatte keer op keer een verouderde melding. In SP1 ben ik het vooralsnog niet tegengekomen, maar dat wil niet perse zeggen dat het probleem daar niet meer bestaat, aangezien er geen gedocumenteerde fix is.
Mocht je dit probleem aantreffen doe dan het volgende op een doos waar Outlook geinstalleerd staat:
Probeer nu je OOF message te wijzigen. Als het goed is moet het weer werken.
Suc6!!! :)
Ik ben nu al verscheidende malen onverklaarbare connectiviteitsproblemen met Exchange aan het troubleshooten geweest en keer op keer had dit te maken met features die geactiveerd zijn door het Scalable Networking pack van SP2. Deze update bevat uitbreidingen van de TCP/IP stack die nieuwe functionaliteit uit de NDIS 6 specificaties mogelijk maakt zoals:
Klinkt allemaal geweldig, maar in de praktijk zijn er veel probleem mee zoals je hier en hier kan lezen. Voornamelijk het probleem waardoor gebruikers niet meer kunnen inloggen en event is er 1 die ik geregeld gezien heb:
Event Type: ErrorEvent Source: MSExchangeISEvent Category: GeneralEvent ID: 9646Date: ...Time: ...User: N/AComputer: ...Description:Mapi session "/o=.../ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=..."exceeded the maximum of 64 objects of type "session".
Daarnaast heb ik problemen gezien met applicaties die via MAPI verbinding proberen te maken met de NSPI port op Exchange servers en waarvan de connecties gewoon verbroken worden. Voorbeelden zijn Blackberry Enterprise Server en Symantec Enterprise Vault.Op Blackberry ontstaan bijvoorbeeld Calendar Sync problemen doordat het process CalHelper.exe via CDO geen MAPI sessies meer kon opzetten. Een voorbeeld logknipsel is:
[40574] (01/31 19:02:31.501):{0x2090} CDO helper 068cf200 started, PID 5360[30001] (01/31 19:02:31.830):{0x2090} CDOCalendar::Initialize - Code = 800406f9, WCode = 04f9, Code meaning = IDispatch error #1273,[30002] (01/31 19:02:31.830):{0x2090} Server = server, Mailbox = /o=.../ou=.../cn=Recipients/cn=... Description = The information store could not be opened. [MAPI 1.0 - [MAPI_E_LOGON_FAILED(80040111)]][30180] (01/31 19:02:31.830):{0x2090} {...} CDOCalendar::Initialize - Error in call m_spCalendarFolder = m_spCDOSession->GetDefaultFolder[40000] (01/31 19:02:31.830):{0x2090} CDO initializing failure in CDO helper 068cf200 (1)
Ook Enterprise Vault geeft soms problemen met het aanmaken van Archiving Tasks op Exchange 2007 servers. De melding in de event logs zijn:
Event Type: ErrorEvent Source: Enterprise VaultEvent Category: Archive TaskEvent ID: 3305Date: ...Time: ...User: N/AComputer: ...Description:The Task 'Mailbox Archiving Task for Server' failed to log on to Exchange server 'Server' using mailbox 'smtp:email@domein.com. Please ensure that the server is running and that the Vault account has sufficient permissions on the server.
De problemen lijken telkens op Authenticatie problemen, maar in werkelijkheid zie je TCP connecties bijna onmiddelijk gebroken te worden, wanneer de systemen proberen contact te maken.
Probeer dus eerst TCPChimney Offloading uit te schakelen via Netsh int ip set chimney DISABLED. Ondanks wat de artikelen zeggen, adviseer ik toch een reboot. Als de problemen weer optreden probeer dan RSS en NetDMA uit te zetten via het register:
Netsh int ip set chimney DISABLED
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]"EnableTCPA"=dword:00000000"EnableRSS"=dword:00000000
Success!
Blackberry Enterprise Server 4.1 MR4 geeft problemen met calendar items in combinatie met Exchange 2007 SP1.Wanneer een meeting request ontvangen wordt op de Blackberry, flagt het device deze als 'Tentatively Accepted'.
In Outlook zie je het volgende op het meeting request bij de uitgenodigde met een Blackberry:
Degene die de meeting georganiseerd heeft, heeft echter geen response gekregen:
Dit probleem treedt op ongeacht welke handheld je hebt. Het probleem is bekend bij RIM, echter het response is minder leuk:
The issue you have found has been identified by the BlackBerry Development Team and has been flagged to be addressed. The SDR relating to this is SDR144817 and all I can advise is you check the next release of the BlackBerry Enterprise Software if this has been fixed and included it will be in the release notes"