Upravljanje krajnjim točkama sustava Office 365

Povezivanje sa sustavom Office 365 putem mreže

8.3.2018. Veze sa sustavom Office 365 sastoje se od zahtjeva pouzdanih mreža za velik broj računala koji najbolje funkcioniraju kada se upućuju putem izlaza s malim kašnjenjem u blizini korisnika. Kvaliteta nekih veza sa sustavom Office 365 može se poboljšati ako se optimiziraju.

  1. Na popisu dopuštenih stavki vatrozida provjerite je li dopušteno povezivanje s krajnjim točkama sustava Office 365.

  2. Pomoću infrastrukture proxyja dopustite internetsko povezivanje sa zamjenskim i neobjavljenim odredištima.

  3. Održavajte optimalnu konfiguraciju vanjske mreže.

  4. Ostvarite najbolju moguću povezivost.

  5. Pročitajte članak Načela povezivanja sa sustavom Office 365 putem mreže da biste razumjeli načela povezivanja radi sigurnog upravljanja prometom u sustavu Office 365 i postizanja najboljih mogućih performansi.

Povezivanje sa sustavom Office 365 putem vatrozida i proxy poslužitelja.

Ažuriranje vatrozidovih vanjskih popisa dopuštenih

Mrežu možete optimizirati slanjem svih zahtjeva pouzdanih mreža sustava Office 365 izravno kroz vatrozid te time zaobići sve dodatne obrade ili provjere na razini paketa. Time se smanjuje spor rad uzrokovan latencijom, kao i uvjeti kapaciteta opsega. Najjednostavniji način odabira pouzdanih mrežnih zahtjeva jest korištenje unaprijed izrađenih PAC datoteka na prethodno navedenoj kartici Proxy poslužitelji.

Ako vatrozid blokira izlazni promet, provjerite nalaze li se sve IP adrese i puni nazivi domena navedeni kao obavezni u ovoj XML datoteci na popisu dopuštenih stavki. Imajte na umu da je za sve servise potrebno koristiti neki od servisa drugih proizvođača. Ne nudimo IP adrese tih servisa drugih proizvođača, kao što su davatelji certifikata, mreže za isporuku sadržaja, davatelji DNS-a itd. Da biste mogli koristiti sve funkcije sustava Office 365, morate moći pristupiti svim odredištima koje Office 365 zatraži neovisno o tome koliko podataka objavimo o određenom odredištu.

Mnoga odredišta nemaju objavljenu IP adresu ili su navedena kao zamjenska domena bez punog naziva domene. Da biste koristili funkciju, mrežne zahtjeve morate moći razriješiti trenutnu IP adresu koja se zahtijeva i poslati mrežni zahtjev putem interneta.

Automatizirajte postupak pomoću vatrozida koji umjesto vas raščlanjuje XML datoteku i ažurira pravila na temelju servisa i značajki koje namjeravate izravno usmjeravati putem vatrozida. Možete i koristiti alat Azure Range, koji su stvorili članovi zajednice i koji umjesto vas raščlanjuje XML uz mogućnosti izvoza u Cisco XE Route ili konfiguraciju ACL popisa, običan tekst ili CSV.

Dulje objašnjenje mrežnih odredišta dostupno je na našem referentnom web-mjestu, kao i u našem zapisu o promjenama utemeljenom na RSS-u tako da se možete pretplatiti na promjene.

Konfiguriranje odlaznih putova uz PAC datoteke

Mrežnim zahtjevima povezanim sa sustavom Office 365 za koje nije navedena IP adresa upravljajte pomoću PAC i WPAD datoteka. Mrežni zahtjevi koji se šalju putem proxyja ili vanjskog uređaja obično rezultiraju dodatnim kašnjenjem. Premda provjera autentičnosti proxyja rezultira najvećim opterećenjem, drugi servisi kao što su traženje podataka o reputaciji i pokušaji pregledavanja paketa mogu negativno utjecati na korisnički doživljaj. Osim toga, tim je vanjskim mrežnim uređajima potreban dodatni kapacitet da bi obradili sve mrežne zahtjeve. Kada je riječ o izravnim mrežnim zahtjevima sustava Office 365, preporučujemo zaobilaženje proxy poslužitelja ili provjeru infrastrukture.

Pomoću jedne od PAC datoteka kao polazišta odredite koji će se mrežni promet slati na proxy, a koji u vatrozid. Ako niste upoznati s PAC ili WPAD datotekama, pročitajte članak o implementaciji PAC datoteka našeg savjetnika za Office 365. Preporučujemo da datoteke koje koristite kao polazište pregledate i uredite u skladu sa svojim okruženjem.

PAC datoteke, ažurirano 7. 5. 2018.

Prvi je primjer prikaz preporučenog pristupa upravljanju krajnjim točkama samo putem interneta. Time se zaobilazi proxy za odredišta sustava Office 365 gdje je IP adresa objavljena i preostali se mrežni zahtjevi šalju u proxy.

Isječak koda:

// 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;
}

Drugi je primjer prikaz preporučenog pristupa upravljanju vezama kada su dostupni krugovi značajke ExpressRoute i internetski krugovi. Time se oglašena odredišta značajke ExpressRoute šalju u krug značajke ExpressRoute i na oglašena odredišta za proxy koja se nalaze samo na internetu.

Isječak koda:

// 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;
    }
}

