Mengelola titik akhir Office 365

Konektivitas jaringan Office 365

8/3/2018 Koneksi ke Office 365 terdiri dari permintaan jaringan tepercaya bervolume tinggi yang berfungsi paling baik jika dikirimkan ke titik keluar berlatensi rendah yang berada di dekat pengguna. Beberapa koneksi Office 365 dapat memperoleh manfaat dari pengoptimalan koneksi.

  1. Pastikan daftar perizinan firewall mengizinkan konektivitas ke titik akhir Office 365.

  2. Gunakan infrastruktur proksi Anda untuk mengizinkan konektivitas Internet ke tujuan yang tidak diterbitkan dan wildcard.

  3. Pertahankan konfigurasi jaringan perimeter yang optimal.

  4. Pastikan Anda mendapatkan konektivitas terbaik.

  5. Baca Prinsip Konektivitas Jaringan Office 365 untuk memahami prinsip konektivitas dalam mengelola lalu lintas Office 365 dengan aman dan memperoleh kinerja terbaik.

Menyambungkan ke Office 365 melalui firewall dan proksi.

Perbarui daftar perizinan keluar firewall Anda

Anda dapat mengoptimalkan jaringan dengan mengirimkan permintaan jaringan Office 365 tepercaya secara langsung melalui firewall, melewati semua pemrosesan atau inspeksi tingkat paket tambahan. Hal ini mengurangi kinerja yang lambat dari latensi dan mengurangi persyaratan kapasitas perimeter Anda. Cara paling mudah untuk memilih permintaan jaringan yand dapat dipercaya adalah menggunakan file PAC bawaan kami di tab Proksi di atas.

Jika firewall memblokir lalu lintas keluar, pastikan bahwa semua IP dan FQDN yang tercantum sebagai Diperlukan dalam file XML ini termasuk dalam daftar yang diizinkan. Kenali semua layanan yang perlu menggunakan beberapa layanan pihak ketiga. Kami tidak menyediakan alamat IP untuk layanan pihak ketiga ini, seperti penyedia sertifikat, Jaringan Pengiriman Konten, penyedia DNS, dan sebagainya. Untuk fungsionalitas penuh Office 365, semua tujuan yang diminta oleh Office 365 harus dapat dijangkau terlepas dari banyaknya informasi yang kami terbitkan tentang tujuan tersebut.

Banyak tujuan tidak memiliki alamat IP yang diterbitkan atau tercantum sebagai domain wildcard tanpa nama domain spesifik yang sepenuhnya memenuhi syarat. Untuk menggunakan fungsionalitas ini, Anda harus dapat mengatasi permintaan jaringan ke alamat IP yang saat ini diminta dan mengirimkan permintaan jaringan tersebut melalui Internet.

Otomatiskan proses dengan firewall yang akan memilah file XML untuk Anda dan memperbarui aturan secara otomatis berdasarkan layanan atau fitur yang akan dirutekan langsung melalui firewall. Anda juga dapat menggunakan alat Azure Range yang dirancang oleh komunitas dan memilah XML dengan opsi ekspor untuk Cisco XE Route atau konfigurasi daftar ACL, teks biasa, atau CSV.

Penjelasan lebih panjang tentang tujuan jaringan yang tersedia pada situs referensi juga melalui log ubah berdasarkan RSS sehingga Anda dapat berlangganan ke perubahan.

Mengonfigurasi jalur keluar dengan file PAC

Gunakan file WPAD atau PAC untuk mengelola permintaan jaringan yang terkait dengan Office 365 namun tidak memiliki alamat IP. Biasanya, permintaan jaringan yang dikirim melalui perangkat perimeter atau proksi akan dikenakan latensi tambahan. Sementara autentikasi proksi dikenakan pajak besar, layanan lain seperti pencarian reputasi dan percobaan untuk memeriksa paket dapat berakibat pada pengalaman pengguna yang buruk. Selain itu, perangkat jaringan perimeter ini memerlukan kapasitas yang cukup untuk memproses semua permintaan jaringan. Kami menyarankan Anda untuk melewati infrastruktur inspeksi atau proksi bagi permintaan jaringan langsung Office 365.

Gunakan salah satu file PAC kami sebagai tempat permulaan untuk menentukan lalu lintas jaringan mana yang akan dikirimkan ke proksi dan yang akan dikirimkan ke firewall. Jika baru menggunakan file PAC atau WPAD, baca postingan ini tentang menyebarkan file PAC dari salah satu konsultan Office 365 kami. Tinjau sebagai tempat permulaan dan edit sesuai lingkungan Anda.

File PAC diperbarui 7/5/2018.

Contoh pertama adalah demonstrasi pendekatan kami yang disarankan untuk mengelola titik akhir hanya melalui Internet. Melewati proksi untuk tujuan Office 365 tempat alamat IP diterbitkan dan mengirim sisa permintaan jaringan ke proksi.

Cuplikan kode:

// JavaScript source code

//June 2018 - Updates go live 1st July 2018
//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, "admin.microsoft.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;
}

Contoh kedua adalah demonstrasi pendekatan kami yang disarankan untuk mengelola koneksi ketika sirkuit ExpressRoute dan Internet tersedia. Mengirimkan tujuan ExpressRoute yang diiklankan ke sirkuit ExpressRoute dan tujuan yang diiklankan hanya melalui Internet ke proksi.

