Office 365-eindpunten beheren

Office 365-netwerkconnectiviteit

8-3-2018 Verbindingen met Office 365 bestaan uit vertrouwde netwerkverzoeken voor hoge volumes die de beste prestaties leveren wanneer ze worden gedaan via uitgaand verkeer met lage latentie in de buurt van de gebruiker. Sommige Office 365-verbindingen kunnen profiteren als de verbinding wordt geoptimaliseerd.

  1. Controleer of de firewall verbinding met Office 365-eindpunten toestaat.

  2. Gebruik de proxyinfrastructuur om verbinding toe te staan met websites met jokertekens en ongepubliceerde websites.

  3. Zorg voor een perimeternetwerk met een optimale configuratie.

  4. Zorg dat de connectiviteit optimaal is.

  5. Lees Office 365 Network Connectivity Principles (Beginselen voor Office 365-netwerkconnectiviteit) voor informatie over de connectiviteitsrichtlijnen om het Office 365-verkeer veilig te beheren en de best mogelijke prestaties te krijgen.

Verbinden met Office 365 via firewalls en proxy's.

De acceptatielijsten voor uitgaand verkeer van uw firewall bijwerken

U kunt uw netwerk optimaliseren door alle vertrouwde Office 365-netwerkaanvragen rechtstreeks via de firewall te verzenden, waarbij alle extra inspectie of verwerking op pakketniveau wordt overgeslagen. Dit vermindert langzame prestaties door latenties en vermindert de perimetercapaciteitsvereisten. De eenvoudigste manier om te kiezen welke netwerkaanvragen te vertrouwen zijn, is om de vooraf gedefinieerde PAC-bestanden te gebruiken op het tabblad Proxy's hierboven.

Als uw firewall uitgaand verkeer blokkeert, moet u ervoor zorgen dat alle IP’s en FQDN's als Vereist in dit XML-bestand op de acceptatielijst staan. Houd er rekening mee dat voor alle services bepaalde services van derden moeten worden gebruikt. We geven geen IP-adressen voor deze services van derden, zoals certificaatproviders, Content Delivery Networks, DNS-providers enzovoort. Voor de volledige functionaliteit van Office 365 moet u alle bestemmingen kunnen bereiken waarom wordt verzocht, ongeacht de hoeveelheid informatie die over de bestemming wordt gepubliceerd.

Van veel bestemmingen is geen IP-adres gepubliceerd of ze staan vermeld als een domein met een jokerteken zonder specifieke Fully Qualified Domain Name. Als u deze functionaliteit wilt gebruiken, moet u deze netwerkverzoeken kunnen omzetten naar het huidige IP-adres waarom wordt verzocht en het verzoek via internet versturen.

Automatiseer het proces met een firewall die het XML-bestand namens u parseert en uw regels automatisch bijwerkt op basis van de services of functies die u rechtstreeks via de firewall wilt routeren. U kunt ook het hulpprogramma Azure Range gebruiken, dat door de community is gemaakt en dat de XML voor u parseert met exportopties voor Cisco XE Route- of ACL-lijstconfiguratie, tekst zonder opmaak of CSV.

Een uitgebreide uitleg van de netwerkbestemmingen is beschikbaar op onze referentiesite, evenals via ons op RSS gebaseerde wijzigingenlogboek zodat u zich op wijzigingen kunt abonneren.

Uitgaande paden configureren met PAC-bestanden

Gebruik PAC- of WPAD-bestanden om netwerkaanvragen te beheren die zijn gekoppeld aan Office 365, maar waarvoor geen IP-adres is opgegeven. Bij netwerkaanvragen treedt meestal extra latentie op als deze zijn verzonden via een proxy of perimeterapparaat. Hoewel proxyverificatie de hoogste belasting vergt, kunnen andere services (zoals het opzoeken van de reputatie of pogingen pakketten te inspecteren) voor een slechte gebruikerservaring zorgen. Daarnaast hebben deze perimeternetwerkapparaten voldoende capaciteit nodig om alle netwerkaanvragen te verwerken. We raden u aan uw proxy of inspectie-infrastructuur voor directe Office 365-netwerkaanvragen te omzeilen.

Gebruik een van onze PAC-bestanden als uitgangspunt om te bepalen welk netwerkverkeer wordt verzonden naar een proxy en welk verkeer naar een firewall. Als u geen ervaring hebt met PAC- of WPAD-bestanden, leest u dit bericht over het implementeren van PAC-bestanden van een van onze Office 365-consultants. Beschouw deze informatie als een uitgangspunt en pas deze aan uw eigen omgeving aan.

PAC-bestanden bijgewerkt op 7-5-2018.

In het eerste voorbeeld ziet u de aanbevolen werkwijze om de eindpunten alleen via internet te beheren. Hierbij wordt de proxy voor Office 365-bestemmingen waar het IP-adres wordt gepubliceerd, overgeslagen en worden de overige netwerkaanvragen naar de proxy verzonden.

Codefragment:

// JavaScript source code

//May 2018 - Updates go live 1st June2018
//This PAC file contains all FQDNs needed for all services and splits the traffic between those which Microsoft can provide IPs for (so can be sent through a managed firewall with conditional access if desired) and those which IPs cannot be provided for, so need to go to an unrestricted proxy or egress. 
//Due to the use of wildcards, some extra logic is provided to send traffic to the proxy before a 'direct' wildcard is hit.
//Includes Core ProPlus URLs but not Office Mobile/IPAD/IOS/ANDROID fqdns from https://support.office.com/en-gb/article/Network-requests-in-Office-365-ProPlus-eb73fcd1-ca88-4d02-a74b-2dd3a9f3364d
//Every Effort is made to ensure 100% accuracy but this PAC should be used as an example and cross-checked with your needs and the Office 365 URL & IP page
//Intended only for Worldwide Office 365 instances, which the vast majority of customers will be using