Treći je primjer prikaz slanja svih mrežnih zahtjeva povezanih sa sustavom Office 365 na jedno odredište. On se obično koristi za zaobilaženje svih pregleda mrežnih zahtjeva sustava Office 365, a ujedno pruža i oblik u kojem se sve objavljene krajnje točke nalaze na popisu u obliku PAC datoteke koju možete koristiti za prilagođavanje.

Isječak koda:

// 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";
}

Ovdje ćete pronaći još nekoliko alata koje je izradila zajednica, a ako ste nešto sami izradili i željeli biste to podijeliti s drugima, ostavite bilješku u komentarima. Microsoft alate navedene u ovom članku koje su stvorili članovi zajednice službeno ne podržava niti ih održava, već su navedeni da bi vam olakšali rad.

  • Ovo je najstariji alat koji je zajednica generirala za upravljanje postupkom. Alat je razvio član zajednice sustava Office 365. Ovdje se nalazi veza za preuzimanje.

  • Dokaz koncepta s pravilima vatrozida koje je moguće izvoziti: API za IP adresu Microsoftova oblaka.

  • S bloga IT Praktyk: RSS pretvorba i XML pretvorba.

  • Od Petera Abela: Preuzimanje.

  • Pomoću mrežne analize odredite koji će mrežni zahtjevi zaobilaziti infrastrukturu proxya. S obzirom na količinu mrežnog prometa koji se šalje tim krajnjim točkama i koji se s njih prima, najčešće korišteni FQDN-ovi za zaobilaženje korisničkih proxya obuhvaćaju sljedeće:

    outlook.office365.com
    outlook.office.com
    <tenant-name>.sharepoint.com
    <tenant-name>-my.sharepoint.com
    <tenant-name>-<app>.sharepoint.com
    *.Lync.com
    
  • Da biste omogućili uspješno slanje zahtjeva, provjerite imaju li svi mrežni zahtjevi koji se izravno šalju u vatrozid odgovarajući unos na popisu dopuštenih u vatrozidu.

Integracija vanjske mreže

Jeste li znali da je Microsoftov WAN jedna od najvećih glavnih mreža na svijetu?

Tako je, ta je golema mreža ono što omogućuje funkcioniranje sustava Office 365 i naših ostalih servisa u oblaku ma gdje se nalazili. Naša se mreža sastoji od veza visoke propusnosti i malog kašnjenja koje se mogu prebacivati u slučaju pogreške, a obuhvaćaju tisuće milja privatnih neiskorištenih optičkih veza, kao i od veza između podatkovnih centara i krajnjih čvorova od većeg broja terabita, što olakšava korištenje naših servisa u oblaku.

Kada imate takvu mrežu, htjet ćete da se uređaji vaše tvrtke ili ustanove s njom povežu što je prije moguće. Uz više od 2500 odnosa prijenosa između ravnopravnih članova ISP-a diljem svijeta i 70 točaka prisutnosti prelazak s vaše mreže na našu trebao bi proći bez prekida. Neće škoditi da odvojite nekoliko minuta da biste provjerili je li vaš odnos prijenosa između ravnopravnih članova ISP-a optimalan. Ovdje ćete pronaći nekoliko primjera dobrih i ne tako dobrih prijenosa s ravnopravnih partnera na našu mrežu.

Uređaje na mreži možete ručno ili automatski konfigurirati tako da podnesu mrežne zahtjeve aplikacije sustava Office 365 na optimalan način, ovisno o vašoj opremi. Promjene konfiguracije koje su potrebne za upravljanje mrežnim prometom sustava Office 365 na optimalan način ovisit će o vašem okruženju. Mrežnim će zahtjevima sustava Office 365 koristiti mrežne konfiguracije koje omogućuju sljedeće:

  • prioritet nad manje kritičnim mrežnim prometom

  • usmjeravanje na lokalne izlaze radi izbjegavanja posredovanja putem spore WAN veze, čime se istovremeno iskorištava malo kašnjenje dostupno u Microsoftovoj mreži (ovdje ćete pronaći zanimljivu raspravu utemeljenu na angažmanu korisnika)

  • Pomoću DNS-a u blizini lokalnog izlaza provjerite stiže li mrežni zahtjev koji napušta lokalni izlaz na najbliže Microsoftovo mjesto za prijenos između ravnopravnih članova.

  • izostavljanje iz dubinske inspekcije paketa (DPI – eng. deep packet inspection) ili drugih opsežnih mrežnih obrada paketa radi zadovoljavanja preduvjeta kašnjenja na razini

Moderni mrežni uređaji sadrže mogućnosti upravljanja mrežnim zahtjevima za pouzdane aplikacije, kao što su one sustava Office 365, na drugačiji način od običnog, nepouzdanog internetskog prometa. Uz nadolazeće mogućnosti SD-WAN rješenja takva diferencijacija prometa i odabira putova može se provesti i uz svijest o promjenjivim stanjima mreže, kao što su dostupnost u određenoj točki u vremenu, kašnjenje ili performanse različitih putova povezivosti između korisnika i oblaka.

U člancima Planiranje mreže i migriranja za Office 365, Plan otklanjanja poteškoća s performansama za Office 365 i Kontrolni popis za planiranje implementacije sustava Office 365 potražite dodatne smjernice za planiranje konfiguracije mreže.

Da biste implementirali taj scenarij:

Obratite se davatelju mrežnog rješenja ili pružatelju usluge da biste provjerili mogu li oni koristiti URL-ove i definicije IP-a za Office 365 iz XML-a da biste olakšali lokalni, mali neizravni izlaz podataka (prema korisniku) za promet sustava Office 365, upravljali njegovim prioritetom u odnosu na druge aplikacije i prilagođavali mrežni put za veze sustava Office 365 prema Microsoftovoj mreži ovisno o promjenjivim mrežnim uvjetima. Neka rješenja u svom stogu preuzimaju i automatiziraju definicije XML-ova s URL-ovima i IP-ovima za Office 365.

Uvijek provjerite ima li implementirano rješenje potrebnu razinu otpornosti, prikladnu geozalihost mrežnog puta za promet sustava Office 365 te prilagođava li se promjenama URL-ova i IP-ova sustava Office 365 kada su objavljene.

Da biste lakše prepoznavali i razlikovali mrežni promet sustava Office 365, novi web-servis objavljuje krajnje točke sustava Office 365, čime vam pojednostavnjuje procjenu, konfiguriranje i praćenje promjena. Taj novi web-servis (trenutno u fazi pretpregleda) zamijenit će popise krajnjih točaka u članku URL-ovi i rasponi IP adresa za Office 365 te verzije tih podataka u obliku RSS i XML. Za te se oblike podataka o krajnjim točkama planira postupno ukidanje u bliskoj budućnosti.

Kao korisnik ili dobavljač vanjskih mrežnih uređaja network možete testirati novi web-servis utemeljen na arhitekturi REST za IP adrese i FQDN-ove za Office 365 koji je trenutno u fazi pretpregleda:

Korisnicima taj web-servis omogućuje sljedeće:

  • ažuriranje skripti komponente PowerShell radi dohvaćanja podataka o krajnjim točkama sustava Office 365 i izmjene oblikovanja za mrežne uređaje

  • ažuriranje PAC datoteka implementiranih na klijentska računala pomoću tih podataka

Dobavljačima vanjskih mrežnih uređaja taj web-servis omogućuje sljedeće:

  • stvaranje i testiranje softvera uređaja radi preuzimanja popisa za automatizirano konfiguriranje

  • provjeru trenutne verzije

  • dohvaćanje trenutnih promjena

U odjeljcima u nastavku opisuje se pretpregled tog web-servisa, koji će se možda s vremenom mijenjati dok ne postane dostupan širokom krugu korisnika.

Podaci na web-servisu ažurni su, ali uz sljedeći poznati problem:

Zajednički parametri

Ovi su parametri zajednički za sve metode web-servisa:

  • format=CSV | JSON – parametar niza upita. Oblik vraćenih podataka po zadanom je JSON. Uvrstite taj neobavezni parametar da bi se podaci vratili u obliku vrijednosti razdvojenih zarezom (CSV).

  • ClientRequestId – parametar niza upita. Obavezni GUID koji generirate radi povezivanja klijentske sesije. GUID je potrebno generirati za svako klijentsko računalo koje poziva web-servis. Nemojte koristiti GUID-ove prikazane u primjerima u nastavku jer bi ih web-servis mogao ubuduće blokirati. Oblik GUID-a je xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, pri čemu x predstavlja heksadecimalni broj. GUID generirajte pomoću naredbe New-Guid komponente PowerShell.

Web-metoda za verziju

Microsoft ažurira IP adrese i FQDN-ove za Office 365 na kraju svakog mjeseca i katkad češće radi operativnih zahtjeva. Podacima za svaku objavljenu instanci dodjeljuje se broj verzije. Web-metoda za verziju omogućuje utvrđivanje najnovije verzije svake instance servisa sustava Office 365. Očekuje se da će se krajnje točke mijenjati jedanput mjesečno. Preporučujemo da verziju provjeravate svakog dana ili u krajnjem slučaju svakog sata.

Za web-metodu za verziju dostupan je samo jedan parametar:

  • AllVersions=true – parametar niza upita. Vraćena je verzija po zadanom najnovija. Taj neobavezni parametar uvrstite da biste zatražili sve objavljene verzije.

  • Instance – parametar usmjeravanja. Taj neobavezni parametar navodi instancu za koju se vraća verzija. Ako se izostavi, vraćaju se verzije za sve instance. Valjane su instance: O365Worldwide, O365China, O365Germany, O365USGovDoD, O365USGovGCCHigh

Rezultat dobiven web-metodom za verziju može biti jedan zapis ili polje zapisa. Elementi svakog zapisa:

  • instance – kratki naziv instance servisa sustava Office 365.

  • latest – najnovija verzija za krajnje točke navedene instance.

  • versions – neobavezni popis svih prethodnih verzija za navedenu instancu.

Primjeri:

Prvi primjer – URI zahtjeva: https://endpoints.office.com/version?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Taj URI vraća najnoviju verziju svake instance servisa sustava Office 365. Primjer rezultata:

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

Važno: GUID za parametar ClientRequestID u tim URI-jima naveden je samo kao primjer. Da biste isprobali URI-je web-servisa, generirajte vlastiti GUID. Web-servis mogao bi ubuduće blokirati GUID-ove prikazane u ovim primjerima.

Drugi primjer – URI zahtjeva: https://endpoints.office.com/version/O365Worldwide?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Taj URI vraća najnoviju verziju navedene instance servisa sustava Office 365. Primjer rezultata:

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

Treći primjer – URI zahtjeva: https://endpoints.office.com/version/O365Worldwide?Format=CSV&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Taj URI prikazuje izlaz u obliku CSV. Primjer rezultata:

instance,latest
O365Worldwide,2018031302

Četvrti primjer – URI zahtjeva: https://endpoints.office.com/version/O365Worldwide?Format=CSV&AllVersions=true&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Taj URI prikazuje sve prethodne verzije koje su objavljene za instancu servisa sustava Office 365 za cijeli svijet. Primjer rezultata:

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

Web-metoda za krajnje točke

Web-metoda za krajnje točke vraća sve zapise za raspone IP adresa i URL-ove koji čine servis sustava Office 365. Za web-metodu za krajnje točke dostupni su sljedeći parametri:

  • ServiceAreas – parametar niza upita. Popis područja servisa razdvojenih zarezom. Valjane su stavke Common,Exchange,SharePoint,Skype. Budući da su stavke područja servisa Common preduvjet za sva ostala područja servisa, web-servis ih uvijek sadrži. Ako ne uvrstite taj parametar, vraćaju se sva područja servisa.

  • TenantName – parametar niza upita. Naziv klijenta za Office 365. Web-servis umeće naziv koji ste naveli i umeće ga u dijelove URL-ova koji obuhvaćaju naziv klijenta. Ako ne navedete naziv klijenta, ti dijelovi URL-ova sadrže zamjenski znak (*). Parametar TenantName nije dostupan u sklopu pretpregleda.

  • Instance – parametar usmjeravanja. Taj obavezni parametar navodi instancu za koju se vraćaju krajnje točke. Valjane su instance: O365Worldwide, O365China, O365Germany, O365USGovDoD, O365USGovGCCHigh.

Rezultat dobiven web-metodom za krajnje točke polje je zapisa u kojem svaki zapis predstavlja postavljenu krajnju točku. Elementi svakog zapisa:

  • id – nepromjenjivi identifikacijski broj skupa krajnjih točaka. Obavezno.

  • serviceArea – područje servisa kojeg je ovo dio: Common, Exchange, SharePoint ili Skype. Obavezno.

  • defaultUrls – URL-ovi za skup krajnjih točaka koji se nalaze u kategoriji "Default". JSON polje DNS zapisa.

  • allowUrls – URL-ovi za skup krajnjih točaka koji se nalaze u kategoriji "Allow". JSON polje DNS zapisa.

  • optimizeUrls – URL-ovi skup krajnjih točaka koji se nalaze u kategoriji "Optimize". JSON polje DNS zapisa.

  • defaultTcpPorts – TCP priključci za skup krajnjih točaka koji se nalaze u kategoriji "Default". Svi elementi priključaka oblikovani su kao popis priključaka razdvojenih zarezom ili raspona priključaka razdvojenih crticom (-). Priključci određene kategorije primjenjuju se na sve IP adrese u tom skupu krajnjih točaka. Priključci određene kategorije primjenjuju se i na sve URL-ove u tom skupu krajnjih točaka za tu kategoriju, baš kao i za niže kategorije. Niže se kategorije definiraju redoslijedom Optimize, Allow i Default, pri čemu je kategorija Default najniža.

  • allowTcpPorts – TCP priključci za raspone IP adresa u skupu krajnjih točaka koji se nalaze u kategoriji "Allow".

  • optimizeTcpPorts – TCP priključci za raspone IP adresa u skupu krajnjih točaka koji se nalaze u kategoriji "Optimize".

  • defaultUdpPorts – UDP priključci za raspone IP adresa u skupu krajnjih točaka koji se nalaze u kategoriji "Default".

  • allowUdpPorts – UDP priključci za raspone IP adresa u skupu krajnjih točaka koji se nalaze u kategoriji "Allow".

  • optimizeUdpPorts – UDP priključci za raspone IP adresa u skupu krajnjih točaka koji se nalaze u kategoriji "Optimize".

  • ips – rasponi IP adresa pridruženi skupu krajnjih točaka kao pridruženi navedenim TCP ili UDP priključcima.

  • expressRoute – True ili False ako se skup krajnjih točaka usmjerava putem servisa ExpressRoute. Obavezno.

  • optionalImpact – ako je skup krajnjih točaka neobavezan, taj tekst opisuje funkciju sustava Office 365 koja neće biti dostupna ako nije moguće pristupiti krajnjim točkama u skupu krajnjih točaka. Ako skup krajnjih točaka nije neobavezan, taj se element izuzima.

Elementi koji nisu navedeni kao obavezni neobavezni su u REST izlazu.

Primjeri:

Prvi primjer – URI zahtjeva: https://endpoints.office.com/endpoints/O365Worldwide?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Taj URI dohvaća sve krajnje točke za instancu sustava Office 365 za cijeli svijet za sva radna opterećenja. U primjeru rezultata prikazuje se dio izlaza:

[
  {
    "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
  },
...

Ovim primjerom nisu obuhvaćeni dodatni skupovi krajnjih točaka.

Drugi primjer – URI zahtjeva: https://endpoints.office.com/endpoints/O365Worldwide?ServiceAreas=Exchange&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

U ovom se primjeru dohvaćaju krajnje točke za instancu sustava Office 365 za cijeli svijet samo za Exchange Online i zavisnosti.

Izlaz za primjer 2 sličan je izlazu za primjer 1, samo što rezultati ne obuhvaćaju krajnje točke za SharePoint Online ni Skype za tvrtke online.

Web-metoda za promjene

Web-metoda za promjene vraća zadnja objavljena ažuriranja. To su u pravilu promjene raspona IP adresa i URL-ova iz prethodnog mjeseca.

Parametar za web-metodu za promjene:

  • Version – obavezni parametar usmjeravanja URL-a. Verzija koja je trenutno implementirana i nakon koje želite vidjeti promjene. Oblik je GGGGMMDDBB.

Rezultat dobiven web-metodom za promjene polje je zapisa u kojem svaki zapis predstavlja promjenu u određenoj verziji krajnjih točaka. Elementi svakog zapisa:

  • id – nepromjenjivi ID zapisa za promjenu. Obavezno.

  • endpointSetId – ID zapisa za promijenjeni skup krajnjih točaka. Obavezno.

  • changeDescription – tekstni opis promjene. Obavezno.

  • disposition – to može biti promjena, dodavanje ili uklanjanje i opisuje što je promjena učinila u zapisu za skup krajnjih točaka. Obavezno.

  • version – verzija objavljenog skupa krajnjih točaka u kojemu je promjena unesena. Brojevi verzija navedeni su u obliku GGGGMMDDBB, pri čemu je BB prirodni broj koji se povećava ako je potrebno objaviti više verzija tijekom jednog dana.

  • previous – podstruktura koja navodi prethodne vrijednosti promijenjenih elemenata u skupu krajnjih točaka. Taj se parametar ne uvrštava za novododane skupove krajnih točaka. Obuhvaća elemente defaultTcpPorts, allowTcpPorts, optimizeTcpPorts, defaultUdpPorts, allowUdpPorts, optimizeUdpPorts, ExpressRoute i optionalImpact.

  • current - podstruktura koja navodi ažurirane vrijednosti elemenata promjena u skupu krajnjih točaka. Obuhvaća elemente defaultTcpPorts, allowTcpPorts, optimizeTcpPorts, defaultUdpPorts, allowUdpPorts, optimizeUdpPorts, ExpressRoute i optionalImpact.

  • add – podstruktura koja navodi stavke koje će biti odane u zbirke skupova krajnjih točaka.

    • effectiveDate – definira datum dostupnosti dodataka na servisu.

    • ips – stavke koje će biti dodane u polje ips.

    • defaultUrls – stavke koje će biti dodane u polje defaultUrls.

    • allowUrls – stavke koje će biti dodane u polje allowUrls.

    • optimizeUrls – stavke koje će biti dodane u polje optimizeUrls.

  • remove – podstruktura koja navodi stavke koje će biti uklonjene iz skupa krajnjih točaka.

    • ips – stavke koje će biti uklonjene iz polja ips.

    • defaultUrls – stavke koje će biti uklonjene iz polja defaultUrls.

    • allowUrls – stavke koje će bit uklonjene iz polja allowUrls.

    • optimizeUrls – stavke koje će biti uklonjene iz polja optimizeUrls.

Primjeri:

Prvi primjer – URI zahtjeva: https://endpoints.office.com/changes/o365worldwide/0000000000?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Zahtijeva sve prethodne promjene instance servisa sustava Office 365 za cijeli svijet. Primjer rezultata:

[
  {
    "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"]
    }
  }
]

Drugi primjer – URI zahtjeva: https://endpoints.office.com/changes/o365worldwide?version=2018031300&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Zahtijeva promjene instance servisa sustava Office 365 za cijeli svijet nakon navedene verzije. Primjer rezultata:

[
  {
    "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"]
    }
  }
]

Primjer skripte komponente PowerShell

Ovo je skripta komponente PowerShell koju možete pokrenuti da biste provjerili morate li obaviti neke radnje s ažuriranim podacima. Skripta provjerava broj verzije krajnjih točaka instance sustava Office 365 za cijeli svijet. Kada postoji promjena, skripta preuzima krajnje točke i filtrira krajnje točke iz kategorije "Allow". Koristi i jedinstveni ClientRequestId na više poziva i sprema najnoviju verziju pronađenu u privremenoj datoteci. Tu skriptu pozivajte svaki sat da biste provjerili je li dostupno ažuriranje verzije.

# 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"
}

Primjer Python skripte

Ovo je Python skripta, testirana uz Python 3.6.3 u sustavu Windows 10, koju možete pokrenuti da biste provjerili morate li obaviti neke radnje s ažuriranim podacima. Skripta provjerava broj verzije krajnjih točaka instance sustava Office 365 za cijeli svijet. Kada postoji promjena, skripta preuzima krajnje točke i filtrira krajnje točke iz kategorije "Allow". Koristi i jedinstveni ClientRequestId na više poziva i sprema najnoviju verziju pronađenu u privremenoj datoteci. Tu skriptu pozivajte svaki sat da biste provjerili je li dostupno ažuriranje verzije.

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')

Određivanje verzija sučelja web-servisa

U budućnosti će možda biti potrebna ažuriranja parametara ili rezultata za te metode web-servisa. Kada se objavi konačna verzija tih web-servisa, Microsoft će u razumnim okvirima nastojati unaprijed obavještavati o ažuriranjima materijala na web-servisu. Kada bude smatrao da će za ažuriranja biti potrebne promjene klijenata koji koriste web-servis, Microsoft će ostaviti prethodnu verziju web-servisa dostupnu najmanje dvanaest (12) mjeseci nakon objavljivanja nove verzije. Korisnici koji ne nadograde tijekom tog razdoblja neće moći pristupati web-servisu ni njegovim metodama. Korisnici se moraju pobrinuti za nastavak funkcioniranja klijenata web-servisa bez pogrešaka ako se na potpisu sučelja web-servisa naprave sljedeće promjene:

  • dodavanje novog neobaveznog parametra u postojeću web-metodu koji ne moraju pružati stariji klijenti i koji ne utječe na rezultat koji prima stariji klijent

  • dodavanje novog imenovanog atributa u jednu od REST stavki odgovora ili dodatnih stupaca u CSV odgovora

  • dodavanje nove web-metode s novim nazivom koju ne pozivaju stariji klijenti