Cuplikan kode:

// JavaScript source code
//June 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;
    }
}

Contoh ketiga menunjukkan pengiriman semua permintaan jaringan yang terkait dengan Office 365 ke satu tujuan. Hal ini umumnya digunakan untuk melewati semua pemeriksaan permintaan jaringan Office 365 serta menawarkan kepada Anda format ketika semua titik akhir yang diterbitkan ada dalam daftar dalam format PAC untuk digunakan dalam kustomisasi.

Cuplikan kode:

// JavaScript source code
//June 2018 Update new URLS go live 1st July 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";
}

Berikut adalah beberapa alat dari komunitas. Jika Anda menyusun sesuatu yang ingin dibagikan, tinggalkan catatan dalam komentar. Tidak satu pun alat komunitas yang dirujuk dalam artikel ini didukung secara resmi atau dikelola oleh Microsoft dan disediakan di sini untuk kenyamanan Anda.

  • Alat ini merupakan yang paling dahulu dibuat oleh komunitas untuk membantu mengelola proses, dirancang oleh anggota komunitas Office 365. Berikut adalah tautan untuk mengunduhnya.

  • Bukti Konsep dengan aturan firewall yang dapat diekspor: API IP Microsoft Cloud.

  • Dari IT Praktyk: Konversi RSS dan Konversi XML.

  • Dari Peter Abele: Unduh.

  • Gunakan analisis jaringan Anda untuk menentukan permintaan jaringan yang harus melewati infrastruktur proksi. FQDN yang paling umum yang digunakan untuk melewati proksi pelanggan menyertakan hal-hal berikut karena volume lalu lintas jaringan yang dikirim dan diterima dari titik akhir ini.

    outlook.office365.com
    outlook.office.com
    <tenant-name>.sharepoint.com
    <tenant-name>-my.sharepoint.com
    <tenant-name>-<app>.sharepoint.com
    *.Lync.com
    
  • Pastikan setiap permintaan jaringan yang dikirim ke firewall Anda secara langsung memiliki entri terkait dalam daftar perizinan firewall untuk mengizinkan permintaan melewatinya.

Integrasi jaringan perimeter

Tahukah Anda bahwa WAN Microsoft adalah salah satu jaringan terbesar di dunia?

Ya, jaringan luas inilah yang menjadikan Office 365 dan layanan awan lainnya tetap berfungsi di mana pun Anda berada. Jaringan kami terdiri dari tautan yang mampu mengatasi kerusakan secara otomatis, dengan bandwidth tinggi dan latensi rendah serta rute dark fiber ribuan mil milik pribadi, juga koneksi multi-Terabit antara pusat data dan simpul ujung, untuk mempermudah penggunaan layanan awan.

Dengan jaringan seperti ini, Anda pasti ingin menghubungkan perangkat organisasi ke jaringan kami sesegera mungkin. Dengan lebih dari 2500 hubungan peering ISP secara global dan 70 poin kehadiran, peralihan dari jaringan Anda ke jaringan kami pasti sangatlah mudah. Tidak ada salahnya meluangkan beberapa menit untuk memastikan hubungan peering ISP Anda sudah benar-benar optimal, berikut adalah beberapa contoh pengalihan peering yang baik dan kurang baik ke jaringan kami.

Anda dapat mengonfigurasi perangkat di jaringan secara manual atau otomatis untuk menangani permintaan jaringan aplikasi Office 365 secara optimal, tergantung pada perangkat yang dimiliki. Perubahan konfigurasi yang perlu dilakukan untuk menangani lalu lintas jaringan Office 365 secara optimal akan tergantung pada lingkungan Anda. Permintaan jaringan Office 365 mungkin akan diuntungkan oleh konfigurasi jaringan yang mengizinkan hal berikut:

  • Prioritas atas lalu lintas jaringan yang kurang penting.

  • Perutean ke data yang keluar dari lokal untuk menghindari backhaul atas tautan WAN yang lambat selagi memanfaatkan latensi lambat yang tersedia di jaringan Microsoft. Berikut adalah diskusi yang akan bermanfaat berdasarkan keterlibatan pelanggan.

  • Penggunaan DNS di dekat titik keluar lokal untuk memastikan permintaan jaringan yang meninggalkan titik keluar lokal akan tiba di lokasi peering Microsoft terdekat.

  • Pengecualian dari inspeksi paket mendalam atau pemrosesan paket jaringan intensif lain untuk memenuhi persyaratan latensi sesuai kebutuhan.

Perangkat jaringan modern menyertakan kemampuan pengelolaan permintaan jaringan untuk aplikasi tepercaya seperti Office 365, yang berbeda dari lalu lintas Internet biasa yang tidak tepercaya. Dengan lanskap solusi SD-WAN yang mulai muncul, pembedaan pilihan lalu lintas dan jalur seperti itu juga dapat dilakukan dengan kesadaran akan perubahan keadaan jaringan, seperti ketersediaan titik waktu, latensi atau kinerja berbagai jalur konektivitas antara pengguna dan awan.

Lihat Perencanaan jaringan dan migrasi untuk Office 365, Rencana pemecahan masalah kinerja untuk Office 365, dan Daftar periksa rencana penyebaran untuk Office 365 untuk panduan tambahan tentang perencanaan konfigurasi jaringan Anda.