function FindProxyForURL(url, host)
{
    // Define proxy server
    var proxyserver = "PROXY 10.10.10.10:8080";
    var proxyserver2 = "PROXY 10.10.10.11:8080";
    // Make host lowercase
    var lhost = host.toLowerCase();
    host = lhost;

    //Catch explicit FQDNs which need the proxy but are covered under wildcarded FQDNs which have IPs. This has to be done first before the wildcard is hit

    if ((shExpMatch(host, "quicktips.skypeforbusiness.com"))    
        || (shExpMatch(host, "*.um.outlook.com"))
        || (shExpMatch(host, "r3.res.office365.com"))
        || (shExpMatch(host, "r3.res.outlook.com"))
        || (shExpMatch(host, "r4.res.office365.com"))
        || (shExpMatch(host, "xsi.outlook.com"))
        || (shExpMatch(host, "r1.res.office365.com")))


    {
        return proxyserver;
    }
        //Send FQDNs which Microsoft provide IPs for direct, so they can be sent via a firewall

    else if ((isPlainHostName(host))
    || (shExpMatch(host, "*.api.skype.com"))
    || (shExpMatch(host, "*.aria.microsoft.com"))
    || (shExpMatch(host, "*.asm.skype.com"))
    || (shExpMatch(host, "autologon.microsoftazuread-sso.com"))  
    || (shExpMatch(host, "*.broadcast.skype.com"))
    || (shExpMatch(host, "*.broker.skype.com"))
    || (shExpMatch(host, "*.cc.skype.com")) 
    || (shExpMatch(host, "*.config.skype.com"))
    || (shExpMatch(host, "*.conv.skype.com"))
    || (shExpMatch(host, "*.dc.trouter.io"))
    || (shExpMatch(host, "*.lync.com"))
    || (shExpMatch(host, "*.manage.office.com"))
    || (shExpMatch(host, "*.msg.skype.com"))
    || (shExpMatch(host, "*.office365.com"))
    || (shExpMatch(host, "*.onenote.com"))
    || (shExpMatch(host, "*.outlook.com"))
    || (shExpMatch(host, "*.outlook.office.com"))
    || (shExpMatch(host, "*.pipe.aria.microsoft.com"))
    || (shExpMatch(host, "*.pipe.skype.com"))
    || (shExpMatch(host, "*.portal.cloudappsecurity.com"))
    || (shExpMatch(host, "*.protection.office.com"))
    || (shExpMatch(host, "*.sharepoint.com"))
    || (shExpMatch(host, "*.skypeforbusiness.com"))
    || (shExpMatch(host, "*.svc.ms"))
    || (shExpMatch(host, "*.teams.microsoft.com"))
    || (shExpMatch(host, "*.teams.skype.com"))
    || (shExpMatch(host, "*.yammer.com"))
    || (shExpMatch(host, "*.yammerusercontent.com"))
    || (shExpMatch(host, "*broadcast.officeapps.live.com"))
    || (shExpMatch(host, "*excel.officeapps.live.com"))
    || (shExpMatch(host, "*onenote.officeapps.live.com"))
    || (shExpMatch(host, "*powerpoint.officeapps.live.com"))
    || (shExpMatch(host, "*view.officeapps.live.com"))
    || (shExpMatch(host, "*visio.officeapps.live.com"))
    || (shExpMatch(host, "*word-edit.officeapps.live.com"))
    || (shExpMatch(host, "*word-view.officeapps.live.com"))    
    || (shExpMatch(host, "account.office.net"))
    || (shExpMatch(host, "adminwebservice.microsoftonline.com"))
    || (shExpMatch(host, "agent.office.net"))
    || (shExpMatch(host, "api.login.microsoftonline.com"))
    || (shExpMatch(host, "api.passwordreset.microsoftonline.com"))
    || (shExpMatch(host, "apc.delve.office.com"))
    || (shExpMatch(host, "aus.delve.office.com"))
    || (shExpMatch(host, "becws.microsoftonline.com"))
    || (shExpMatch(host, "broadcast.skype.com "))    
    || (shExpMatch(host, "browser.pipe.aria.microsoft.com"))  
    || (shExpMatch(host, "can.delve.office.com"))
    || (shExpMatch(host, "ccs.login.microsoftonline.com"))
    || (shExpMatch(host, "ccs-sdf.login.microsoftonline.com"))
    || (shExpMatch(host, "clientconfig.microsoftonline-p.net"))
    || (shExpMatch(host, "clientlog.portal.office.com"))
    || (shExpMatch(host, "companymanager.microsoftonline.com"))
    || (shExpMatch(host, "config.edge.skype.com"))
    || (shExpMatch(host, "cus-000.tasks.osi.office.net"))
    || (shExpMatch(host, "delve.office.com"))
    || (shExpMatch(host, "device.login.microsoftonline.com"))    
    || (shExpMatch(host, "ea-000.tasks.osi.office.net"))
    || (shExpMatch(host, "eur.delve.office.com"))
    || (shExpMatch(host, "eus-zzz.tasks.osi.office.net"))
    || (shExpMatch(host, "gbr.delve.office.com"))    
    || (shExpMatch(host, "hip.microsoftonline-p.net"))
    || (shExpMatch(host, "hipservice.microsoftonline.com"))
    || (shExpMatch(host, "home.office.com"))
    || (shExpMatch(host, "ind.delve.office.com"))
    || (shExpMatch(host, "jpn.delve.office.com"))
    || (shExpMatch(host, "kor.delve.office.com"))
    || (shExpMatch(host, "lam.delve.office.com"))
    || (shExpMatch(host, "login.microsoft.com"))
    || (shExpMatch(host, "login.microsoftonline.com"))
    || (shExpMatch(host, "login.microsoftonline-p.com"))
    || (shExpMatch(host, "login.windows.net"))
    || (shExpMatch(host, "logincert.microsoftonline.com"))
    || (shExpMatch(host, "loginex.microsoftonline.com"))
    || (shExpMatch(host, "login-us.microsoftonline.com"))     
    || (shExpMatch(host, "manage.office.com"))
    || (shExpMatch(host, "mobile.pipe.aria.microsoft.com"))
    || (shExpMatch(host, "nam.delve.office.com"))
    || (shExpMatch(host, "neu-000.tasks.osi.office.net"))
    || (shExpMatch(host, "nexus.microsoftonline-p.com"))
    || (shExpMatch(host, "nexus.officeapps.live.com"))
    || (shExpMatch(host, "nexusrules.officeapps.live.com"))
    || (shExpMatch(host, "office.live.com"))
    || (shExpMatch(host, "officeapps.live.com"))
    || (shExpMatch(host, "passwordreset.microsoftonline.com"))
    || (shExpMatch(host, "pipe.skype.com"))
    || (shExpMatch(host, "portal.microsoftonline.com"))
    || (shExpMatch(host, "portal.office.com"))
    || (shExpMatch(host, "prod.registrar.skype.com"))
    || (shExpMatch(host, "prod.tpc.skype.com"))
    || (shExpMatch(host, "protection.office.com"))
    || (shExpMatch(host, "provisioningapi.microsoftonline.com"))
    || (shExpMatch(host, "s-0001.s-msedge.net"))
    || (shExpMatch(host, "s-0004.s-msedge.net"))
    || (shExpMatch(host, "scsinstrument-ss-us.trafficmanager.net"))   
    || (shExpMatch(host, "scsquery-ss-asia.trafficmanager.net")) 
    || (shExpMatch(host, "scsquery-ss-eu.trafficmanager.net")) 
    || (shExpMatch(host, "scsquery-ss-us.trafficmanager.net"))
    || (shExpMatch(host, "sea-000.tasks.osi.office.net"))    
    || (shExpMatch(host, "stamp2.login.microsoftonline.com"))
    || (shExpMatch(host, "suite.office.net"))    
    || (shExpMatch(host, "tasks.office.com"))
    || (shExpMatch(host, "teams.microsoft.com"))
    || (shExpMatch(host, "testconnectivity.microsoft.com"))
    || (shExpMatch(host, "webshell.suite.office.com"))
    || (shExpMatch(host, "weu-000.tasks.osi.office.net"))
    || (shExpMatch(host, "wus-000.tasks.osi.office.net"))
    || (shExpMatch(host, "www.office.com")))

      
    {
        return "DIRECT";
    }
    else

        // Send all unknown IP traffic to Proxy for unrestricted access. This section is not necessary if you have a catchall for all other traffic to go to an unfiltered proxy. 
        //However the fqdns required, but for which we dont have IPs for, are listed here incase you need an explicit list.

   if          ((shExpMatch(host, "*.aadrm.com"))
        || (shExpMatch(host, "*.adhybridhealth.azure.com")) 
        || (shExpMatch(host, "*.adl.windows.com"))   
        || (shExpMatch(host, "*.api.microsoftstream.com"))           
        || (shExpMatch(host, "*.api.skype.com"))
        || (shExpMatch(host, "*.assets-yammer.com"))   
        || (shExpMatch(host, "*.azureedge.net"))            
        || (shExpMatch(host, "*.azurerms.com"))
        || (shExpMatch(host, "*.cloudapp.net"))
        || (shExpMatch(host, "*.entrust.net")) 
        || (shExpMatch(host, "*.geotrust.com"))   
        || (shExpMatch(host, "*.helpshift.com"))   
        || (shExpMatch(host, "*.hockeyapp.net"))    
        || (shExpMatch(host, "*.localytics.com"))    
        || (shExpMatch(host, "*.log.optimizely.com"))    
        || (shExpMatch(host, "*.microsoft.com"))
        || (shExpMatch(host, "*.microsoftonline.com"))
        || (shExpMatch(host, "*.microsoftonline-p.com"))
        || (shExpMatch(host, "*.microsoftonline-p.net"))
        || (shExpMatch(host, "*.msecnd.net"))
        || (shExpMatch(host, "*.msedge.net"))      
        || (shExpMatch(host, "*.msocdn.com")) 
        || (shExpMatch(host, "*.mstea.ms"))    
        || (shExpMatch(host, "*.notification.api.microsoftstream.com")) 
        || (shExpMatch(host, "*.o365weve.com"))     
        || (shExpMatch(host, "*.office.com"))   
        || (shExpMatch(host, "*.office.net"))
        || (shExpMatch(host, "*.omniroot.com"))
        || (shExpMatch(host, "*.onmicrosoft.com"))
        || (shExpMatch(host, "*.phonefactor.net"))
        || (shExpMatch(host, "*.public-trust.com"))
        || (shExpMatch(host, "*.search.production.apac.trafficmanager.net"))
        || (shExpMatch(host, "*.search.production.emea.trafficmanager.net"))
        || (shExpMatch(host, "*.search.production.us.trafficmanager.net"))
        || (shExpMatch(host, "*.secure.skypeassets.com"))  
        || (shExpMatch(host, "*.sfbassets.com"))
        || (shExpMatch(host, "*.sharepointonline.com"))
        || (shExpMatch(host, "*.sway.com"))
        || (shExpMatch(host, "*.symcb.com"))
        || (shExpMatch(host, "*.tenor.com"))  
        || (shExpMatch(host, "*.symcd.com"))     
        || (shExpMatch(host, "*.users.storage.live.com"))
        || (shExpMatch(host, "*.verisign.com"))
        || (shExpMatch(host, "*.verisign.net"))
        || (shExpMatch(host, "*.windows.net"))
        || (shExpMatch(host, "account.activedirectory.windowsazure.com"))
        || (shExpMatch(host, "ad.atdmt.com"))
        || (shExpMatch(host, "admin.onedrive.com"))
        || (shExpMatch(host, "ajax.aspnetcdn.com"))
        || (shExpMatch(host, "aka.ms"))
        || (shExpMatch(host, "amp.azure.net"))
        || (shExpMatch(host, "api.microsoftstream.com"))
        || (shExpMatch(host, "apis.live.net"))  
        || (shExpMatch(host, "apps.identrust.com"))  
        || (shExpMatch(host, "assets.onestore.ms"))
        || (shExpMatch(host, "auth.gfx.ms"))
        || (shExpMatch(host, "cacerts.digicert.com"))        
        || (shExpMatch(host, "cdn.odc.officeapps.live.com"))  
        || (shExpMatch(host, "cdn.onenote.net"))
        || (shExpMatch(host, "cdn.optimizely.com")) 
        || (shExpMatch(host, "cert.int-x3.letsencrypt.org"))
        || (shExpMatch(host, "client.hip.live.com"))
        || (shExpMatch(host, "connect.facebook.net"))        
        || (shExpMatch(host, "crl.globalsign.com"))
        || (shExpMatch(host, "crl.globalsign.net"))
        || (shExpMatch(host, "crl.identrust.com"))    
        || (shExpMatch(host, "crl3.digicert.com"))  
        || (shExpMatch(host, "crl4.digicert.com"))
        || (shExpMatch(host, "cus-odc.officeapps.live.com"))              
        || (shExpMatch(host, "cus-roaming.officeapps.live.com"))
        || (shExpMatch(host, "dc.services.visualstudio.com"))
        || (shExpMatch(host, "domains.live.com"))
        || (shExpMatch(host, "ea-000.ocws.officeapps.live.com"))
        || (shExpMatch(host, "ea-roaming.officeapps.live.com"))          
        || (shExpMatch(host, "ecn.dev.virtualearth.net "))   
        || (shExpMatch(host, "eus2-000.ocws.officeapps.live.com"))
        || (shExpMatch(host, "eus2-roaming.officeapps.live.com"))             
        || (shExpMatch(host, "eus-odc.officeapps.live.com"))         
        || (shExpMatch(host, "eus-www.sway-cdn.com"))
        || (shExpMatch(host, "eus-www.sway-extensions.com"))        
        || (shExpMatch(host, "feedback.skype.com"))
        || (shExpMatch(host, "firstpartyapps.oaspapps.com"))
        || (shExpMatch(host, "g.live.com"))
        || (shExpMatch(host, "groupsapi2-prod.outlookgroups.ms"))  
        || (shExpMatch(host, "groupsapi3-prod.outlookgroups.ms"))  
        || (shExpMatch(host, "groupsapi4-prod.outlookgroups.ms"))  
        || (shExpMatch(host, "groupsapi-prod.outlookgroups.ms"))   
        || (shExpMatch(host, "isrg.trustid.ocsp.identrust.com"))   
        || (shExpMatch(host, "latest-swx.cdn.skype.com"))
        || (shExpMatch(host, "liverdcxstorage.blob.core.windowsazure.com"))
        || (shExpMatch(host, "management.azure.com"))        
        || (shExpMatch(host, "mem.gfx.ms"))
        || (shExpMatch(host, "mrodevicemgr.officeapps.live.com"))      
        || (shExpMatch(host, "ncus-000.ocws.officeapps.live.com"))
        || (shExpMatch(host, "ncus-roaming.officeapps.live.com"))                
        || (shExpMatch(host, "neu-000.ocws.officeapps.live.com")) 
        || (shExpMatch(host, "neu-odc.officeapps.live.com"))         
        || (shExpMatch(host, "neu-roaming.officeapps.live.com"))              
        || (shExpMatch(host, "nexus.officeapps.live.com"))
        || (shExpMatch(host, "nexusrules.officeapps.live.com"))
        || (shExpMatch(host, "nps.onyx.azure.net"))
        || (shExpMatch(host, "ocsa.officeapps.live.com"))
        || (shExpMatch(host, "ocsp.digicert.com"))
        || (shExpMatch(host, "ocspx.digicert.com"))
        || (shExpMatch(host, "ocsp.globalsign.com"))
        || (shExpMatch(host, "ocsp.int-x3.letsencrypt.org"))
        || (shExpMatch(host, "ocsp.msocsp.com"))       
        || (shExpMatch(host, "ocsp2.globalsign.com"))
        || (shExpMatch(host, "ocsredir.officeapps.live.com"))
        || (shExpMatch(host, "ocws.officeapps.live.com"))
        || (shExpMatch(host, "odc.officeapps.live.com"))  
        || (shExpMatch(host, "officecdn.microsoft.com.edgekey.net"))            
        || (shExpMatch(host, "officecdn.microsoft.com.edgesuite.net"))              
        || (shExpMatch(host, "ols.officeapps.live.com"))  
        || (shExpMatch(host, "oneclient.sfx.ms"))
        || (shExpMatch(host, "outlook.uservoice.com"))
        || (shExpMatch(host, "platform.linkedin.com"))
        || (shExpMatch(host, "policykeyservice.dc.ad.msft.net"))
        || (shExpMatch(host, "prod.firstpartyapps.oaspapps.com.akadns.net")) 
        || (shExpMatch(host, "r1.res.office365.com"))
        || (shExpMatch(host, "r3.res.office365.com"))
        || (shExpMatch(host, "r4.res.office365.com"))
        || (shExpMatch(host, "s.ytimg.com"))
        || (shExpMatch(host, "scus-000.ocws.officeapps.live.com"))
        || (shExpMatch(host, "scus-odc.officeapps.live.com"))         
        || (shExpMatch(host, "scus-roaming.officeapps.live.com"))                 
        || (shExpMatch(host, "sea-odc.officeapps.live.com"))         
        || (shExpMatch(host, "sea-roaming.officeapps.live.com"))              
        || (shExpMatch(host, "secure.globalsign.com"))
        || (shExpMatch(host, "site-cdn.onenote.net"))
        || (shExpMatch(host, "skydrive.wns.windows.com"))
        || (shExpMatch(host, "skypegraph.skype.com"))  
        || (shExpMatch(host, "skypemaprdsitus.trafficmanager.net"))   
        || (shExpMatch(host, "spoprod-a.akamaihd.net"))  
        || (shExpMatch(host, "ssw.live.com"))
        || (shExpMatch(host, "staffhub.ms"))
        || (shExpMatch(host, "staffhub.uservoice.com"))
        || (shExpMatch(host, "storage.live.com"))
        || (shExpMatch(host, "sway.com"))              
        || (shExpMatch(host, "swx.cdn.skype.com"))  
        || (shExpMatch(host, "telemetry.remoteapp.windowsazure.com"))         
        || (shExpMatch(host, "telemetryservice.firstpartyapps.oaspapps.com"))    
        || (shExpMatch(host, "web.microsoftstream.com"))         
        || (shExpMatch(host, "weu-000.ocws.officeapps.live.com"))
        || (shExpMatch(host, "weu-odc.officeapps.live.com"))         
        || (shExpMatch(host, "weu-roaming.officeapps.live.com"))
        || (shExpMatch(host, "wu.client.hip.live.com"))
        || (shExpMatch(host, "wus-000.ocws.officeapps.live.com"))
        || (shExpMatch(host, "wus-firstpartyapps.oaspapps.com"))  
        || (shExpMatch(host, "wus-odc.officeapps.live.com"))         
        || (shExpMatch(host, "wus-roaming.officeapps.live.com"))
        || (shExpMatch(host, "wus-www.sway-cdn.com"))
        || (shExpMatch(host, "wus-www.sway-extensions.com"))   
        || (shExpMatch(host, "www.digicert.com"))
        || (shExpMatch(host, "www.google-analytics.com"))
        || (shExpMatch(host, "www.onedrive.com"))
        || (shExpMatch(host, "www.remoteapp.windowsazure.com"))
        || (shExpMatch(host, "www.youtube.com"))
        || (shExpMatch(host, "xsi.outlook.com")))


        

    {
        return proxyserver;
    }

    //Catchall for all other traffic to another proxy 

else return proxyserver;
}