Najčešća pitanja koja administratori postavljaju o povezivosti:

Kliknite vezu pri dnu da biste naznačili je li članak bio koristan te poslali eventualna dodatna pitanja. Pratimo povratne informacije te pitanja koja se ovdje prikazuju ažuriramo onima koja se najčešće postavljaju.

Kada se najave nove krajnje točke, obično postoji razdoblje od više od 30 dana prije no što one stupe na snagu, odnosno prije no što se mrežni zahtjevi počnu usmjeravati prema njima. To razdoblje služi za to da korisnicima i partnerima pruži mogućnost da ažuriraju svoje sustave. Prefiksi dodavanja i uklanjanja FQDN-a i IP-ja obrađuju se u XML datoteci u isto vrijeme kao i najava, što znači da će novi FQDN biti u XML datoteci 30 dana prije korištenja. Budući da smo prestali slati mrežne zahtjeve krajnjim točkama koje uklanjamo prije najave njihova uklanjanja, kada iz XML datoteke uklonimo krajnju točku u trenutku najave, to znači da se ona već ne koristi.

Krajnje točke sustava Office 365 objavljuju se na kraju svakog mjeseca uz obavijest koja se šalje 30 dana ranije. Promjene se ponekad unose više od jednom mjesečno ili uz kraća razdoblja obavijesti. Kada dodate krajnju točku, datum stupanja na snagu naveden u RSS sažetku sadržaja predstavlja datum nakon kojega se zahtjevi mreže šalju u krajnju točku. Ako ste novi korisnik RSS sažetka sadržaja, pročitajte kako se možete pretplatiti putem programa Outlook ili pak zatražiti da vam se ažuriranja RSS sažetka sadržaja šalju putem e-pošte.

Kada se pretplatite na RSS sažetak sadržaja, informacije možete raščlaniti sami ili pomoću skripte. U sljedećoj je tablici opisan oblik RSS sažetka sadržaja, što će vam olakšati taj postupak.

Odjeljak

1. dio

2. dio

3. dio

4. dio

5. dio

6. dio

Opis

Broj

Datum nakon kojeg možete očekivati slanje mrežnih zahtjeva u krajnju točku.

Osnovni opis značajke ili servisa koji zahtijeva krajnju točku.

Mogu li se osim putem interneta s krajnjom točkom povezati i putem ExpressRoute mreže?

Da – s tom se krajnjom točkom možete povezati i putem interneta i putem ExpressRoute mreže.

Ne – s tom se krajnjom točkom možete povezati samo putem interneta.

Odredište FQDN-a ili IP raspona koji se dodaje ili uklanja.

Primjer

1/

[Stupa na snagu xx/xx/xxx.

Potrebno: <opis>.

ExpressRoute:

<Da/Ne>.

<FQDN/IP>],

Imajte na umu da svaki zapis ima zajednički skup graničnika:

  • / – iza broja

  • [ – označava unos povezan s brojem

  • . – koristi se između zasebnih odjeljaka unosa

  • ], – označava kraj pojedinačnog unosa

  • ]. – označava kraj svih unosa

Mjesto na kojem se klijent nalazi najbolje ćete utvrditi pomoću naše karte podatkovnih centara.

Mjesta za prijenos između ravnopravnih članova detaljnije su opisana u članku o prijenosu između ravnopravnih članova s Microsoftom.

Uz više od 2500 odnosa prijenosa između ravnopravnih članova ISP-a diljem svijeta i 70 točaka prisutnosti prelazak s vaše mreže na našu trebao bi proći bez prekida. Neće škoditi da odvojite nekoliko minuta da biste provjerili je li vaš odnos prijenosa između ravnopravnih članova ISP-a optimalan. Ovdje ćete pronaći nekoliko primjera dobrih i ne tako dobrih prijenosa s ravnopravnih partnera na našu mrežu.

Prihvaćene smjerove servisa ExpressRoute definiraju rasponi Microsoftovih IP-jeva i određene Office 365BGP zajednice.

Redovito dodajemo nove značajke i servise u paket sustava Office 365 i time proširujemo mogućnosti povezivanja. Ako ste pretplaćeni na SKU E3 ili E5, da biste koristili sve funkcije paketa potrebne su vam sve krajnje točke s popisa. Ako niste pretplaćeni na nijedan od tih SKU-ova, razlika u broju krajnjih točaka jest neznatna.

Pročitajte članak Načela povezivanja sa sustavom Office 365 putem mreže da biste dobili dodatne informacije o kategorijama krajnjih točaka za Office 365 te da biste razumjeli načela povezivanja radi sigurnog upravljanja prometom u sustavu Office 365 i postizanja najboljih mogućih performansi.