Untuk menerapkan skenario ini:

Tanyakan kepada penyedia layanan atau solusi jaringan Anda apakah mereka dapat menggunakan definisi IP dan URL Office 365 dari XML untuk memfasilitasi lokal (ke pengguna), data keluar jaringan yang rendah untuk lalu lintas Office 365, mengelola prioritasnya terkait aplikasi lain, dan menyesuaikan jalur jaringan untuk koneksi Office 365 ke jaringan Microsoft tergantung pada perubahan kondisi jaringan. Beberapa solusi akan mengunduh serta mengotomatiskan definisi XML IP dan URL Office 365 dalam susunannya.

Selalu pastikan bahwa solusi yang diterapkan memiliki tingkat ketahanan yang diperlukan, memiliki geo-redudansi jalur jaringan yang sesuai untuk lalu lintas Office 365, dan menyediakan perubahan untuk IP dan URL Office 365 saat diterbitkan.

Agar Anda dapat mengidentifikasi dan membedakan lalu lintas jaringan Office 365 dengan lebih baik, layanan web baru menerbitkan titik akhir Office 365, yang memudahkan Anda dalam mengevaluasi, mengonfigurasi, dan mengetahui informasi tentang perubahan terbaru. Layanan web baru ini (saat ini dalam pratinjau) pada akhirnya akan menggantikan daftar titik akhir dalam artikel rentang alamat IP dan URL Office 365, beserta versi XML dan RSS data tersebut. Format data titik akhir tersebut akan segera dihapus.

Sebagai pelanggan atau vendor perangkat jaringan sekitar, Anda dapat menguji layanan web berbasis REST yang baru untuk alamat IP Office 365 dan entri FQDN yang sedang dalam pratinjau:

Sebagai pelanggan, Anda dapat menggunakan layanan web ini untuk:

  • Memperbarui skrip PowerShell untuk mendapatkan data titik akhir Office 365 dan mengubah setiap pemformatan untuk perangkat jaringan Anda.

  • Menggunakan informasi ini untuk memperbarui file PAC yang disebarkan ke komputer klien.

Sebagai vendor perangkat jaringan sekitar, Anda dapat menggunakan layanan web ini untuk:

  • Membuat dan menguji perangkat lunak perangkat guna mengunduh daftar untuk konfigurasi otomatis.

  • Memeriksa versi saat ini.

  • Mendapatkan perubahan saat ini.

Bagian berikut menjelaskan pratinjau layanan web ini, yang mungkin berubah seiring waktu hingga layanan tersedia secara umum.

Data pada layanan web selalu diperbarui, kecuali masalah umum berikut ini:

Parameter umum

Parameter berikut bersifat umum di seluruh metode layanan web:

  • format=CSV | JSON – Parameter string kueri. Secara default, format data yang dikembalikan adalah JSON. Sertakan parameter opsional ini untuk mengembalikan data dalam format comma-separated values (CSV).

  • ClientRequestId – Parameter string kueri. GUID wajib yang dihasilkan untuk asosiasi sesi klien. Anda harus membuat GUID untuk setiap komputer klien yang memanggil layanan web. Jangan gunakan GUID yang diperlihatkan dalam contoh berikut ini karena GUID tersebut mungkin diblokir oleh layanan web di masa mendatang. Format GUID adalah xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, nilai x mewakili angka heksadesimal. Untuk membuat GUID, gunakan perintah PowerShell New-Guid.

Metode web versi

Microsoft memperbarui entri FQDN dan alamat IP Office 365 setiap akhir bulan dan terkadang melakukannya secara lebih sering untuk persyaratan operasional. Data untuk setiap instans yang diterbitkan memiliki nomor versi. Metode web versi memungkinkan Anda melakukan polling untuk versi terbaru setiap instans layanan Office 365. Titik akhir akan berubah sekali dalam sebulan. Sebaiknya periksa versi setiap hari, atau maksimal, setiap jam.

Terdapat satu parameter untuk metode web versi:

  • AllVersions=true – Parameter string kueri. Secara default, versi yang dikembalikan adalah yang terbaru. Sertakan parameter opsional ini untuk meminta semua versi yang telah diterbitkan.

  • Instance – Parameter rute. Parameter opsional ini menentukan instans untuk mengembalikan versi. Jika dihilangkan, parameter ini akan mengembalikan semua instans. Instans yang valid adalah: O365Worldwide, O365China, O365Germany, O365USGovDoD, O365USGovGCCHigh

Hasil dari metode web versi mungkin berupa rekaman tunggal atau larik rekaman. Elemen setiap rekaman adalah:

  • instance – Nama singkat instans layanan Office 365.

  • latest – Versi terbaru titik akhir instans yang ditentukan.

  • versions – Daftar opsional semua versi sebelumnya untuk instans yang ditentukan.

Contoh:

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

URI ini akan mengembalikan versi terbaru setiap instans layanan Office 365. Hasil contoh:

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

Penting: GUID untuk parameter ClientRequestID dalam URI ini hanyalah contoh. Untuk mencoba URI layanan web, buat GUID Anda sendiri. GUID yang diperlihatkan dalam contoh berikut ini mungkin diblokir oleh layanan web di masa mendatang.

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

URI ini akan mengembalikan versi terbaru instans layanan Office 365 yang ditentukan. Hasil contoh:

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

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