In het tweede voorbeeld ziet u de aanbevolen werkwijze om verbindingen te beheren wanneer er ExpressRoute- en internetcircuits beschikbaar zijn. Hierbij worden de aangekondigde bestemmingen voor ExpressRoute naar het ExpressRoute-circuit verzonden en de alleen voor internet aangekondigde bestemmingen naar de proxy.

Codefragment:

// JavaScript source code
//May 2018 Update
// Consolidated FQDNs of URLS which are reachable via Microsoft peering over ExpressRoute. All other traffic sent to a proxy in this example. 
//Every Effort is made to ensure 100% accuracy but this PAC should be used as an example and cross-checked with your traffic flow needs and the Office 365 URL & IP page. 
//Intended only for Worldwide Office 365 instances, which the vast majority of customers will be using
//PAC presumes all Office 365 BGP communities/route filters are allowed.

function FindProxyForURL(url, host)
{
    // Define proxy server
    var proxyserver = "PROXY 10.10.10.10:8080";
    // Make host lowercase
    var lhost = host.toLowerCase();
    host = lhost;
    //SUB-FQDNs of ExpressRoutable wildcards which need to be explicitly sent to the proxy at the top of the PAC because they arent ER routable
    if ((shExpMatch(host, "xsi.outlook.com"))
        || (shExpMatch(host, "r3.res.outlook.com"))
        || (shExpMatch(host, "quicktips.skypeforbusiness.com"))
        || (shExpMatch(host, "*.um.outlook.com")))					
    {
        return proxyserver;
    }
        //EXPRESS ROUTE DIRECT
    else if ((isPlainHostName(host))
  
            || (shExpMatch(host, "*.aria.microsoft.com"))
            || (shExpMatch(host, "*.asm.skype.com"))
            || (shExpMatch(host, "autologon.microsoftazuread-sso.com"))  
            || (shExpMatch(host, "*.broadcast.skype.com"))
            || (shExpMatch(host, "*.cc.skype.com"))
            || (shExpMatch(host, "*.config.skype.com"))    
            || (shExpMatch(host, "*.conv.skype.com"))
            || (shExpMatch(host, "*.dc.trouter.io"))
            || (shExpMatch(host, "*.lync.com"))
            || (shExpMatch(host, "*.manage.office.com"))
            || (shExpMatch(host, "*.msg.skype.com"))
            || (shExpMatch(host, "*.outlook.com"))
            || (shExpMatch(host, "*.outlook.office.com"))
            || (shExpMatch(host, "*.pipe.aria.microsoft.com")) 
            || (shExpMatch(host, "*.pipe.skype.com")) 
            || (shExpMatch(host, "*.portal.cloudappsecurity.com"))
            || (shExpMatch(host, "*.protection.office.com"))
            || (shExpMatch(host, "*.protection.outlook.com"))
            || (shExpMatch(host, "*.sharepoint.com")) 
            || (shExpMatch(host, "*.skypeforbusiness.com")) 
            || (shExpMatch(host, "*.svc.ms"))   
            || (shExpMatch(host, "*.teams.microsoft.com"))  
            || (shExpMatch(host, "*.teams.skype.com"))  
            || (shExpMatch(host, "*broadcast.officeapps.live.com"))
            || (shExpMatch(host, "*excel.officeapps.live.com"))
            || (shExpMatch(host, "*onenote.officeapps.live.com"))
            || (shExpMatch(host, "*powerpoint.officeapps.live.com"))
            || (shExpMatch(host, "*view.officeapps.live.com"))                                 
            || (shExpMatch(host, "*visio.officeapps.live.com"))
            || (shExpMatch(host, "*word-edit.officeapps.live.com"))
            || (shExpMatch(host, "*word-view.officeapps.live.com"))
            || (shExpMatch(host, "account.office.net"))
            || (shExpMatch(host, "adminwebservice.microsoftonline.com"))
            || (shExpMatch(host, "agent.office.net"))  
            || (shExpMatch(host, "apc.delve.office.com"))
            || (shExpMatch(host, "api.login.microsoftonline.com"))
            || (shExpMatch(host, "api.passwordreset.microsoftonline.com"))
            || (shExpMatch(host, "aus.delve.office.com"))
            || (shExpMatch(host, "becws.microsoftonline.com"))
            || (shExpMatch(host, "broadcast.skype.com"))  
            || (shExpMatch(host, "browser.pipe.aria.microsoft.com"))  
            || (shExpMatch(host, "can.delve.office.com")) 
            || (shExpMatch(host, "ccs.login.microsoftonline.com"))  
            || (shExpMatch(host, "ccs-sdf.login.microsoftonline.com"))
            || (shExpMatch(host, "clientconfig.microsoftonline-p.net"))
            || (shExpMatch(host, "companymanager.microsoftonline.com"))
            || (shExpMatch(host, "config.edge.skype.com"))
            || (shExpMatch(host, "delve.office.com"))
            || (shExpMatch(host, "device.login.microsoftonline.com"))
            || (shExpMatch(host, "domains.live.com")) 
            || (shExpMatch(host, "eur.delve.office.com"))
            || (shExpMatch(host, "gbr.delve.office.com"))
            || (shExpMatch(host, "hip.microsoftonline-p.net"))
            || (shExpMatch(host, "hipservice.microsoftonline.com"))
            || (shExpMatch(host, "home.office.com"))
            || (shExpMatch(host, "ind.delve.office.com"))
            || (shExpMatch(host, "jpn.delve.office.com"))
            || (shExpMatch(host, "kor.delve.office.com"))
            || (shExpMatch(host, "lam.delve.office.com"))
            || (shExpMatch(host, "login.microsoft.com"))
            || (shExpMatch(host, "login.microsoftonline.com"))
            || (shExpMatch(host, "login.microsoftonline-p.net"))
            || (shExpMatch(host, "login.windows.net"))
            || (shExpMatch(host, "logincert.microsoftonline.com"))
            || (shExpMatch(host, "loginex.microsoftonline.com"))
            || (shExpMatch(host, "login-us.microsoftonline.com"))
            || (shExpMatch(host, "manage.office.com"))
            || (shExpMatch(host, "mobile.pipe.aria.microsoft.com"))
            || (shExpMatch(host, "nam.delve.office.com"))
            || (shExpMatch(host, "nexus.microsoftonline-p.net"))
            || (shExpMatch(host, "office.live.com")) 
            || (shExpMatch(host, "officeapps.live.com")) 
            || (shExpMatch(host, "outlook.office365.com")) 
            || (shExpMatch(host, "passwordreset.microsoftonline.com"))
            || (shExpMatch(host, "pipe.skype.com"))
            || (shExpMatch(host, "portal.office.com"))
            || (shExpMatch(host, "prod.registrar.skype.com"))
            || (shExpMatch(host, "prod.tpc.skype.com"))
            || (shExpMatch(host, "protection.office.com"))
            || (shExpMatch(host, "provisioningapi.microsoftonline.com"))
            || (shExpMatch(host, "s-0001.s-msedge.net"))
            || (shExpMatch(host, "s-0004.s-msedge.net"))
            || (shExpMatch(host, "scsinstrument-ss-us.trafficmanager.net")) 
            || (shExpMatch(host, "scsquery-ss-asia.trafficmanager.net"))
            || (shExpMatch(host, "scsquery-ss-eu.trafficmanager.net")) 
            || (shExpMatch(host, "scsquery-ss-us.trafficmanager.net"))  
            || (shExpMatch(host, "signup.microsoft.com"))
            || (shExpMatch(host, "smtp.office365.com"))  
            || (shExpMatch(host, "stamp2.login.microsoftonline.com"))
            || (shExpMatch(host, "suite.office.net")) 
            || (shExpMatch(host, "teams.microsoft.com")) 
            || (shExpMatch(host, "webshell.suite.office.com")) 
            || (shExpMatch(host, "www.office.com")))             

       
    {
        return "DIRECT";
    }

        //Catchall for all other traffic to proxy
    else
    {
        return proxyserver;
    }
}

In het derde voorbeeld ziet u het verzenden van alle netwerkaanvragen van Office 365 naar dezelfde bestemming. Dit wordt meestal gebruikt om alle controles van Office 365-netwerkaanvragen over te slaan. Daarnaast biedt het u een indeling waarin alle gepubliceerde eindpunten in PAC-indeling op een lijst staan zodat u deze kunt aanpassen.

Codefragment:

// JavaScript source code
//May 2018 Update new URLS go live 1st June 2018 -
//Consolidated FQDNs required to access Office 365 - All services including optional components covered and elements covered under wildcards removed. 
//Some repeated domains have been consoliodated into unpublished wildcards in order to keep the file as small as possible.
//Includes Core ProPlus URLs but not Office Mobile/IPAD/IOS/ANDROID fqdns from https://support.office.com/en-gb/article/Network-requests-in-Office-365-ProPlus-eb73fcd1-ca88-4d02-a74b-2dd3a9f3364d
//Every Effort is made to ensure 100% accuracy but this PAC should be used as an example and cross-checked with your needs and the Office 365 URL & IP page
//Intended only for Worldwide Office 365 instances, which the vast majority of customers will be using