Na slici u nastavku prikazan je primjer dijela FQDN tablice u odjeljku za Office Online. Reci su organizirani prema značajkama i razlikama u povezivosti. Prva dva retka označavaju da se Office Online oslanja na krajnje točke s oznakom Obavezno u alatu Provjera autentičnosti i identitet sustava Office 365, na portalu i u zajednički korištenim odjeljcima. Servisi u sustavu Office 365 obično se oslanjaju na te zajednički korištene servise. Treći redak označava da klijentska računala moraju imati mogućnost pristupa web-mjestu *.officeapps.live.com da bi mogla koristiti Office Online, a četvrti redak označava da računala moraju imati mogućnost pristupa web-mjestu *.cdn.office.net da bi mogla koristiti Office Online.

Unatoč tome što su i treći četvrti redak potrebni za korištenje sustava Office Online, odvojeni su da bilo jasno da se odredišta razlikuju:

  1. *.officeapps.live.com ne predstavlja CDN, što znači da će zahtjevi poslani tom polju naziva biti izravno poslani u Microsoftov podatkovni centar.

  2. Web-mjestu *.officeapps.live.com može se pristupiti na ExpressRoute mrežama pomoću značajke Microsoft Peering.

  3. IP adrese povezane sa sustavom Office Online i web-mjestom *.officeapps.live.com možete pronaći na ovoj vezi.

  4. *.cdn.office.net predstavlja CDN koji hostira Akamai, što znači da će zahtjevi poslani tom polju naziva biti proslijeđeni u podatkovni centar tvrtke Akamai.

  5. Web-mjestu *.cdn.office.net ne može se pristupati putem ExpressRoute mreže.

  6. IP adrese povezane sa sustavom Office Online i web-mjestom *.cdn.office.net nisu dostupne.

Snimka zaslona sa stranicom krajnjih točaka

Mi nudimo samo IP adrese za poslužitelje sustava Office 365 kojima biste se trebali usmjeriti izravno putem interneta ili servisa ExpressRoute. Ovdje nije riječ o sveobuhvatnom popisu svih IP adresa za koje ćete vidjeti mrežne zahtjeve. Vidjet ćete mrežne zahtjeve upućene Microsoftu i drugim, neobjavljenim, IP adresama koje su u vlasništvu drugih proizvođača. Te se IP adrese dinamički generiraju ili se pak njima upravlja na takav način koji sprječava pravovremene obavijesti kada nastupi njihova promjena. Ako vatrozid ne može dopustiti pristup na temelju FQDN-ova za te mrežne zahtjeve, upotrijebite PAC ili WPAD datoteku da biste upravljaju zahtjevima.

Vidite li IP povezan sa sustavom Office 365 o kojem želite saznati više?

  1. Provjerite je li IP adresa navedena u širem objavljenom rasponu pomoću CIDR kalkulatora.

  2. Pogledajte je li IP u vlasništvu partnera uz upit whois. Ako je IP u Microsoftovu vlasništvu, možda je riječ o internom partneru.

  3. Provjerite certifikat, u pregledniku se povežite s IP adresom pomoću URL-a HTTPS://<IP_ADDRESS>, provjerite domene na certifikatu da biste shvatili koje su domene povezane s IP adresom. Ako je Microsoft vlasnik IP adrese, a ona nije navedena na popisu IP adresa sustava Office 365, IP adresa vjerojatno je povezana s Microsoftovim CDN-om, kao što je MSOCDN.NET, ili nekom drugom Microsoftovom domenom bez objavljenih IP podataka. Ako je domena na certifikatu ona za koju utvrdimo da navodi IP adresu, javite nam.

Office 365 i ostali Microsoftovi servisi koriste nekoliko servisa drugih proizvođača, kao što su Akamai i MarkMonitor, radi poboljšanja načina korištenja sustava Office 365. Da bismo vam i dalje pružali najbolji mogući način korištenja, u budućnosti ćemo možda promijeniti te servise. Na taj način često objavljujemo CNAME zapis koji upućuje na domenu, zapis ili IP adresu u vlasništvu drugog proizvođača. Domene drugih proizvođača mogu hostirati sadržaj, kao što je CDN, ili pak hostirati servis, kao što je servis za upravljanje geografskim prometom. Kada ugledate veze na te druge proizvođače, one su obično u obliku preusmjeravanja ili preporuke, a ne prvog zahtjeva klijenta. Neki će korisnici morati provjeriti taj oblik preusmjeravanja i preporuke da bi saznali mogu li proći bez izričitog dodavanja dugog popisa potencijalnih FQDN-ova koje koriste servisi drugih proizvođača.

Popis servisa može se promijeniti u bilo kojem trenutku. Neki od servisa koji se trenutno koriste obuhvaćaju sljedeće:

MarkMonitor koristi se kada vidite zahtjeve koji obuhvaćaju *.nsatc.net. Ovaj servis pruža zaštitu naziva domene i nadzor radi zaštite od zlonamjernog ponašanja.

ExactTarget koristi se kada vidite zahtjeve za *.exacttarget.com. Ovaj servis pruža upravljanje vezama e-pošte i nadzor radi zaštite od zlonamjernog ponašanja.