URI ini akan memperlihatkan output dalam format CSV. Hasil contoh:

instance,latest
O365Worldwide,2018031302

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

URI ini akan memperlihatkan semua versi sebelumnya yang telah diterbitkan untuk instans layanan Office 365 di seluruh dunia. Hasil contoh:

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

Metode web titik akhir

Metode web titik akhir akan mengembalikan semua catatan untuk rentang alamat IP dan URL yang menjadi bagian dari layanan Office 365. Parameter untuk metode web titik akhir adalah:

  • ServiceAreas – Parameter string kueri. Daftar area layanan yang dipisahkan tanda koma. Item yang valid Common,Exchange,SharePoint,Skype. Karena item area layanan Common adalah prasyarat untuk semua area layanan lainnya, layanan web akan selalu menyertakannya. Jika Anda tidak menyertakan parameter ini, semua area layanan akan dikembalikan.

  • TenantName – Parameter string kueri. Nama penyewa Office 365 Anda. Layanan web akan mengambil nama yang Anda masukkan dan menyisipkannya di bagian URL yang menyertakan nama penyewa. Jika Anda tidak memasukkan nama penyewa, bagian URL tersebut akan memiliki karakter wildcard (*). Parameter TenantName tidak disertakan dalam pratinjau.

  • Instance – Parameter rute. Parameter wajib ini menentukan instans untuk mengembalikan titik akhir. Instans yang valid adalah: O365Worldwide, O365China, O365Germany, O365USGovDoD, O365USGovGCCHigh.

Hasil dari metode web titik akhir adalah larik catatan, dengan setiap catatan mewakili rangkaian titik akhir. Elemen setiap catatan adalah:

  • id – Nomor id tetap dari rangkaian titik akhir. Diperlukan.

  • serviceArea – Elemen ini menjadi bagian dari area layanan: Common, Exchange, SharePoint, atau Skype. Diperlukan.

  • defaultUrls – URL untuk rangkaian titik akhir yang termasuk dalam kategori "Default". Larik JSON dari catatan DNS.

  • allowUrls – URL untuk rangkaian titik akhir yang termasuk dalam kategori "Izinkan". Larik JSON dari catatan DNS.

  • optimizeUrls – URL untuk rangkaian titik akhir yang termasuk dalam kategori "Optimalkan". Larik JSON dari catatan DNS.

  • defaultTcpPorts – Port TCP untuk rangkaian titik akhir yang termasuk dalam kategori "Default". Semua elemen port diformat sebagai daftar port yang dipisahkan tanda koma atau rentang port yang dipisahkan tanda hubung (-). Port dari kategori tertentu berlaku untuk semua alamat IP dalam rangkaian titik akhir tersebut. Port dari kategori tertentu juga berlaku untuk semua URL dalam rangkaian titik akhir tersebut untuk kategori tersebut serta kategori yang lebih rendah. Kategori yang lebih rendah ditentukan dalam urutan Optimalkan, Izinkan, dan Default, dengan Default adalah yang terendah.

  • allowTcpPorts – Port TCP untuk rentang alamat IP pada rangkaian titik akhir ini yang termasuk dalam kategori "Izinkan".

  • optimizeTcpPorts – Port TCP untuk rentang alamat IP pada rangkaian titik akhir ini yang termasuk dalam kategori "Optimalkan".

  • defaultUdpPorts – Port UDP untuk rentang alamat IP pada rangkaian titik akhir ini yang termasuk dalam kategori "Default".

  • allowUdpPorts – Port UDP untuk rentang alamat IP pada rangkaian titik akhir ini yang termasuk dalam kategori "Izinkan".

  • optimizeUdpPorts – Port UDP untuk rentang alamat IP pada rangkaian titik akhir ini yang termasuk dalam kategori "Optimalkan".

  • ips – Rentang alamat IP yang terkait dengan rangkaian titik akhir ini sebagaimana terkait dengan port TCP atau UDP yang tercantum.

  • expressRoute – True atau False jika rangkaian titik akhir ini dirutekan melalui ExpressRoute. Diperlukan.

  • optionalImpact – Jika rangkaian titik akhir ini bersifat opsional, teks ini akan menjelaskan fungsi Office 365 yang akan hilang apabila titik akhir dalam rangkaian titik akhir ini tidak dapat diakses. Jika rangkaian titik akhir bersifat wajib, elemen ini tidak disertakan.

Setiap elemen yang tidak tercantum sebagai wajib bersifat opsional pada output REST.

Contoh:

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

URI ini memperoleh semua titik akhir bagi instans Office 365 di seluruh dunia untuk semua beban kerja. Hasil contoh yang memperlihatkan sebagian output:

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

Rangkaian titik akhir tambahan tidak disertakan dalam contoh ini.

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

Contoh ini memperoleh titik akhir bagi instans Office 365 Seluruh Dunia untuk Exchange Online dan dependensi saja.

Output untuk contoh 2 mirip dengan contoh 1, tetapi hasilnya tidak akan menyertakan titik akhir untuk SharePoint Online atau Skype for Business Online.

Metode web perubahan

Metode web perubahan akan mengembalikan pembaruan terkini yang telah diterbitkan. Pembaruan biasanya adalah perubahan pada rentang alamat IP dan URL bulan sebelumnya.