function FindProxyForURL(url, host)
{
    // Define proxy server
    var proxyserver = "PROXY 10.10.10.10:8080";
    // Make host lowercase
    var lhost = host.toLowerCase();
    host = lhost;

   if  ((shExpMatch(host, "*.aadrm.com"))

        || (shExpMatch(host, "*.adhybridhealth.azure.com"))
        || (shExpMatch(host, "*.adl.windows.com"))
        || (shExpMatch(host, "*.api.microsoftstream.com"))  
        || (shExpMatch(host, "*.api.skype.com"))  
        || (shExpMatch(host, "*.asm.skype.com"))     
        || (shExpMatch(host, "*.assets-yammer.com"))
        || (shExpMatch(host, "autologon.microsoftazuread-sso.com"))  
        || (shExpMatch(host, "*.azureedge.net"))   
        || (shExpMatch(host, "*.azurerms.com"))
        || (shExpMatch(host, "*.broadcast.skype.com"))
        || (shExpMatch(host, "*.broker.skype.com"))
        || (shExpMatch(host, "*.cc.skype.com"))
        || (shExpMatch(host, "*.cloudapp.net")) 
        || (shExpMatch(host, "*.config.skype.com"))
        || (shExpMatch(host, "*.conv.skype.com"))
        || (shExpMatch(host, "*.dc.trouter.io"))
        || (shExpMatch(host, "*.entrust.net")) 
        || (shExpMatch(host, "*.geotrust.com"))
        || (shExpMatch(host, "*.helpshift.com"))
        || (shExpMatch(host, "*.hockeyapp.net"))       
        || (shExpMatch(host, "*.localytics.com"))
        || (shExpMatch(host, "*.log.optimizely.com"))     
        || (shExpMatch(host, "*.lync.com"))
        || (shExpMatch(host, "*.microsoft.com"))
        || (shExpMatch(host, "*.microsoftonline.com"))
        || (shExpMatch(host, "*.microsoftonline-p.com"))
        || (shExpMatch(host, "*.microsoftonline-p.net"))
        || (shExpMatch(host, "*.msecnd.net"))
        || (shExpMatch(host, "*.msedge.net"))
        || (shExpMatch(host, "*.msg.skype.com")) 
        || (shExpMatch(host, "*.msocdn.com"))
        || (shExpMatch(host, "*.mstea.ms"))
        || (shExpMatch(host, "*.o365weve.com"))
        || (shExpMatch(host, "*.office.com"))
        || (shExpMatch(host, "*.office.net"))
        || (shExpMatch(host, "*.office365.com"))
        || (shExpMatch(host, "*.omniroot.com"))
        || (shExpMatch(host, "*.onenote.com"))
        || (shExpMatch(host, "*.onmicrosoft.com"))
        || (shExpMatch(host, "*.outlook.com"))
        || (shExpMatch(host, "*.pipe.skype.com")) 
        || (shExpMatch(host, "*.phonefactor.net")) 
        || (shExpMatch(host, "*.portal.cloudappsecurity.com"))
        || (shExpMatch(host, "*.public-trust.com"))
        || (shExpMatch(host, "*.search.production.apac.trafficmanager.net"))
        || (shExpMatch(host, "*.search.production.emea.trafficmanager.net"))
        || (shExpMatch(host, "*.search.production.us.trafficmanager.net"))
        || (shExpMatch(host, "*.secure.skypeassets.com"))
        || (shExpMatch(host, "*.sfbassets.com"))  
        || (shExpMatch(host, "*.sharepoint.com"))
        || (shExpMatch(host, "*.sharepointonline.com"))
        || (shExpMatch(host, "*.skypeforbusiness.com"))
        || (shExpMatch(host, "*.svc.ms")) 
        || (shExpMatch(host, "*.sway.com"))
        || (shExpMatch(host, "*.symcb.com"))
        || (shExpMatch(host, "*.symcd.com"))
        || (shExpMatch(host, "*.teams.skype.com"))
        || (shExpMatch(host, "*.tenor.com"))
        || (shExpMatch(host, "*.users.storage.live.com"))
        || (shExpMatch(host, "*.verisign.com"))
        || (shExpMatch(host, "*.verisign.net"))
        || (shExpMatch(host, "*.windows.net"))
        || (shExpMatch(host, "*.yammer.com"))
        || (shExpMatch(host, "*.yammerusercontent.com"))         
        || (shExpMatch(host, "*broadcast.officeapps.live.com"))
        || (shExpMatch(host, "*excel.officeapps.live.com"))
        || (shExpMatch(host, "*onenote.officeapps.live.com"))
        || (shExpMatch(host, "*powerpoint.officeapps.live.com"))
        || (shExpMatch(host, "*view.officeapps.live.com"))
        || (shExpMatch(host, "*visio.officeapps.live.com"))
        || (shExpMatch(host, "*word-edit.officeapps.live.com"))
        || (shExpMatch(host, "*word-view.officeapps.live.com"))    
        || (shExpMatch(host, "account.activedirectory.windowsazure.com"))
        || (shExpMatch(host, "ad.atdmt.com"))
        || (shExpMatch(host, "admin.onedrive.com"))
        || (shExpMatch(host, "ajax.aspnetcdn.com"))
        || (shExpMatch(host, "aka.ms"))
        || (shExpMatch(host, "amp.azure.net"))
        || (shExpMatch(host, "api.microsoftstream.com"))
        || (shExpMatch(host, "apis.live.net"))
        || (shExpMatch(host, "apps.identrust.com")) 
        || (shExpMatch(host, "assets.onestore.ms"))
        || (shExpMatch(host, "auth.gfx.ms"))
        || (shExpMatch(host, "broadcast.skype.com "))
        || (shExpMatch(host, "cacerts.digicert.com"))    
        || (shExpMatch(host, "cdn.odc.officeapps.live.com"))  
        || (shExpMatch(host, "cdn.onenote.net"))
        || (shExpMatch(host, "cdn.optimizely.com"))
        || (shExpMatch(host, "cert.int-x3.letsencrypt.org"))
        || (shExpMatch(host, "client.hip.live.com"))     
        || (shExpMatch(host, "config.edge.skype.com"))
        || (shExpMatch(host, "connect.facebook.net"))
        || (shExpMatch(host, "crl.globalsign.com"))
        || (shExpMatch(host, "crl.globalsign.net"))
        || (shExpMatch(host, "crl.identrust.com"))    
        || (shExpMatch(host, "crl3.digicert.com"))  
        || (shExpMatch(host, "crl4.digicert.com"))
        || (shExpMatch(host, "cus-odc.officeapps.live.com"))              
        || (shExpMatch(host, "cus-roaming.officeapps.live.com"))      
        || (shExpMatch(host, "dc.services.visualstudio.com"))
        || (shExpMatch(host, "domains.live.com"))
        || (shExpMatch(host, "ea-000.ocws.officeapps.live.com")) 
        || (shExpMatch(host, "ea-roaming.officeapps.live.com"))           
        || (shExpMatch(host, "ecn.dev.virtualearth.net"))
        || (shExpMatch(host, "eus2-000.ocws.officeapps.live.com"))
        || (shExpMatch(host, "eus2-roaming.officeapps.live.com"))              
        || (shExpMatch(host, "eus-odc.officeapps.live.com"))              
        || (shExpMatch(host, "eus-www.sway-cdn.com"))
        || (shExpMatch(host, "eus-www.sway-extensions.com"))
        || (shExpMatch(host, "feedback.skype.com"))
        || (shExpMatch(host, "firstpartyapps.oaspapps.com"))
        || (shExpMatch(host, "g.live.com"))
        || (shExpMatch(host, "groupsapi2-prod.outlookgroups.ms"))  
        || (shExpMatch(host, "groupsapi3-prod.outlookgroups.ms"))  
        || (shExpMatch(host, "groupsapi4-prod.outlookgroups.ms"))  
        || (shExpMatch(host, "groupsapi-prod.outlookgroups.ms"))  
        || (shExpMatch(host, "isrg.trustid.ocsp.identrust.com"))
        || (shExpMatch(host, "latest-swx.cdn.skype.com"))
        || (shExpMatch(host, "liverdcxstorage.blob.core.windowsazure.com"))
        || (shExpMatch(host, "management.azure.com"))
        || (shExpMatch(host, "mem.gfx.ms"))
        || (shExpMatch(host, "mrodevicemgr.officeapps.live.com"))               
        || (shExpMatch(host, "ncus-000.ocws.officeapps.live.com"))
        || (shExpMatch(host, "ncus-roaming.officeapps.live.com"))                 
        || (shExpMatch(host, "neu-000.ocws.officeapps.live.com")) 
        || (shExpMatch(host, "neu-odc.officeapps.live.com"))              
        || (shExpMatch(host, "neu-roaming.officeapps.live.com"))              
        || (shExpMatch(host, "nexus.officeapps.live.com"))
        || (shExpMatch(host, "nexusrules.officeapps.live.com"))
        || (shExpMatch(host, "nps.onyx.azure.net"))   
        || (shExpMatch(host, "ocsa.officeapps.live.com"))
        || (shExpMatch(host, "ocsp.digicert.com"))
        || (shExpMatch(host, "ocsp.globalsign.com"))
        || (shExpMatch(host, "ocsp.int-x3.letsencrypt.org"))
        || (shExpMatch(host, "ocsp.msocsp.com"))     
        || (shExpMatch(host, "ocsp2.globalsign.com")) 
        || (shExpMatch(host, "ocspx.digicert.com"))
        || (shExpMatch(host, "ocsredir.officeapps.live.com"))
        || (shExpMatch(host, "ocws.officeapps.live.com"))
        || (shExpMatch(host, "odc.officeapps.live.com"))  
        || (shExpMatch(host, "office.live.com"))
        || (shExpMatch(host, "officeapps.live.com"))
        || (shExpMatch(host, "officecdn.microsoft.com.edgekey.net"))              
        || (shExpMatch(host, "officecdn.microsoft.com.edgesuite.net"))
        || (shExpMatch(host, "ols.officeapps.live.com"))  
        || (shExpMatch(host, "oneclient.sfx.ms"))
        || (shExpMatch(host, "outlook.uservoice.com"))
        || (shExpMatch(host, "pipe.skype.com"))
        || (shExpMatch(host, "platform.linkedin.com"))
        || (shExpMatch(host, "policykeyservice.dc.ad.msft.net"))
        || (shExpMatch(host, "prod.firstpartyapps.oaspapps.com.akadns.net"))
        || (shExpMatch(host, "prod.registrar.skype.com"))
        || (shExpMatch(host, "prod.tpc.skype.com"))
        || (shExpMatch(host, "s.ytimg.com"))
        || (shExpMatch(host, "s0.assets-yammer.com"))  
        || (shExpMatch(host, "s-0001.s-msedge.net")) 
        || (shExpMatch(host, "s-0004.s-msedge.net"))   
        || (shExpMatch(host, "scsinstrument-ss-us.trafficmanager.net")) 
        || (shExpMatch(host, "scsquery-ss-asia.trafficmanager.net"))
        || (shExpMatch(host, "scsquery-ss-eu.trafficmanager.net")) 
        || (shExpMatch(host, "scsquery-ss-us.trafficmanager.net")) 
        || (shExpMatch(host, "scus-000.ocws.officeapps.live.com"))
        || (shExpMatch(host, "scus-odc.officeapps.live.com"))         
        || (shExpMatch(host, "scus-roaming.officeapps.live.com"))                 
        || (shExpMatch(host, "sea-odc.officeapps.live.com"))              
        || (shExpMatch(host, "sea-roaming.officeapps.live.com"))              
        || (shExpMatch(host, "secure.globalsign.com"))
        || (shExpMatch(host, "site-cdn.onenote.net"))
        || (shExpMatch(host, "skydrive.wns.windows.com"))
        || (shExpMatch(host, "skypegraph.skype.com"))
        || (shExpMatch(host, "skypemaprdsitus.trafficmanager.net"))
        || (shExpMatch(host, "spoprod-a.akamaihd.net"))
        || (shExpMatch(host, "ssw.live.com"))
        || (shExpMatch(host, "staffhub.ms"))
        || (shExpMatch(host, "staffhub.uservoice.com"))    
        || (shExpMatch(host, "storage.live.com"))
        || (shExpMatch(host, "swx.cdn.skype.com"))
        || (shExpMatch(host, "telemetry.remoteapp.windowsazure.com"))
        || (shExpMatch(host, "telemetryservice.firstpartyapps.oaspapps.com"))
        || (shExpMatch(host, "web.microsoftstream.com"))   
        || (shExpMatch(host, "weu-000.ocws.officeapps.live.com")) 
        || (shExpMatch(host, "weu-odc.officeapps.live.com"))              
        || (shExpMatch(host, "weu-roaming.officeapps.live.com"))              
        || (shExpMatch(host, "wu.client.hip.live.com"))
        || (shExpMatch(host, "wus-000.ocws.officeapps.live.com"))  
        || (shExpMatch(host, "wus-firstpartyapps.oaspapps.com"))  
        || (shExpMatch(host, "wus-odc.officeapps.live.com"))              
        || (shExpMatch(host, "wus-roaming.officeapps.live.com"))              
        || (shExpMatch(host, "wus-www.sway-cdn.com"))
        || (shExpMatch(host, "wus-www.sway-extensions.com"))        
        || (shExpMatch(host, "www.digicert.com"))
        || (shExpMatch(host, "www.google-analytics.com"))
        || (shExpMatch(host, "www.onedrive.com"))
        || (shExpMatch(host, "www.remoteapp.windowsazure.com"))
        || (shExpMatch(host, "www.youtube.com")))




    {
        return proxyserver;
    }

        //Catchall for all other traffic to another proxy

    else return "PROXY 10.10.10.11:8080";
}

