POP3/S et IMAP4/S sur les serveurs multi-rôles Exchange 2013 !

 Les faits:

  • Dans les versions Windows Server 2008 et 2008R2, la plage dynamique de ports RPC est comprise entre 49152 et 65535. C'est également le cas avec Windows Server 2012 et 2012 R2.
  • Avec les versions Exchange 2010 et 2013, l'installation du rôle CAS (aussi appelé Front-End en EX2013) modifie la plage dynamique de ports RPC qui est désormais comprise entre 6005 to 59530 (voir l'article pour plus de détails).
  • Sur une serveur Exchange 2013 multi-rôles, le rôle Mailbox (Back-End) d'Exchange 2013 utilise des ports au delà de 6005 pour IMAP4/S (TCP/9933) et POP3/S (TCP/9955).

 

La problématique – Observée sur 2013 CU5 et CU6 (non vérifié sur CU7 mais il y a de forte chance que ce soit pareil...) :

  • Un serveur Exchange 2013 multi-rôles (Mailbox et CAS) peut être impacté par un conflit d'utilisation de port pour les services POP3/S (9933) et/ou IMAP4/S (9955) car ces derniers sont désormais dans la plage de port dynamique RPC !
  • Pour une raison quelconque, si le port de ces service est déjà utilisé, le ou les services ne pourront pas démarrer !
  • Les exclusions de ports par défaut ne prennent pas en compte tous les services Exchange en particulier POP3/S et IMAP4/S dont les ports sont dans la plage dynamique:

Exécuter la commande : netsh int ipv4 show dynamicport tcp

 

 

Une méthode de contournement :

 

Utiliser netsh pour créer les exclusions de ports:

    • POP3/S - Réservation du port TCP/9955 sur IPv4 et IPv6:

netsh int ipv4 add excludedportrange protocol=tcp startport=9955 numberofports=1

netsh int ipv6 add excludedportrange protocol=tcp startport=9955 numberofports=1

 

    • IMAP4/S - Réservation du port TCP/9933 sur IPv4 et IPv6:

netsh int ipv4 add excludedportrange protocol=tcp startport=9933 numberofports=1

netsh int ipv6 add excludedportrange protocol=tcp startport=9933 numberofports=1

 

! Attention ! Sur Windows Server 2008 et 2008/R2, prendre en compte https://support.microsoft.com/kb/2665809/en-us

Didier Akakpo - Consultant Sénior en Communication Universelle

----------- In English -----------

The facts:

  • Started with Windows Server 2008/2008R2 the dynamic RPC is configured by default with a range of 49152 to 65535. This also the case on Windows Server 2012/R2.
  • As started with Exchange 2010 CAS role, the Exchange 2013 CAS role (Front-end) also changes the dynamic RPC range from 6005 to 59530.
  • On a multirole Exchange 2013 server, the Mailbox role (Back-End) of Exchange 2013 uses ports higher than 6005 for IMAP4/S (TCP/9933) and POP3/S (TCP/9955).

 

The problem – Observed on Exchange 2013 CU5 and CU6 (not verified on CU7):

  • An Exchange 2013 multirole server (Mailbox and CAS) can be impacted by port allocation conflicts because 9933 (Back-end POP) and 9955 (Back-end IMAP) are now in the dynamic RPC range!
  • For any reason, if the POP3S or IMAP4S port is used by another process/service, this Exchange service (Back-end POP or IMAP) will not started !
  • The port exclusion doesn’t take into account back-end POP & IMAP services ports:

Run the command : netsh int ipv4 show dynamicport tcp

 

 

A workaround ? :

 

Use netsh to create port exclusions:

 

    • POP3 - Reserve TCP/9955 port on IPv4 and IPv6:

netsh int ipv4 add excludedportrange protocol=tcp startport=9955 numberofports=1

netsh int ipv6 add excludedportrange protocol=tcp startport=9955 numberofports=1

 

    • IMAP4 - Reserve TCP/9933 port on IPv4 and IPv6:

netsh int ipv4 add excludedportrange protocol=tcp startport=9933 numberofports=1

netsh int ipv6 add excludedportrange protocol=tcp startport=9933 numberofports=1

 

! Warning: For Windows Server 2008/R2, take this into account https://support.microsoft.com/kb/2665809/en-us

Didier Akakpo - Universal Communication Senior Consultant