Parameter untuk metode web perubahan adalah:

  • Version – Parameter rute URL wajib. Versi yang saat ini diterapkan, dan Anda ingin melihat perubahan yang dibuat sejak versi tersebut. Formatnya adalah TTTTBBHHNN.

Hasil dari metode web perubahan adalah larik catatan, dengan setiap catatan mewakili perubahan dalam versi titik akhir tertentu. Elemen setiap catatan adalah:

  • id – Id tetap dari catatan perubahan. Diperlukan.

  • endpointSetId – ID catatan rangkaian titik akhir yang diubah. Diperlukan.

  • changeDescription – Deskripsi teks dari perubahan. Diperlukan.

  • disposition – Hal ini dapat berupa change, add, maupun remove, serta menjelaskan dampak perubahan yang dilakukan pada catatan rangkaian titik akhir. Diperlukan.

  • version – Versi rangkaian titik akhir yang diterbitkan yang menyertakan perubahan. Nomor versi memiliki format TTTTBBHHNN, dengan NN merupakan bilangan asli yang terus bertambah jika terdapat beberapa versi yang perlu diterbitkan dalam satu hari.

  • previous – Substruktur yang menjelaskan nilai sebelumnya dari elemen yang diubah pada rangkaian titik akhir. Hal ini tidak akan disertakan untuk rangkaian titik akhir yang baru saja ditambahkan. Menyertakan defaultTcpPorts, allowTcpPorts, optimizeTcpPorts, defaultUdpPorts, allowUdpPorts, optimizeUdpPorts, ExpressRoute, optionalImpact.

  • current - Substruktur yang menjelaskan nilai yang diperbarui dari elemen yang diubah pada rangkaian titik akhir. Menyertakan defaultTcpPorts, allowTcpPorts, optimizeTcpPorts, defaultUdpPorts, allowUdpPorts, optimizeUdpPorts, ExpressRoute, optionalImpact.

  • add - Substruktur yang menjelaskan item yang akan ditambahkan ke kumpulan rangkaian titik akhir.

    • effectiveDate – Menentukan data ketika tambahan akan diterapkan dalam layanan.

    • ips – Item yang akan ditambahkan ke larik ips.

    • defaultUrls- Item yang akan ditambahkan ke larik defaultUrls.

    • allowUrls- Item yang akan ditambahkan ke larik allowUrls.

    • optimizeUrls- Item yang akan ditambahkan ke larik optimizeUrls.

  • remove – Substruktur yang menjelaskan item yang akan dihapus dari rangkaian titik akhir.

    • ips – Item yang akan dihapus dari larik ips.

    • defaultUrls- Item yang akan dihapus dari larik defaultUrls.

    • allowUrls- Item yang akan dihapus dari larik allowUrls.

    • optimizeUrls- Item yang akan dihapus dari larik optimizeUrls.

Contoh:

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

Ini akan meminta semua perubahan sebelumnya pada instans layanan Office 365 di seluruh dunia. Hasil contoh:

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

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

Ini akan meminta perubahan yang dilakukan sejak versi tertentu pada instans Office 365 Seluruh Dunia. Hasil contoh:

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

Contoh Skrip PowerShell

Berikut skrip PowerShell yang dapat Anda jalankan untuk mengetahui apakah terdapat tindakan yang perlu dilakukan pada data yang diperbarui. Skrip ini memeriksa nomor versi untuk titik akhir instans Office 365 Seluruh Dunia. Ketika terdapat perubahan, skrip akan mengunduh titik akhir dan memfilter titik akhir dalam kategori "Izinkan". Skrip juga menggunakan ClientRequestId unik dari beberapa panggilan dan menyimpan versi terbaru yang ditemukan dalam file sementara. Anda harus memanggil skrip ini setiap satu jam untuk memeriksa pembaruan versi.

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

Contoh Skrip Python

Berikut skrip Python, yang diuji menggunakan Python 3.6.3 di Windows 10, yang dapat Anda jalankan untuk mengetahui apakah terdapat tindakan yang perlu dilakukan pada data yang diperbarui. Skrip ini memeriksa nomor versi untuk titik akhir instans Office 365 Seluruh Dunia. Ketika terdapat perubahan, skrip akan mengunduh titik akhir dan memfilter titik akhir dalam kategori "Izinkan". Skrip juga menggunakan ClientRequestId unik dari beberapa panggilan dan menyimpan versi terbaru yang ditemukan dalam file sementara. Anda harus memanggil skrip ini setiap satu jam untuk memeriksa pembaruan versi.

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

Penerapan versi antarmuka Layanan Web

Pembaruan parameter atau hasil untuk metode layanan web ini mungkin diperlukan di masa mendatang. Setelah versi ketersediaan umum layanan web ini diterbitkan, Microsoft akan melakukan upaya yang wajar untuk menyediakan pemberitahuan sebelumnya tentang pembaruan materi pada layanan web. Jika meyakini bahwa pembaruan akan memerlukan perubahan pada klien yang menggunakan layanan web, Microsoft akan mempertahankan versi sebelumnya (satu versi sebelumnya) dari layanan web yang tersedia setidaknya selama dua belas (12) bulan setelah rilis versi baru. Pelanggan yang tidak memutakhirkan selama periode tersebut mungkin tidak akan dapat mengakses layanan web dan metodenya. Pelanggan harus memastikan bahwa klien layanan web terus berfungsi tanpa adanya kesalahan jika perubahan berikut dilakukan pada tanda tangan antarmuka layanan web:

  • Menambahkan parameter opsional baru pada metode web yang sudah ada yang tidak perlu diberikan oleh klien lama dan tidak memengaruhi hasil yang diterima klien lama.

  • Menambahkan atribut bernama baru dalam salah satu item REST respons atau kolom tambahan ke CSV respons.

  • Menambahkan metode web baru dengan nama baru yang tidak dipanggil oleh klien lama.