Hier ziet u nog een paar hulpprogamma’s van de community. Als u iets hebt gemaakt wat u wilt delen, kunt u dit aangeven bij de opmerkingen. Geen van de communityhulpprogramma’s waarnaar in dit artikel wordt verwezen, wordt officieel ondersteund door Microsoft. Deze worden slechts genoemd voor uw gemak.

  • Dit is het oudste door de community gegenereerde hulpprogramma om het proces mee te beheren. Een hulpmiddel dat is gemaakt door een lid van de Office 365-community. Hier is een koppeling om het te downloaden.

  • Haalbaarheidsstudie met firewall-regels die kunnen worden geëxporteerd: API van Microsoft Cloud-IP.

  • Van IT Praktyk: RSS-conversie en XML-conversie.

  • Van Peter Abele: Download.

  • Gebruik de netwerkanalyse om te bepalen welke netwerkaanvragen de proxyinfrastructuur moeten negeren. Vanwege het volume van netwerkverkeer dat vanuit deze eindpunten wordt verzonden en ontvangen, zijn dit de meest voorkomende FQDN's die worden gebruikt om klantproxy’s over te slaan.

    outlook.office365.com
    outlook.office.com
    <tenant-name>.sharepoint.com
    <tenant-name>-my.sharepoint.com
    <tenant-name>-<app>.sharepoint.com
    *.Lync.com
    
  • Controleer of alle netwerkaanvragen die naar uw firewall worden verzonden, zijn opgenomen in de firewallacceptatielijst, zodat de aanvraag kan passeren.

Integratie van het perimeternetwerk

Wist u dat de WAN van Microsoft een van de grootste backbones ter wereld is?

Door dit enorme netwerk werken Office 365 en onze andere cloudservices altijd en overal, ongeacht uw locatie. Ons netwerk heeft een hoge bandbreedte, lage latentie, koppelingen met failovermogelijkheden met duizenden kilometers aan dark fiber in privébezit en verbindingen van meerdere Terabits tussen datacenters en randknooppunten, zodat u onze cloudservices eenvoudiger kunt gebruiken.

Met een dergelijk netwerk wilt u de apparaten van de organisatie zo snel mogelijk verbinden met ons netwerk. Met meer dan 2500 peeringrelaties van internetproviders wereldwijd en 70 aanwezigheidspunten moet u naadloos van uw netwerk naar ons netwerk kunnen gaan. U kunt het beste controleren of u de optimale peeringrelatie van de internetprovider gebruikt. Hier vindt u een paar voorbeelden van goede en minder goede peeringrelaties met ons netwerk.

U kunt de apparaten in uw netwerk handmatig of automatisch zo configureren dat netwerkaanvragen voor de Office 365-toepassing optimaal worden verwerkt, afhankelijk van uw apparatuur. De configuratiewijzigingen die u moet aanbrengen voor het optimaal verwerken van Office 365-netwerkverkeer zijn afhankelijk van uw omgeving. Voor Office 365-netwerkaanvragen werken netwerkconfiguraties het beste waarmee het volgende wordt toegestaan:

  • Prioriteit boven minder kritiek netwerkverkeer.

  • Omleiding naar een lokaal uitgangspunt om backhauling via een langzame WAN-koppeling te voorkomen, maar waarbij u wel kunt gebruikmaken van de lage latentie op het Microsoft-netwerk. Hier vindt u een goede discussie op basis van verhalen van klanten.

  • Gebruikmaken van DNS nabij een lokaal uitgangspunt om ervoor te zorgen dat het netwerkverzoek dat het lokale uitgangspunt verlaat, aankomt bij de dichtstbijzijnde peeringlocatie van Microsoft.

  • Uitsluiting van uitgebreide pakketinspectie of andere intensieve verwerking van netwerkpakketten om te voldoen aan de latentievereisten.

Met moderne netwerkapparaten kunnen netwerkaanvragen voor vertrouwde toepassingen, zoals Office 365, anders worden beheerd dan algemeen, niet-vertrouwd internetverkeer. Met de nieuwe SD-WAN-oplossingen kan een dergelijke scheiding tussen verkeer- en padselectie ook zo worden uitgevoerd dat er rekening wordt gehouden met de veranderende status van het netwerk, zoals tijdgebonden beschikbaarheid, latentie of prestaties van diverse connectiviteitspaden tussen de gebruiker en de cloud.

Zie Netwerk- en migratieplanning voor Office 365, Prestatieproblemen met Office 365 oplossen: planning en Controlelijst voor de planning van de implementatie van Office 365 voor aanvullende informatie over het plannen van de netwerkconfiguratie.

U kunt dit scenario als volgt implementeren:

Vraag bij uw netwerkoplossings- of serviceprovider of ze URL- en IP-definities van Office 365 kunnen gebruiken vanuit XML om een lokaal (voor de gebruiker) netwerkuitgangspunt met lage overhead voor Office 365-verkeer mogelijk te maken, de prioriteit te beheren ten opzichte van andere toepassingen en het netwerkpad aan te passen voor Office 365-verbindingen naar het Microsoft-netwerk, afhankelijk van de veranderende netwerkkwaliteit. Bij sommige oplossingen worden URL- en IP-definities van Office 365 vanuit XML gedownload en geautomatiseerd in de stacks.

Zorg er altijd voor dat de geïmplementeerde oplossing de benodigde tolerantie en de juiste geografische redundantie van het netwerkpad voor Office 365-verkeer heeft en dat wijzigingen in Office 365-URL's en IP's kunnen worden doorgevoerd wanneer deze worden gepubliceerd.

Om Office 365-netwerkverkeer beter te kunnen identificeren en onderscheiden is er een nieuwe webservice die Office 365-eindpunten publiceert. Hierdoor is het eenvoudiger om op de hoogte te blijven van wijzigingen en deze te evalueren en te configureren. Deze nieuwe webservice (nu in preview) vervangt uiteindelijk de lijst met eindpunten in het artikel URL's en IP-adresbereiken voor Office 365 en tevens de RSS- en XML-versies van die gegevens. Deze indeling van eindpuntgegevens wordt in de nabije toekomst uitgefaseerd.

Als klant of als leverancier van netwerkperimeterapparaten kunt u een test uitvoeren voor de vermeldingen van de Office 365-IP-adressen en -FQDN's van de nieuwe REST-webservice, waarvan momenteel een preview bestaat:

Als klant kunt u deze webservice gebruiken voor:

  • Het bijwerken van PowerShell-scripts voor het verkrijgen van Office 365-eindpuntgegevens en het wijzigen van de opmaak van uw netwerkapparatuur.

  • Gebruik deze informatie voor het bijwerken van PAC-bestanden die voor clientcomputers zijn geïmplementeerd.

Als leverancier van netwerkperimeterapparaten kunt u deze webservice gebruiken voor:

  • Het maken en testen van apparaatsoftware om de lijst voor geautomatiseerde configuratie te downloaden.

  • Het controleren van de huidige versie.

  • Het ophalen van de huidige wijzigingen.

De volgende secties beschrijven de preview van deze webservice. Deze kan in de loop van de tijd worden gewijzigd totdat de service algemeen beschikbaar is.

De gegevens van de webservice zijn bijgewerkt, met uitzondering van het volgende, bekende probleem:

Veelgebruikte parameters

De volgende parameters worden veel gebruikt in alle webservicemethoden:

  • format=CSV | JSON: queryreeksparameter. De standaardindeling van de geretourneerde gegevens is JSON. Neem deze optionele parameter op als u de gegevens in een indeling met door komma's gescheiden waarden wilt hebben.

  • ClientRequestId: queryreeksparameter. Een verplichte GUID die u genereert voor koppeling aan clientsessies. Genereer een GUID voor elke clientcomputer die de webservice aanroept. Gebruik niet de GUID's uit het volgende voorbeeld. Deze kunnen in de toekomst door de webservice worden geblokkeerd. De indeling van de GUID is xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, waarin de x voor een hexadecimaal getal staat. Gebruik de PowerShell-opdracht New-Guid als u een GUID wilt genereren.

Versiewebmethode

De vermeldingen van de Office 365-IP-adressen en FQDN's worden aan het eind van iedere maand bijgewerkt, of vaker in geval van operationele vereisten. Aan de gegevens voor elk gepubliceerd exemplaar wordt een versienummer toegekend. Met de versiewebmethode kunt u de nieuwste versie peilen voor elk exemplaar van de Office 365-service. Naar verwachting worden de eindpunten eenmaal per maand gewijzigd. U wordt aangeraden de versie dagelijks te controleren, hooguit eenmaal per uur.

Er is één parameter voor de versiewebmethode:

  • AllVersions=true: queryreeksparameter. Standaard is de geretourneerde versie de laatste. Neem deze optionele parameter op om alle gepubliceerde versies aan te vragen.

  • Instance: routeparameter. Met deze optionele parameter wordt het exemplaar gespecificeerd waarvoor de versie moet worden geretourneerd. Indien niet gebruikt, worden alle exemplaren geretourneerd. Geldige exemplaren zijn: O365Worldwide, O365China, O365Germany, O365USGovDoD, O365USGovGCCHigh

Het resultaat van de versiewebmethode kan één record zijn of een matrix van records. De elementen van elke record zijn:

  • instance: de korte naam van het Office 365-service-exemplaar.

  • latest: de nieuwste versie voor eindpunten van het opgegeven exemplaar.

  • versions: een optionele lijst met alle voorgaande versies voor het opgegeven exemplaar.

Voorbeelden:

Aanvraag-URI voorbeeld 1: https://endpoints.office.com/version?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Met deze URI wordt de nieuwste versie van elk Office 365-service-exemplaar geretourneerd. Resultaat van voorbeeld:

[{"instance":"O365Worldwide","latest":"2018030200"},{"instance":"O365China","latest":"2018020100"},{"instance":"O365Germany","latest":"2018020100"},{"instance":"O365USGovDoD","latest":"2018030200"},{"instance":"O365USGovGCCHigh","latest":"2018030200"}]

Belangrijk: De GUID voor de parameter ClientRequestID in deze URI's is slechts een voorbeeld. Genereer uw eigen GUID als u de URI's voor de webservice wilt uitproberen. De in deze voorbeelden getoonde GUID's kunnen in de toekomst door de webservice worden geblokkeerd.

Aanvraag-URI voorbeeld 2: https://endpoints.office.com/version/O365Worldwide?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Met deze URI wordt de nieuwste versie van het opgegeven Office 365-service-exemplaar geretourneerd. Resultaat van voorbeeld:

{"instance":"O365Worldwide","latest":"2018031302"}

Aanvraag-URI voorbeeld 3: https://endpoints.office.com/version/O365Worldwide?Format=CSV&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Met deze URI wordt de uitvoer in een CSV-indeling getoond. Resultaat van voorbeeld:

instance,latest
O365Worldwide,2018031302

Aanvraag-URI voorbeeld 4: https://endpoints.office.com/version/O365Worldwide?Format=CSV&AllVersions=true&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Met deze URI worden alle vorige versies getoond die voor het Office 365 Worldwide-service-exemplaar zijn gepubliceerd. Resultaat van voorbeeld:

{"instance":"O365Worldwide","latest":"2018031302","versions":["2018031302","2018031301","2018031300","2018030200","2018020701","2018020700","2018020100","2017121200","2017120800"]}

Eindpuntenwebmethode

Met de eindpuntenwebmethode worden alle records voor IP-adresbereiken en URL's geretourneerd waaruit de Office 365-service is opgebouwd. Parameters voor de eindpuntenwebmethode zijn:

  • ServiceAreas: queryreeksparameter. Een door komma's gescheiden lijst met servicegebieden. Geldige items zijn Common, Exchange, SharePoint, Skype. Omdat Common-servicegebieditems een vereiste zijn voor alle overige servicegebieden, is dit item altijd in de webservice opgenomen. Als u deze parameter niet opneemt, worden alle services geretourneerd.

  • TenantName: queryreeksparameter. De naam van uw Office 365-tenant. De webservice gebruikt de opgegeven naam en voegt deze in delen van URL's in waarin de naam van de tenant is opgenomen. Als u geen tenantnaam opgeeft, bevatten deze URL's een jokerteken (*). De parameter TenantName is niet in de preview opgenomen.

  • Instance: routeparameter. Deze verplichte parameter specificeert het exemplaar waarvoor de eindpunten moeten worden geretourneerd. Geldige exemplaren zijn: O365Worldwide, O365China, O365Germany, O365USGovDoD, O365USGovGCCHigh.