Akamai se koristi kada vidite zahtjeve koji obuhvaćaju jedan od sljedećih FQDN-ova. Ovaj servis nudi geografski DNS i mrežne servise za isporuku sadržaja.

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

  • Sa servisima drugih proizvođača povezujete se radi dohvaćanja osnovnih internetskih servisa, kao što su pretraživanja DNS-a i dohvaćanje sadržaja CDN-a. Sa servisima drugih proizvođača povezujete se i radi integracija, kao što je ugradnja videozapisa servisa YouTube u bilježnice programa OneNote.

  • Povezujete se sa sekundarnim servisima koje hostira i pokreće Microsoft, kao što su krajnji čvorovi, koji omogućuju mrežnom zahtjevu da uđe u Microsoftovu globalnu mrežu na internetskom mjestu najbližem vašem računalu. Ta treća najveća mreža na svijetu poboljšat će vaš način povezivanja. Povezujete se i sa servisima Microsoft Azure, kao što su Azure Media Services, koje koriste različiti servisi sustava Office 365.

  • Povezujete se s primarnim servisima sustava Office 365, kao što su poslužitelj poštanskog sandučića sustava Exchange Online ili poslužitelj Skypea za tvrtke online, na kojima se nalaze vaši jedinstveni i vlasnički podaci. S primarnim servisima sustava Office 365 možete se povezati pomoću FQDN-a ili IP adrese te koristiti internet ili krugove servisa ExpressRoute. Sa servisima drugih proizvođača i sekundarnim servisima možete se povezati samo pomoću FQDN-ova u internetskom krugu.

Slijedeći dijagram prikazuje razlike između tih područja servisa. U ovom dijagramu korisnik u lokalnoj mreži u donjem lijevom kutu koristi više mrežnih uređaja kao pomoć pri upravljanju mrežnom vezom. Konfiguracije kao što je ova uobičajene su za poslovne korisnike. Ako vaša mreža koristi samo vatrozid između klijentskih računala i interneta, i to je podržano i htjet ćete biti sigurni da vaš vatrozid može podržavati FQDN-ove i zamjenske znakove u pravilima za popise dopuštenih.

Pročitajte članak Načela povezivanja sa sustavom Office 365 putem mreže da biste dobili dodatne informacije o kategorijama krajnjih točaka za Office 365 te da biste razumjeli načela povezivanja radi sigurnog upravljanja prometom u sustavu Office 365 i postizanja najboljih mogućih performansi.

Prikazuju se tri različite vrste krajnjih točaka mreže prilikom korištenja sustava Office 365

Office 365 paket je servisa izrađen da funkcionira putem interneta, a obećanja pouzdanosti i dostupnosti utemeljene su na mnogim dostupnim standardnim internetskim servisima. Standardni internetski servisi, na primjer, kao što su DNS, CRL i CDN-ovi, moraju biti dostupni da bi koristili Office 365 i najmodernije internetske servise.

Osim tih osnovnih internetskih servisa, postoje i servisi drugih proizvođača koji se koriste samo za integraciju funkcionalnosti. Ako korisnici, na primjer, koriste Giphy.com unutar Microsoftovih timova, GIF-ove mogu besprijekorno uvrstiti unutar timova. Na sličan su način YouTube i Flickr servisi drugih proizvođača koji se koriste za besprijekornu integraciju videozapisa i slika u klijente sustava Office putem interneta. Iako su potrebni za integraciju, u članku o krajnjim točkama sustava Office 365 smatraju se neobaveznima, što znači da će osnovna funkcionalnost servisa nastaviti funkcionirati ako krajnjoj točki nije moguće pristupiti.

Ako pokušavate koristiti Office 365 i ustanovite da servisima drugih proizvođača nije moguće pristupati, dobro je provjeriti jesu li svi FQDN-ovi označeni kao obavezni ili neobavezni u ovom članku dopušteni putem proxyja ili vatrozida.

Sekundarni servisi Microsoftovi su servisi koje ne obuhvaća kontrola sustava Office 365. Postoje i EDGE mreže, kao što su Azure Media Services i Azure Content Delivery Networks. Sve one moraju koristiti Office 365 i biti dostupne.

Ako pokušavate koristiti Office 365 i ustanovite da servisima drugih proizvođača nije moguće pristupati, dobro je provjeriti jesu li svi FQDN-ovi označeni kao obavezni ili neobavezni u ovom članku dopušteni putem proxyja ili vatrozida.

Ograničavanje pristupa našim korisničkim servisima vršite na vlastiti rizik. Jedini pouzdani način blokiranja korisničkih servisa jest ograničavanje pristupa FQDN-u login.live.com. Taj FQDN koristi širok skup servisa, uključujući nekorisničke servise, kao što su MSDN, TechNet i drugi. Ograničavanje pristupa tom FQDN-u može uzrokovati potrebu za obuhvaćanjem iznimki pravila za mrežne zahtjeve povezane s tim servisima.

Imajte na umu da blokiranjem pristupa samo Microsoftovim korisničkim servisima nećete spriječiti osobu u vašoj mreži da izvuče podatke pomoću klijenta servisa Office 365 ili pak nekog drugog servisa.

Povezane teme

Rasponi IP adresa za podatkovni centar Microsoft Azure
Microsoftov javni IP prostor
Preduvjeti za mrežnu infrastrukturu za Microsoft Intune
Power BI i ExpressRoute
URL-ovi i rasponi IP adresa za Office 365
Upravljanje značajkom ExpressRoute za povezivanje sustava Office 365
Načela povezivanja sa sustavom Office 365 putem mreže

Proširite svoje vještine korištenja sustava Office
Istražite osposobljavanje

Jesu li vam ove informacije bile korisne?

Hvala vam na povratnim informacijama!

Hvala vam na povratnim informacijama! Čini se da bi vam pomoglo kad bismo vas povezali s nekim od naših agenata podrške za Office.

×