Pertanyaan umum administrator tentang konektivitas:

Klik tautan di bagian bawah untuk menandai bahwa artikel ini berguna atau tidak berguna, serta untuk mengirimkan pertanyaan tambahan. Kami memantau umpan balik dan memperbarui pertanyaan di sini dengan yang paling sering diajukan.

Ketika titik akhir yang baru diumumkan, biasanya terjadi buffer 30+ hari sebelum efektif dan permintaan jaringan mulai berlangsung bagi file. Buffer ini untuk memastikan pelanggan dan mitra memiliki kesempatan untuk memperbarui sistem mereka. FQDN dan penambahan serta penghapusan prefiks IP diproses dalam file XML pada saat yang sama dengan pengumuman, yang berarti FQDN baru akan berada dalam file XML 30 hari sebelum digunakan. Karena kami berhenti mengirimkan permintaan jaringan ke titik akhir yang sedang kami hapus sebelum mengumumkan penghapusan, ketika kami menghapus titik akhir dari XML pada saat yang sama dengan pengumuman, file sudah tidak terpakai.

Titik akhir Office 365 diterbitkan setiap akhir bulan dengan pemberitahuan 30 hari. Terkadang, perubahan akan terjadi lebih dari sekali dalam satu bulan atau dengan periode pemberitahuan yang lebih singkat. Saat titik akhir ditambahkan, tanggal efektif yang tercantum dalam umpan RSS adalah tanggal setelah salah satu permintaan jaringan dikirimkan ke titik akhir. Jika baru menggunakan RSS, berikut adalah cara untuk berlangganan melalui Outlook atau Anda dapat menerima pembaruan umpan RSS melalui email.

Setelah berlangganan ke umpan RSS, Anda dapat memilah informasi atau dengan skrip. Tabel berikut mendeskripsikan format umpan RSS untuk membuatnya menjadi lebih mudah.

Bagian

Bagian 1

Bagian 2

Bagian 3

Bagian 4

Bagian 5

Bagian 6

Deskripsi

Hitung

Tanggal setelah Anda menunggu permintaan jaringan dikirimkan ke titik akhir.

Deskripsi dasar tentang fitur dan layanan yang memerlukan titik akhir.

Dapatkah Anda terhubung dengan titik akhir ini di Sikuit ExpressRoute sebagai tambahan pada internet?

Ya - Anda dapat terhubung dengan titik akhir di internet dan ExpressRoute.

Tidak - Anda hanya dapat terhubung dengan titik akhir di internet.

FQDN tujuan atau rentang IP sedang ditambahkan atau dihapus.

Contoh

1/

[Efektif xx/xx/xxx.

Wajib Diisi: <deskripsi>.

EkspressRoute

<Ya/Tidak>.

<FQDN/IP>],

Beberapa hal lain untuk diperhatikan, setiap entri memiliki sekumpulan pembatas yang sama:

  • / - setelah penghitungan

  • [ - untuk menunjukkan entri untuk penghitungan

  • . - digunakan di antara setiap bagian jarak entri

  • ], - untuk menunjukkan akhir entri tunggal

  • ]. - Untuk menunjukkan akhir semua entri

Lokasi penyewa sebaiknya ditentukan menggunakan peta pusat data kami.

Lokasi peering diuraikan secara lebih mendetail dalam peering dengan Microsoft.

Dengan lebih dari 2500 hubungan peering ISP secara global dan 70 poin kehadiran, peralihan dari jaringan Anda ke jaringan kami pasti sangatlah mudah. Tidak ada salahnya meluangkan beberapa menit untuk memastikan hubungan peering ISP Anda sudah benar-benar optimal, berikut adalah beberapa contoh pengalihan peering yang baik dan kurang baik ke jaringan kami.

Rute ExpressRoute yang diterima ditentukan oleh rentang IP Microsoft dan Office 365komunitas BGP tertentu.

Kami menambahkan layanan dan fitur baru ke rangkaian Office 365 secara rutin, yang juga memperluas lanskap konektivitas. Jika berlangganan ke SKU E3 atau E5, cukup pikirkan bahwa Anda memerlukan semua daftar titik akhir yang ada untuk mendapatkan fungsionalitas penuh rangkaian tersebut. Jika tidak berlangganan SKU ini, setidaknya akan ada perbedaan pada jumlah titik akhir.

Baca Prinsip Konektivitas Jaringan Office 365 untuk mendapatkan informasi selengkapnya tentang kategori titik akhir Office 365 dan memahami prinsip konektivitas dalam mengelola lalu lintas Office 365 dengan aman dan memperoleh kinerja terbaik.