Het resultaat van de eindpuntenwebmethode bestaat uit een matrix met records, waarbij elke record een eindpuntenset voorstelt. De elementen van elke record zijn:

  • id: het onveranderlijke id-nummer van de eindpuntenset. Vereist.

  • serviceArea: het servicegebied dat deel uitmaakt van: Common, Exchange, SharePoint of Skype. Vereist.

  • defaultUrls: URL's voor de eindpuntenset in de categorie Standaard. Een JSON-matrix van DNS-records.

  • allowUrls: URL's voor de eindpuntenset in de categorie Toestaan. Een JSON-matrix van DNS-records.

  • optimizeUrls: URL's voor de eindpuntenset in de categorie Optimaliseren. Een JSON-matrix van DNS-records.

  • defaultTcpPorts: TCP-poorten voor de eindpuntenset in de categorie Standaard. Alle poortelementen worden ingedeeld als een door komma's gescheiden lijst met poorten of poortbereiken die door een streepje (-) worden gescheiden. Poorten van een bepaalde categorie gelden voor alle IP-adressen in die eindpuntenset. Poorten van een bepaalde categorie gelden ook voor alle URL's in die eindpuntenset voor die categorie, evenals lagere categorieën. Lagere categorieën worden gedefinieerd in de volgorde Optimaliseren, Allow en Standaard, waarbij Standaard de laagste categorie is.

  • allowTcpPorts: TCP-poorten voor de IP-adresbereiken in deze eindpuntenset in de categorie Toestaan.

  • optimizeTcpPorts: TCP-poorten voor de IP-adresbereiken in deze eindpuntenset in de categorie Optimaliseren.

  • defaultUdpPorts: UDP-poorten voor de IP-adresbereiken in deze eindpuntenset in de categorie Standaard.

  • allowUdpPorts: UDP-poorten voor de IP-adresbereiken in deze eindpuntenset in de categorie Toestaan.

  • optimizeUdpPorts: UDP-poorten voor de IP-adresbereiken in deze eindpuntenset in de categorie Optimaliseren.

  • ips: de IP-adresbereiken die zijn gekoppeld aan deze eindpuntenset zoals gekoppeld aan de vermelde TCP- of UDP-poorten.

  • expressRoute: Waar of Onwaar als deze eindpuntenset via ExpressRoute wordt gerouteerd. Vereist.

  • optionalImpact: als deze eindpuntenset optioneel is, beschrijft deze tekst de Office 365-functionaliteit die ontbreekt als er eindpunten in deze eindpuntenset voorkomen die niet kunnen worden bereikt. Als de eindpuntenset niet optioneel is. wordt dit element uitgesloten.

Elementen die niet als vereist staan vermeld, zijn optioneel in de REST-uitvoer.

Voorbeelden:

Aanvraag-URI voorbeeld 1: https://endpoints.office.com/endpoints/O365Worldwide?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Met deze URI worden voor alle werkbelastingen alle eindpunten verkregen voor het Office 365 Worldwide-exemplaar. Voorbeeldresultaat met een fragment van de uitvoer:

[
  {
    "id":1,
    "serviceArea":"Exchange",
    "allowUrls":["*.protection.outlook.com"],
    "allowTcpPorts":"443",
    "expressRoute":true
  },
  {"id":2,
    "serviceArea":"Exchange",
    "allowUrls":["*.mail.protection.outlook.com"],
    "allowTcpPorts":"25",
    "expressRoute":true
  }, 
  {
    "id":3,
    "serviceArea":"Exchange",
    "ips":["213.199.154.0/24","213.199.180.128/26","94.245.120.64/26",
    "207.46.163.0/24","216.32.180.0/23","23.103.144.0/20","65.55.88.0/24",
    "65.55.169.0/24","207.46.100.0/24","104.47.0.0/17",
    "2a01:111:f400:fc00::/54","157.55.234.0/24","157.56.112.0/24","157.56.110.0/23",
    "23.103.200.0/22","2a01:111:f400:7c00::/54","23.103.132.0/22","23.103.136.0/21",
    "23.103.198.0/23","23.103.212.0/22","40.92.0.0/14","40.107.0.0/17",
    "40.107.128.0/18","52.100.0.0/14","2a01:111:f403::/48"],
    "allowTcpPorts":"25,443",
    "expressRoute":true
  },
...

In dit voorbeeld zijn geen aanvullende eindpuntensets opgenomen.

Aanvraag-URI voorbeeld 2: https://endpoints.office.com/endpoints/O365Worldwide?ServiceAreas=Exchange&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

In dit voorbeeld worden alleen eindpunten verkregen voor het Office 365 Worldwide-exemplaar voor Exchange Online en afhankelijkheden.

De uitvoer van voorbeeld 2 lijkt op die van voorbeeld 1, behalve dat in de resultaten geen eindpunten zijn opgenomen voor SharePoint Online of Skype voor Bedrijven Online.

Wijzigingenwebmethode

Met de wijzigingenwebmethode worden de meest recente updates die zijn gepubliceerd, geretourneerd. Dit zijn gewoonlijk de wijzigingen aan IP-adresbereiken en URL's van de vorige maand.

De parameter voor de wijzigingenwebmethode is:

  • Version: verplichte URL-routeparameter. De versie die u momenteel hebt geïmplementeerd en waarvoor u de wijzigingen aan die versie wilt zien. De indeling is JJJJMMDDNN.

Het resultaat van de wijzigingenwebmethode is een matrix met records, waarbij elke record een wijziging voorstelt in een bepaalde versie van de eindpunten. De elementen van elke record zijn:

  • id: de onveranderlijke id van de wijzigingenrecord. Vereist.

  • endpointSetId: de id van de eindpuntensetrecord die is gewijzigd. Vereist.

  • changeDescription: een beschrijving van de wijziging. Vereist.

  • disposition: dit kan slaan op wijzigen, toevoegen of verwijderen, en beschrijft de invloed van de wijziging op de eindpuntensetrecord. Vereist.

  • version: de versie van de gepubliceerde eindpuntenset waarin de wijziging is aangebracht. Versienummers hebben de indeling JJJJMMDDNN, waarbij NN een natuurlijk getal is, dat is verhoogd als er meerdere versies op één dag moeten worden gepubliceerd.

  • previous: een substructuur met een opsomming van vorige waarden van gewijzigde elementen in de eindpuntenset. Deze wordt niet opgenomen voor nieuw toegevoegde eindpuntensets. Bevat defaultTcpPorts, allowTcpPorts, optimizeTcpPorts, defaultUdpPorts, allowUdpPorts, optimizeUdpPorts, ExpressRoute, optionalImpact.

  • current: een substructuur met een opsomming van bijgewerkte waarden van gewijzigde elementen in de eindpuntenset. Bevat defaultTcpPorts, allowTcpPorts, optimizeTcpPorts, defaultUdpPorts, allowUdpPorts, optimizeUdpPorts, ExpressRoute, optionalImpact.

  • add: een substructuur met een opsomming van items die aan eindpuntensetverzamelingen moeten worden toegevoegd.

    • effectiveDate: definieert de gegevens als de toevoegingen live in de service zijn.

    • ips: toe te voegen items aan de ips-matrix.

    • defaultUrls: toe te voegen items aan de defaultUrls-matrix.

    • allowUrls: toe te voegen items aan de allowUrls-matrix.

    • optimizeUrls: toe te voegen items aan de optimizeUrls-matrix.

  • remove: een substructuur met een opsomming van items die uit de eindpuntenset moeten worden verwijderd.

    • ips: items die uit de ips-matrix moeten worden verwijderd.

    • defaultUrls: items uit de defaultUrls-matrix moeten worden verwijderd.

    • allowUrls: items uit de allowUrls-matrix moeten worden verwijderd.

    • optimizeUrls: items uit de optimizeUrls-matrix moeten worden verwijderd.

Voorbeelden:

Aanvraag-URI voorbeeld 1: https://endpoints.office.com/changes/o365worldwide/0000000000?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Hiermee worden alle voorgaande wijzigingen aan het Office 365 Worldwide-service-exemplaar aangevraagd. Resultaat van voorbeeld:

[
  {
    "id":2,
    "endpointSetId":118,
    "changeDescription":"Adding a OneNote endpoint",
    "disposition":"Change",
    "version":"2018030200",
    "add":{
      "effectiveDate":"20180401",
      "allowUrls":["officeapps.live.com"]
    }
  },
  {
    "id":3,
    "endpointSetId":33,
    "changeDescription":"Removing old IP prefixes",
    "disposition":"Change",
    "version":"2018031301",
    "remove":{
      "ips":["65.55.127.0/24","66.119.157.192/26","66.119.158.0/25",
        "111.221.76.128/25","111.221.77.0/26","207.46.5.0/24"]
    }
  },
  {
    "id":4,
    "endpointSetId":45,
    "changeDescription":"Removing old IP prefixes",
    "disposition":"Change",
    "version":"2018031301",
    "remove":{
      "ips":["13.78.93.8/32","40.113.87.220/32","40.114.149.220/32",
      "40.117.100.83/32","40.118.214.164/32","104.208.31.113/32"]
    }
  }
]

Aanvraag-URI voorbeeld 2: https://endpoints.office.com/changes/o365worldwide?version=2018031300&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Hiermee worden wijzigingen aangevraagd die zijn aangebracht na de opgegeven versie van het Office 365 Worldwide-service-exemplaar. Resultaat van voorbeeld:

[
  {
    "id":3,
    "endpointSetId":33,
    "changeDescription":"Removing old IP prefixes",
    "disposition":"Change",
    "version":"2018031301",
    "remove":{
      "ips":["65.55.127.0/24","66.119.157.192/26","66.119.158.0/25",
      "111.221.76.128/25","111.221.77.0/26","207.46.5.0/24"]
    }
  },
  {
    "id":4,
    "endpointSetId":45,
    "changeDescription":"Removing old IP prefixes",
    "disposition":"Change",
    "version":"2018031301",
    "remove":{
      "ips":["13.78.93.8/32","40.113.87.220/32","40.114.149.220/32",
      "40.117.100.83/32","40.118.214.164/32","104.208.31.113/32"]
    }
  }
]

Voorbeeld van PowerShell-script

Hier ziet u een PowerShell-script dat u kunt uitvoeren om te zien of er acties zijn die u moet ondernemen voor bijgewerkte gegevens. Met dit script wordt het versienummer van de eindpunten van het Office 365 Worldwide-exemplaar gecontroleerd. Als er een wijziging is, worden de eindpunten gedownload en wordt er gefilterd op de eindpunten in de categorie Toestaan. Er wordt ook een unieke ClientRequestId gebruikt voor meerdere aanroepen en wordt de nieuwste versie in een tijdelijk bestand opgeslagen. Roep dit script eenmaal per uur aan om te controleren op een update van de versie.

# webservice root URL
$ws = "https://endpoints.office.com"

# path where client ID and latest version number will be stored
$datapath = $Env:TEMP + "\endpoints_clientid_latestversion.txt"

# fetch client ID and version if data file exists; otherwise create new file
if (Test-Path $datapath) {
    $content = Get-Content $datapath
    $clientRequestId = $content[0]
    $lastVersion = $content[1]
}
else {
    $clientRequestId = [GUID]::NewGuid().Guid
    $lastVersion = "0000000000"
    @($clientRequestId, $lastVersion) | Out-File $datapath
}

# call version method to check the latest version, and pull new data if version number is different
$version = Invoke-RestMethod -Uri ($ws + "/version/O365Worldwide?clientRequestId=" + $clientRequestId)
if ($version.latest -gt $lastVersion) {
    Write-Host "New version of Office 365 worldwide commercial service instance endpoints detected"
    
    # write the new version number to the data file
    @($clientRequestId, $version.latest) | Out-File $datapath
    
    # invoke endpoints method to get the new data
    $endpointSets = Invoke-RestMethod -Uri ($ws + "/endpoints/O365Worldwide?clientRequestId=" + $clientRequestId)

    # filter results for Allow and Optimize endpoints, and transform these into custom objects with port and category
    $flatUrls = $endpointSets | ForEach-Object {
        $endpointSet = $_
        $allowUrls = $(if ($endpointSet.allowUrls.Count -gt 0) { $endpointSet.allowUrls } else { @() })
        $optimizeUrls = $(if ($endpointSet.optimizeUrls.Count -gt 0) { $endpointSet.optimizeUrls } else { @() })
        
        $allowUrlCustomObjects = $allowUrls | ForEach-Object {
            [PSCustomObject]@{
                category = "Allow";
                url      = $_;
                # Allow URLs should permit traffic across both Allow and Optimize ports
                tcpPorts = (($endpointSet.allowTcpPorts, $endpointSet.optimizeTcpPorts) | Where-Object { $_ -ne $null }) -join ",";
                udpPorts = (($endpointSet.allowUdpPorts, $endpointSet.optimizeUdpPorts) | Where-Object { $_ -ne $null }) -join ",";
            }
        }
        $optimizeUrlCustomObjects = $optimizeUrls | ForEach-Object {
            [PSCustomObject]@{
                category = "Optimize";
                url      = $_;
                tcpPorts = $endpointSet.optimizeTcpPorts;
                udpPorts = $endpointSet.optimizeUdpPorts;
            }
        }
        $allowUrlCustomObjects, $optimizeUrlCustomObjects
    }

    $flatIps = $endpointSets | ForEach-Object {
        $endpointSet = $_
        $ips = $(if ($endpointSet.ips.Count -gt 0) { $endpointSet.ips } else { @() })
        # IPv4 strings have dots while IPv6 strings have colons
        $ip4s = $ips | Where-Object { $_ -like '*.*' }
        
        $allowIpCustomObjects = @()
        if ($endpointSet.allowTcpPorts -or $endpointSet.allowUdpPorts) {
            $allowIpCustomObjects = $ip4s | ForEach-Object {
                [PSCustomObject]@{
                    category = "Allow";
                    ip = $_;
                    tcpPorts = $endpointSet.allowTcpPorts;
                    udpPorts = $endpointSet.allowUdpPorts;
                }
            }
        }
        $optimizeIpCustomObjects = @()
        if ($endpointSet.optimizeTcpPorts -or $endpointSet.optimizeUdpPorts) {
            $optimizeIpCustomObjects = $ip4s | ForEach-Object {
                [PSCustomObject]@{
                    category = "Optimize";
                    ip       = $_;
                    tcpPorts = $endpointSet.optimizeTcpPorts;
                    udpPorts = $endpointSet.optimizeUdpPorts;
                }                
            }
        }
        $allowIpCustomObjects, $optimizeIpCustomObjects
    }
    
    Write-Output "IPV4 Firewall IP Address Ranges"
    ($flatIps.ip | Sort-Object -Unique) -join "," | Out-String

    Write-Output "URLs for Proxy Server"
    ($flatUrls.url | Sort-Object -Unique) -join "," | Out-String

    # TODO Call Send-MailMessage with new endpoints data
}
else {
    Write-Host "Office 365 worldwide commercial service instance endpoints are up-to-date"
}

Voorbeeld van Python-script

Hier ziet u een Python-script, getest met Python 3.6.3 onder Windows 10. U kunt het uitvoeren om te zien of er acties zijn die u moet ondernemen voor bijgewerkte gegevens. Met dit script wordt het versienummer van de eindpunten van het Office 365 Worldwide-exemplaar gecontroleerd. Als er een wijziging is, worden de eindpunten gedownload en wordt er gefilterd op de eindpunten in de categorie Toestaan. Er wordt ook een unieke ClientRequestId gebruikt voor meerdere aanroepen en wordt de nieuwste versie in een tijdelijk bestand opgeslagen. Roep dit script eenmaal per uur aan om te controleren op een update van de versie.

import json
import os
import urllib.request
import uuid

# helper to call the webservice and parse the response
def webApiGet(methodName, instanceName, clientRequestId):
    ws = "https://endpoints.office.com"
    requestPath = ws + '/' + methodName + '/' + instanceName + '?clientRequestId=' + clientRequestId
    request = urllib.request.Request(requestPath)
    with urllib.request.urlopen(request) as response:
        return json.loads(response.read().decode())

# path where client ID and latest version number will be stored
datapath = os.environ['TEMP'] + '\endpoints_clientid_latestversion.txt'

# fetch client ID and version if data exists; otherwise create new file
if os.path.exists(datapath):
    with open(datapath, 'r') as fin:
        clientRequestId = fin.readline().strip()
        latestVersion = fin.readline().strip()
else:
    clientRequestId = str(uuid.uuid4())
    latestVersion = '0000000000'
    with open(datapath, 'w') as fout:
        fout.write(clientRequestId + '\n' + latestVersion)

# call version method to check the latest version, and pull new data if version number is different
version = webApiGet('version', 'O365Worldwide', clientRequestId)
if version['latest'] > latestVersion:
    print('New version of Office 365 worldwide commercial service instance endpoints detected')

    # write the new version number to the data file
    with open(datapath, 'w') as fout:
       fout.write(clientRequestId + '\n' + version['latest'])

    # invoke endpoints method to get the new data
    endpointSets = webApiGet('endpoints', 'O365Worldwide', clientRequestId)

    # filter results for Allow and Optimize endpoints, and transform these into tuples with port and category
    flatUrls = []
    for endpointSet in endpointSets:
        allowUrls = endpointSet['allowUrls'] if 'allowUrls' in endpointSet else []
        optimizeUrls = endpointSet['optimizeUrls'] if 'optimizeUrls' in endpointSet else []

        # Allow URLs should permit traffic across both Allow and Optimize ports
        allowTcpPorts = endpointSet['allowTcpPorts'] if 'allowTcpPorts' in endpointSet else ''
        optimizeTcpPorts = endpointSet['optimizeTcpPorts'] if 'optimizeTcpPorts' in endpointSet else ''
        allTcpPorts = ','.join([ports for ports in [allowTcpPorts, optimizeTcpPorts] if ports != ''])

        allowUdpPorts = endpointSet['allowUdpPorts'] if 'allowUdpPorts' in endpointSet else ''
        optimizeUdpPorts = endpointSet['optimizeUdpPorts'] if 'optimizeUdpPorts' in endpointSet else ''
        allUdpPorts = ','.join([ports for ports in [allowUdpPorts, optimizeUdpPorts] if ports != ''])

        flatUrls.extend([('Allow', allowUrl, allTcpPorts, allUdpPorts) for allowUrl in allowUrls])
        flatUrls.extend([('Optimize', optimizeUrl, optimizeTcpPorts, optimizeUdpPorts) for optimizeUrl in optimizeUrls])

    flatIps = []
    for endpointSet in endpointSets:
        ips = endpointSet['ips'] if 'ips' in endpointSet else []
        # IPv4 strings have dots while IPv6 strings have colons
        ip4s = [ip for ip in ips if '.' in ip]
        if 'allowTcpPorts' in endpointSet or 'allowUdpPorts' in endpointSet:
            allowTcpPorts = endpointSet['allowTcpPorts'] if 'allowTcpPorts' in endpointSet else ''
            allowUdpPorts = endpointSet['allowUdpPorts'] if 'allowUdpPorts' in endpointSet else ''
            flatIps.extend([('Allow', ip, allowTcpPorts, allowUdpPorts) for ip in ip4s])
        if 'optimizeTcpPorts' in endpointSet or 'optimizeUdpPorts' in endpointSet:
            optimizeTcpPorts = endpointSet['optimizeTcpPorts'] if 'optimizeTcpPorts' in endpointSet else ''
            optimizeUdpPorts = endpointSet['optimizeUdpPorts'] if 'optimizeUdpPorts' in endpointSet else ''
            flatIps.extend([('Optimize', ip, optimizeTcpPorts, optimizeUdpPorts) for ip in ip4s])

    print('IPv4 Firewall IP Address Ranges')
    print(','.join(sorted(set([ip for (category, ip, tcpPorts, udpPorts) in flatIps]))))

    print('URLs for Proxy Server')
    print(','.join(sorted(set([url for (category, url, tcpPorts, udpPorts) in flatUrls]))))

    # TODO send mail (e.g. with smtplib/email modules) with new endpoints data

else:
    print('Office 365 worldwide commercial service instance endpoints are up-to-date')

Versiebeheer van webservice-interface

In de toekomst zijn mogelijk updates van de parameters of resultaten van deze webservicemethoden vereist. Nadat de versie voor algemene beschikbaarheid van deze webservices is gepubliceerd, zal Microsoft redelijke inspanningen betrachten om u vooraf op de hoogte te stellen van materiële updates van de webservice. Indien Microsoft van mening is dat een update wijzigingen aan clients noodzakelijk maakt met behulp van de webservice, blijft de vorige versie van de webservice beschikbaar gedurende ten minste twaalf (12) maanden na de uitgifte van de nieuwe versie. Klanten die in die periode geen upgrade uitvoeren, kunnen mogelijk geen gebruik maken van de website en de bijbehorende methoden. Klanten dienen zich ervoor te zorgen dat clients van de webservice foutloos blijven functioneren indien de volgende wijzigingen aan de handtekening van de webservice-interface worden aangebracht:

  • Het toevoegen van een nieuwe, optionele parameter aan een bestaande webmethode die niet hoeft te worden opgegeven door oudere clients en die geen invloed heeft op het resultaat dat een oudere client ontvangt.

  • Het toevoegen van een attribuut met een nieuwe naam aan een van de respons-REST-items of van aanvullende kolommen aan de respons-CSV.

  • Het toevoegen van een nieuwe webmethode met een nieuwe naam die niet door de oudere clients wordt aangeroepen.

Veelgestelde vragen van beheerders over connectiviteit:

Klik onderaan op de koppeling om aan te geven of het artikel nuttig was en verzend eventueel aanvullende vragen. We controleren de feedback en zetten de meest gestelde vragen op deze pagina.

Als er nieuwe eindpunten worden aangekondigd, is er meestal een buffer van meer dan 30 dagen voordat ze effectief zijn en netwerkaanvragen kunnen verwerken. Deze buffer is er om ervoor te zorgen dat klanten en partners de mogelijkheid hebben om hun systemen bij te werken. Toevoegingen en verwijderingen van FQDN- en IP-voorvoegsels worden op het moment van de aankondiging in het XML-bestand verwerkt, wat betekent dat er 30 dagen voor gebruik al een nieuwe FQDN in het XML-bestand staat. Aangezien we stoppen met het versturen van netwerkaanvragen naar eindpunten die we verwijderen voordat we de verwijdering aankondigen, verwijderen we het eindpunt uit het XML-bestand op hetzelfde moment als de aankondiging dat het niet meer wordt gebruikt.

Office 365-eindpunten worden aan het einde van elke maand gepubliceerd, met een kennisgeving van 30 dagen. Soms vinden wijzigingen vaker plaats dan een keer per maand of met een kortere termijn voor kennisgeving. Wanneer een eindpunt wordt toegevoegd, is de ingangsdatum die in de RSS-feed wordt weergegeven de datum nadat netwerkverzoeken naar het eindpunt verzonden worden. Als RSS nieuw voor u is, raadpleegt u voor meer informatie Abonneren via Outlook. U kunt ook instellen dat de updates van RSS-feeds per e-mail naar u worden verzonden.

Nadat u zich hebt geabonneerd op de RSS-feed, kunt u de informatie zelf of met een script parseren. De volgende tabel beschrijft de indeling van de RSS-feed om dit te vereenvoudigen.

Sectie

Deel 1

Deel 2

Deel 3

Deel 4

Deel 5

Deel 6

Beschrijving

Aantal

De datum waarna u kunt verwachten dat netwerkaanvragen naar het eindpunt worden verzonden.

Eenvoudige beschrijving van de functie of service die het eindpunt vereist.

Kunt u naast internet verbinding maken met dit eindpunt in een ExpressRoute-circuit?

Ja -U kunt verbinding met dit eindpunt maken via zowel internet als ExpressRoute.

Nee -U kunt alleen verbinding met dit eindpunt maken via internet.

De doel-FQDN of het IP-bereik dat wordt toegevoegd of verwijderd.

Voorbeeld

1/

[Ingangsdatum: xx-xx-xxx.

Vereist: <beschrijving>.

ExpressRoute

<Ja/Nee>.

<FQDN/IP>],

Een aantal andere dingen die u moet weten: elke invoer heeft een algemene set met scheidingstekens:

  • / - na het aantal

  • [ - om de waarde voor het aantal aan te geven

  • . - wordt gebruikt tussen elke afzonderlijke sectie van de invoer

  • ], - om het einde van een invoer aan te geven

  • ], - om het einde van alle items aan te geven

Tenantlocatie kan het beste worden bepaald via onze datacenterkaart.