Pada gambar di bawah ini, Anda dapat melihat contoh tabel FQDN di bagian Office Online. Barisnya diatur berdasarkan fitur dan perbedaan dalam konektivitas. Dua baris pertama menunjukkan bahwa Office Online bergantung pada titik akhir yang ditandai Diperlukan di bagian Autentikasi dan Identitas serta bagian portal Office 365 dan bersama. Merupakan hal yang umum bahwa layanan dalam Office 365 bergantung pada layanan bersama ini. Baris ketiga menunjukkan komputer klien harus dapat menjangkau *.officeapps.live.com untuk menggunakan Office Online dan baris keempat menunjukkan komputer juga harus dapat menjangkau *.cdn.office.net untuk menggunakan Office Online.

Meskipun baris ketiga dan keempat diperlukan untuk penggunaan Office Online, kedua baris telah dipisah untuk menunjukkan tujuan yang berbeda:

  1. *.officeapps.live.com tidak mewakili CDN, yang berarti permintaan ke kumpulan nama ini akan diarahkan langsung ke pusat data Microsoft.

  2. *.officeapps.live.com dapat diakses di sirkuit ExpressRoute menggunakan Peering Microsoft.

  3. Alamat IP yang terkait dengan Office Online dan *.officeapps.live.com dapat ditemukan di tautan berikut ini.

  4. *.cdn.office.net mewakili CDN yang dihosting oleh Akamai, artinya permintaan ke kumpulan nama ini akan diarahkan ke pusat data Akamai.

  5. *.cdn.office.net tidak dapat diakses di sirkuit ExpressRoute.

  6. Alamat IP yang terkait dengan Office Online dan *.cdn.office.net tidak tersedia.

Penangkapan layar halaman titik akhir

Kami hanya menyediakan alamat IP untuk server Office 365 yang harus Anda rutekan langsung melalui Internet atau ExpressRoute. Daftar ini bukanlah daftar lengkap semua alamat IP yang akan Anda lihat untuk permintaan jaringan. Anda akan melihat permintaan jaringan ke alamat IP milik Microsoft dan pihak ketiga yang tidak dipublikasikan. Alamat IP ini dihasilkan atau dikelola secara dinamis dalam cara yang mencegah pemberitahuan tepat waktu saat alamat IP berubah. Jika firewall Anda tidak dapat mengizinkan akses berdasarkan FQDN untuk permintaan jaringan ini, gunakan file PAC atau WPAD untuk mengelola permintaan.

Apakah ada IP terkait Office 365 yang ingin Anda ketahui informasi selengkapnya?

  1. Lihat apakah alamat IP tersebut disertakan dalam rentang yang dipublikasikan secara lebih luas menggunakan kalkulator CIDR.

  2. Cari tahu apakah mitra memiliki IP tersebut dengan kueri whois. Jika IP dimiliki Microsoft, mungkin pemiliknya adalah mitra internal.

  3. Periksa sertifikat, sambungkan ke alamat IP di browser menggunakan HTTPS://<ALAMAT_IP>, periksa domain yang tercantum di sertifikat untuk memahami domain apa yang terkait dengan alamat IP tersebut. Jika alamat IP tersebut dimiliki Microsoft dan tidak ada dalam daftar alamat IP Office 365, kemungkinan alamat IP tersebut terkait dengan CDN Microsoft seperti MSOCDN.NET atau domain Microsoft lain tanpa informasi IP yang dipublikasikan. Jika Anda menemukan bahwa domain di sertifikat adalah domain yang kami klaim mencantumkan alamat IP tersebut, harap beri tahu kami.

Office 365 dan layanan Microsoft lainnya menggunakan beberapa layanan pihak ketiga seperti Akamai dan MarkMonitor untuk menyempurnakan pengalaman Office 365 Anda. Untuk terus memberikan pengalaman terbaik, kami mungkin mengubah layanan ini di masa mendatang. Saat melakukannya, kami sering menerbitkan data CNAME yang mengarah ke domain, catatan A, atau alamat IP milik pihak ketiga. Domain pihak ketiga mungkin menghosting konten seperti CDN, maupun menghosting layanan seperti layanan manajemen lalu lintas geografis. Ketika Anda melihat koneksi ke pihak ketiga ini, koneksi berupa pengalihan atau rujukan, bukan permintaan awal dari klien. Beberapa pelanggan perlu memastikan bentuk rujukan dan pengalihan ini diizinkan untuk pengiriman tanpa harus secara eksplisit menambahkan daftar panjang FQDN potensial yang mungkin digunakan oleh layanan pihak ketiga.

Daftar layanan ini dapat berubah kapan pun. Beberapa layanan yang saat ini sedang digunakan meliputi:

MarkMonitor digunakan saat Anda melihat permintaan yang menyertakan *.nsatc.net. Layanan ini menyediakan pemantauan dan proteksi nama domain agar terlindung dari perilaku berbahaya.

ExactTarget digunakan saat Anda melihat permintaan ke *.exacttarget.com. Layanan ini menyediakan pemantauan dan manajemen tautan email terhadap perilaku berbahaya.

Akamai digunakan saat Anda melihat permintaan yang menyertakan salah satu FQDN berikut. Layanan ini menawarkan layanan jaringan pengiriman konten dan geo-DNS.

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

  • Anda tersambung dengan layanan pihak ketiga untuk mendapatkan layanan internet dasar, seperti pencarian DNS dan pengambilan konten CDN. Anda juga tersambung dengan layanan pihak ketiga untuk tujuan integrasi, seperti memasukkan video YouTube dalam buku catatan OneNote.

  • Anda tersambung ke layanan sekunder yang dihosting dan dijalankan oleh Microsoft seperti simpul tepi yang memungkinkan permintaan jaringan memasuki jaringan global Microsoft di lokasi internet yang paling dekat dengan komputer. Sebagai jaringan terbesar ketiga di dunia, hal ini akan menyempurnakan pengalaman konektivitas Anda. Anda juga tersambung ke layanan Microsoft Azure, seperti Azure Media Services yang digunakan oleh sejumlah layanan Office 365.

  • Anda tersambung ke layanan Office 365 utama, seperti server kotak surat Exchange Online atau server Skype for Business Online yang menyimpan data unik dan data hak milik. Anda dapat tersambung ke layanan utama Office 365 melalui FQDN atau alamat IP dan menggunakan sirkuit ExpressRoute atau internet. Anda hanya dapat tersambung ke layanan pihak ketiga dan sekunder menggunakan FQDN pada sirkuit internet.

Diagram berikut memperlihatkan perbedaan antara area layanan ini. Dalam diagram ini, jaringan lokal pelanggan di kiri bawah memiliki beberapa perangkat jaringan untuk membantu mengelola konektivitas jaringan. Konfigurasi seperti ini umum untuk pelanggan perusahaan. Jika jaringan Anda hanya memiliki firewall antara komputer klien dan internet, hal tersebut juga didukung dan sebaiknya pastikan firewall Anda dapat mendukung FQDN dan wildcard dalam aturan daftar yang diperbolehkan.

Baca Prinsip Konektivitas Jaringan Office 365 untuk mendapatkan informasi selengkapnya tentang kategori titik akhir Office 365 dan memahami prinsip konektivitas dalam mengelola lalu lintas Office 365 dengan aman dan memperoleh kinerja terbaik.

Memperlihatkan tiga tipe titik akhir jaringan yang berbeda saat menggunakan Office 365

Office 365 adalah rangkaian layanan yang dirancang untuk berfungsi di internet, dengan jaminan keandalan dan ketersediaan yang didasarkan pada banyak layanan internet standar yang tersedia. Misalnya, layanan internet standar seperti DNS, CRL, dan CDN harus dapat dijangkau untuk menggunakan Office 365, juga untuk menggunakan sebagian besar layanan internet modern.

Selain layanan internet dasar ini, ada layanan pihak ketiga yang hanya digunakan untuk mengintegrasikan fungsionalitas. Sebagai contoh, menggunakan Giphy.com dalam Microsoft Teams memungkinkan pelanggan menyertakan Gif dalam Teams tanpa masalah. Demikian juga, YouTube dan Flickr merupakan layanan pihak ketiga yang digunakan untuk mengintegrasikan video dan gambar dengan lancar ke klien Office dari internet. Meskipun diperlukan untuk integrasi, layanan ini ditandai sebagai opsional dalam artikel titik akhir Office 365, artinya, fungsi inti layanan tersebut akan terus bekerja meskipun titik akhirnya tidak dapat diakses.

Jika sedang mencoba menggunakan Office 365 dan ternyata layanan pihak ketiga tidak dapat diakses, silakan pastikan semua FQDN yang ditandai sebagai diperlukan atau opsional dalam artikel ini sudah diizinkan untuk melalui proksi dan firewall.

Layanan sekunder merupakan layanan Microsoft yang tidak termasuk dalam kontrol Office 365. Layanan ini di antaranya adalah jaringan tepi, Azure Media Services, dan Jaringan Pengiriman Konten Azure. Semua layanan ini dibutuhkan untuk menggunakan Office 365 dan harus dapat dijangkau.

Jika sedang mencoba menggunakan Office 365 dan ternyata layanan pihak ketiga tidak dapat diakses, silakan pastikan semua FQDN yang ditandai sebagai diperlukan atau opsional dalam artikel ini sudah diizinkan untuk melalui proksi dan firewall.

Anda menanggung sendiri risiko pembatasan akses ke layanan konsumen kami, satu-satunya cara tepercaya untuk memblokir layanan konsumen adalah dengan membatasi akses ke FQDN login.live.com. FQDN ini digunakan oleh serangkaian luas layanan, termasuk layanan non-konsumen seperti MSDN, TechNet, dan lainnya. Pembatasan akses ke FQDN ini dapat mengakibatkan perlunya penyertaan pengecualian pada aturan untuk permintaan jaringan yang terkait dengan layanan ini.

Perlu diingat bahwa memblokir akses ke layanan konsumen Microsoft saja tidak akan menghalangi seseorang di jaringan Anda untuk menyadap informasi menggunakan penyewa Office 365 atau layanan lain.

Topik Terkait

Rentang IP Pusat Data Microsoft Azure
Ruang IP Publik Microsoft
Persyaratan infrastruktur jaringan untuk Microsoft Intune
Power BI dan ExpressRoute
Rentang alamat IP dan URL Office 365
Mengelola ExpressRoute untuk konektivitas Office 365
Prinsip Konektivitas Jaringan Office 365

Kembangkan keterampilan Office Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung ke Office Insiders

Apakah informasi ini bermanfaat?

Terima kasih atas umpan balik Anda!

Terima kasih atas umpan balik Anda! Sepertinya menghubungkan Anda ke salah satu agen dukungan Office kami akan sangat membantu.

×