Peeringlocaties worden uitgebreid beschreven in peering with Microsoft (Engelstalig).

Met meer dan 2500 peeringrelaties van internetproviders wereldwijd en 70 aanwezigheidspunten moet u naadloos van uw netwerk naar ons netwerk kunnen gaan. U kunt het beste controleren of u de optimale peeringrelatie van de internetprovider gebruikt. Hier vindt u een paar voorbeelden van goede en minder goede peeringrelaties met ons netwerk.

Geaccepteerde ExpressRoute-routes worden gedefinieerd door de IP-bereiken van Microsoft en de specifieke Office 365BGP-community's.

We voegen regelmatig nieuwe functies en services aan de Office 365-suite toe om het connectiviteitslandschap uit te breiden. Als u bent geabonneerd op de E3- of E5-SKU, ga er dan voor het gemak van uit dat u alle eindpunten in de lijst nodig hebt als u toegang wilt hebben tot de volledige functionaliteit van de suite. Als u niet bent geabonneerd op een van deze SKU's is het verschil minimaal wat het aantal eindpunten betreft.

Lees Office 365 Network Connectivity Principles (Beginselen voor Office 365-netwerkconnectiviteit) voor meer informatie over Office 365-eindpuntcategorieën en informatie over de connectiviteitsrichtlijnen om het Office 365-verkeer veilig te beheren en de best mogelijke prestaties te krijgen.

In de afbeelding hieronder ziet u een voorbeeld uit een gedeelte van de FQDN-tabel in de sectie met Office Online. De rijen zijn georganiseerd op de functie en de verschillen in connectiviteit. De eerste twee rijen geven aan dat Office Online afhankelijk is van de eindpunten die zijn gemarkeerd als Vereist in de sectie Office 365 Authentication and Identity en de secties Portal en Gedeeld. Het is gebruikelijk dat een service in Office 365 afhankelijk is van deze gedeelde services. De derde rij geeft aan dat clientcomputers toegang moeten hebben tot *.officeapps.live.com om Office Online te kunnen gebruiken. De vierde rij geeft aan dat computers ook toegang moeten hebben tot *.cdn.office.net om Office Online te kunnen gebruiken.

Hoewel zowel rij drie als vier is vereist om Office Online te kunnen gebruiken, zijn ze gescheiden om het verschil in bestemming aan te geven:

  1. *.officeapps.live.com vertegenwoordigt geen CDN. Dat betekent dat aanvragen voor deze naamruimte rechtstreeks naar een Microsoft-datacenter gaan.

  2. *.officeapps.live.com is met behulp van Microsoft Peering toegankelijk op ExpressRoute-circuits.

  3. De IP-adressen die aan Office Online en *.officeapps.live.com zijn gekoppeld , vindt u door deze koppeling te volgen.

  4. *.cdn.office.net vertegenwoordigt een CDN die wordt gehost door Akamai. Dat betekent dat aanvragen naar deze naamruimte via een Akamai-datacenter lopen.

  5. *.cdn.office.net is niet toegankelijk op ExpressRoute-circuits.

  6. De IP-adressen die zijn gekoppeld aan Office Online en *.cdn.office.net zijn niet beschikbaar.

Schermafbeelding van de pagina met eindpunten

We bieden alleen IP-adressen voor de Office 365-servers waarnaar u rechtstreeks moet routeren via internet of ExpressRoute. Dit is niet een uitgebreide lijst met alle IP-adressen waarvoor u netwerkaanvragen ziet. U ziet netwerkaanvragen voor Microsoft en voor niet-gepubliceerde IP-adressen van derden. Deze IP-adressen worden zo dynamisch gegenereerd of beheerd dat u niet tijdig op de hoogte wordt gebracht wanneer deze worden gewijzigd. Als via uw firewall geen toegang wordt verleend op basis van de FQDN's voor deze netwerkaanvragen, gebruikt u een PAC- of WPAD-bestand om de aanvragen te beheren.

Ziet u een IP dat is gekoppeld aan Office 365 en waar u meer over wilt weten?

  1. Controleer of het IP-adres is opgenomen in een groter, gepubliceerd bereik met behulp van een CIDR-calculator.

  2. Bekijk of een partner eigenaar is van het IP met een whois-query. Als Microsoft de eigenaar is, is het mogelijk een interne partner.

  3. Controleer het certificaat door in een browser verbinding te maken met het IP-adres via HTTPS://<IP-adres>. Kijk welke domeinen er worden vermeld op het certificaat. Dit zijn de domeinen die aan het IP-adres zijn gekoppeld. Als het een IP-adres betreft dat het eigendom is van Microsoft maar dat niet in de lijst staat met IP-adressen van Office 365, is de kans groot dat het IP-adres is gekoppeld aan een Microsoft CDN zoals MSOCDN.NET of aan een ander Microsoft-domein zonder gepubliceerde IP-gegevens. Als u vaststelt dat het domein op het certificaat een domein is waarvan het IP-adres eigenlijk zou moeten worden herkend, laat het ons dan weten.

Office 365 en andere Microsoft-services maken gebruik van verschillende externe services, zoals Akamai en MarkMonitor om uw Office 365-ervaring te verbeteren. Om u steeds de beste ervaring te bieden, gaan we deze services mogelijk in de toekomst veranderen. Als we dit doen, publiceren we vaak de CNAME-record die verwijst naar een domein van een derde partij, A-record of IP-adres. Domeinen van derden kunnen inhoud hosten, zoals een CDN, of ze kunnen een service hosten, zoals een geografische service voor verkeerbeheer. Wanneer u ziet dat er verbinding wordt gemaakt met deze derde partijen, is dat in de vorm van een omleiding of een verwijzing, niet een eerste aanvraag van de client. Sommige klanten moeten ervoor zorgen dat deze vorm van verwijzing en omleiding is toegestaan zonder dat ze de lange lijst met mogelijke FQDN's voor services van derden expliciet hoeven toe te voegen.

De lijst met services kan op elk moment worden gewijzigd. Enkele voorbeelden van services die momenteel worden gebruikt:

MarkMonitor wordt gebruikt wanneer u aanvragen ziet met daarin *.nsatc.net. Deze service biedt domeinnaambeveiliging en monitoring ter bescherming tegen schadelijk gedrag.

ExactTarget wordt gebruikt wanneer u aanvragen ziet voor *.exacttarget.com. Deze service biedt beheer van e-mailkoppelingen en monitoring ter bescherming tegen schadelijk gedrag.

Akamai wordt gebruikt wanneer u aanvragen ziet met daarin een van de volgende FQDN's. Deze service biedt geo-DNS en CDN-services.

*.akadns.net
*.akam.net
*.akamai.com
*.akamai.net
*.akamaiedge.net
*.akamaihd.net
*.akamaized.net
*.edgekey.net
*.edgesuite.net

  • U maakt verbinding met externe services (services van derden) om gebruik te maken van eenvoudige internetservices, zoals DNS-lookups en het ophalen van CDN-inhoud (Content Delivery Network). Daarnaast maakt u verbinding met externe services voor integraties zoals het invoegen van YouTube-video's in uw OneNote-notitieblokken.

  • U maakt verbinding met secundaire services die worden gehost en uitgevoerd door Microsoft, zoals knooppunten aan de rand van het netwerk die het mogelijk maken om uw netwerkaanvraag door te geven aan het wereldwijde netwerk van Microsoft op een internetlocatie zo dicht mogelijk bij uw computer. Aangezien ons netwerk het derde grootste netwerk ter wereld is, wordt uw connectiviteit hierdoor enorm verbeterd. U maakt ook verbinding met Microsoft Azure-services zoals Azure Media Services, die worden gebruikt door verschillende Office 365-services.

  • U maakt verbinding met primaire Office 365-services zoals de Exchange Online-postvakserver of de server van Skype voor Bedrijven Online waar uw unieke en eigen gegevens worden opgeslagen. U kunt verbinding maken met de primaire Office 365-services met behulp van een FQDN of een IP-adres. Bovendien kunt u kiezen of u internet- of ExpressRoute-circuits wilt gebruiken. Verbinding met externe en secundaire services is alleen mogelijk met een FQDN op een internetcircuit.

In het volgende diagram ziet u de verschillen tussen deze servicegebieden. In dit diagram bevat het on-premises netwerk van de klant, in de linkerbenedenhoek, verschillende netwerkapparaten voor beheer van de connectiviteit met het netwerk. Configuraties zoals deze zijn heel gebruikelijk voor zakelijke klanten. Als in uw netwerk alleen een firewall aanwezig is tussen uw clientcomputers en internet, wordt dit ook ondersteund. Het is dan wel belangrijk dat uw firewall ondersteuning kan bieden voor FQDN's en jokertekens in de regels van de lijst met toegestane apparaten.

Lees Office 365 Network Connectivity Principles (Beginselen voor Office 365-netwerkconnectiviteit) voor meer informatie over Office 365-eindpuntcategorieën en informatie over de connectiviteitsrichtlijnen om het Office 365-verkeer veilig te beheren en de best mogelijke prestaties te krijgen.

De drie verschillende typen eindpunten van netwerken wanneer u Office 365 gebruikt

Office 365 bestaat uit verschillende services die zijn gebouwd voor gebruik via internet. De toezeggingen ten aanzien van betrouwbaarheid en beschikbaarheid zijn gebaseerd op de toegang tot een groot aantal standaardinternetservices. Zo moeten internetservices zoals DNS, CRL en CDNs bereikbaar zijn om Office 365 te kunnen gebruiken. Deze vereiste geldt overigens voor vrijwel alle moderne internetservices.

Naast deze standaardinternetservices wordt er gebruikgemaakt van externe services die alleen nodig zijn om functionaliteit te integreren. Zo wordt bijvoorbeeld Giphy.com gebruikt binnen Microsoft Teams om klanten in staat te stellen Gifs toe te voegen aan Teams. YouTube en Flickr zijn externe services die worden gebruikt om vanaf internet video en afbeeldingen naadloos te integreren in Office-clients. Hoewel deze services nodig zijn voor integratiedoeleinden, worden ze aangeduid als optioneel in het artikel over Office 365-eindpunten. Dit betekent dat de kernfunctionaliteit van de service beschikbaar blijft als het eindpunt niet toegankelijk is.

Als u probeert om Office 365 te gebruiken en merkt dat externe services niet toegankelijk zijn, moet u ervoor zorgen dat alle FQDN's die in dit artikel als vereist of optioneel zijn aangeduid, worden doorgelaten door de proxy en firewall.

Secundaire services zijn Microsoft-services die niet onder het beheer van Office 365 vallen. Denk hierbij aan services zoals het randnetwerk, Azure Media Services en Azure Content Delivery Networks. Deze zijn allemaal vereist voor het gebruik van Office 365 en moeten bereikbaar zijn.

Als u probeert om Office 365 te gebruiken en merkt dat externe services niet toegankelijk zijn, moet u ervoor zorgen dat alle FQDN's die in dit artikel als vereist of optioneel zijn aangeduid, worden doorgelaten door de proxy en firewall.

Het beperken van toegang tot onze consumentenservices moet op eigen risico worden uitgevoerd. De enige betrouwbare manier om consumentenservices te blokkeren, is door de toegang tot de FQDN login.live.com te beperken. Deze FQDN wordt gebruikt door een groot aantal services, inclusief niet-consumentenservices zoals MSDN, TechNet en andere services. Het beperken van de toegang tot deze FQDN kan ertoe leiden dat er ook uitzonderingen op de regel moeten worden opgenomen voor netwerkaanvragen die aan deze services zijn gekoppeld.

Het blokkeren van de toegang tot consumentenservices van Microsoft is onvoldoende om te voorkomen dat iemand op het netwerk informatie kan verkrijgen via een Office 365-tenant of een andere service.

Verwante onderwerpen

IP-adresbereiken voor Microsoft Azure Datacenter
Openbare IP-adresruimte van Microsoft
Netwerkinfrastructuurvereisten voor Microsoft Intune
Power BI en ExpressRoute
URL's en IP-adresruimten voor Office 365
ExpressRoute beheren voor Office 365-connectiviteit
Office 365 Network Connectivity Principles (Beginselen voor Office 365-netwerkconnectiviteit))

Uw Office-vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×