IIS ARR使用一個公網IP安裝及發佈CA、Exchange及OOS羣集

-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微軟產品實施及外包,QQ:185426445.電話18666943750
ios

需求描述:web

使用一個公網IP發佈CA、Exchange及OOS到外網,提供給Internet用戶訪問,本案採用IIS ARR實現相關應用的發佈。正則表達式

環境描述:windows

Exchange2016服務器兩臺,對外域名yuntcloud.net,兩臺服務器採用DAG,DAG的VIP爲192.168.0.30api

CA爲主域服務器,IP:192.168.0.194服務器

OOS服務器兩臺,採用NLB羣集,單播,VIP:192.168.0.32網絡

IIS ARR爲反向代理服務器,兩臺,採用NLB羣集,單播,VIP:192.168.0.31app

操做步驟以下:負載均衡

步驟一、安裝ARRide

在IISARR服務器上安裝有兩塊網卡,一個用於內部網絡,一個用於外部網絡。(能夠根據須要使用一塊網卡也能夠)

iis-arr-01的內網IP:192.168.0.115,外網IP:192.168.0.133

iis-arr-02的內網IP:192.168.0.112,外網IP:192.168.0.132

(微軟ARR NLB環境官方文章是單網卡,沒加域,修改計算機Netbios名稱)

若是沒有使用內部dns服務器,應該更新hosts文件,確保能夠解析Exchange、OOS和發佈的URL名稱。

操做系統使用windows server 2012 R2,計算機名命名爲iis-arr-01.zh-yunner.com和iis-arr-02.zh-winner.com(注:不用加域,也是支持Windows server 2016環境,爲何我沒選2016而是用2012 R2環境,我也不記得爲何了,反正2012 R2和2016都是受支持的)

軟件下載及相關介紹及操做具體可參考以下網站:

https://www.iis.net/downloads/microsoft/application-request-routing

https://docs.microsoft.com/en-us/iis/extensions/configuring-application-request-routing-arr/achieving-high-availability-and-scalability-arr-and-nlb

https://blogs.technet.microsoft.com/exchange/2013/07/19/part-1-reverse-proxy-for-exchange-server-2013-using-iis-arr/

https://blogs.technet.microsoft.com/nexthop/2013/02/19/using-iis-arr-as-a-reverse-proxy-for-lync-server-2013/

https://technet.microsoft.com/zh-cn/library/jj219455.aspx

http://masteringlync.com/2013/02/12/using-iis-application-request-routing-arr-as-a-tmg-replacement/

步驟二、IIS-ARR-01更改Netbios名稱,不須要加域

clip_image002

步驟三、防火牆啓用文件共享

clip_image004

步驟四、防火牆啓用遠程桌面

clip_image006

步驟五、在內部接口上建立鏈接到客戶端或服務器所在的全部內部網絡的永久靜態路由,咱們設置指向內部網絡的永久靜態路由,參考命令以下:

route add 192.168.0.0 mask 255.255.0.0 192.168.0.253 -p

[注:因爲我環境的兩個IIS ARR服務器均爲虛擬機,內網卡和外網卡的網段一致,已經有了到網關的路由,因此就不添加了]

在兩個IIS ARR服務器安裝NLB組件,

clip_image008

步驟六、因爲都是hyper-V虛擬機,故採用單播,且啓用MAC地址欺騙。(兩塊網卡都啓用MAC地址欺騙)

clip_image010

步驟七、使用WAN口網卡作NLB,外網訪問的時候由於是鏈接到WAN口

clip_image012

clip_image014

步驟八、添加IIS ARR羣集IP:192.168.0.31

clip_image016

步驟九、選擇單播,保持默認便可,完整Internet名稱此處不用填寫

clip_image018

步驟十、添加IIS ARR兩臺機器到NLB羣集

clip_image020

步驟十一、下面爲ARR的兩臺虛擬機及羣集VIP的ARP信息,若是採用多播的話,咱們須要ARP靜態綁定到出接口G 0/0/1(咱們目前的環境爲防火牆爲華爲USG6350防火牆,三層交換機爲華爲S5700,在下聯二層交換機,ARR虛擬機的兩臺宿主服務器都接在二層交換機,鏈接到上級的三層交換機接口G 0/0/1)

clip_image022

clip_image024

clip_image026

因此若是採用多播的方式的話ARP須要綁定並設置出接口端口爲G 0/0/1,因爲是測試環境,目前使用的是單播。

由於內部訪問不用通過ARR反向代理,因此Mail、autodiscover、crl、oos及全部域名記錄都指向到本身自己地址。

192.168.0.30爲兩臺Exchange2016的DAG的VIP地址

192.168.0.31爲兩臺ARR的NLB的VIP地址

192.168.0.32爲兩臺OOS的NLB的VIP地址

192.168.0.194爲CA服務器IP,用於發佈crld吊銷列表

clip_image028

步驟十二、DNS服務器上新增兩條A記錄,IIS-ARR-01的內網卡IP:192.168.0.115,IIS-ARR-02的內網卡IP:192.168.0.112

clip_image030

步驟1三、iis-arr-01和iis-arr-02 host文件都新加exchange內部和外部虛擬目錄名稱mail.yuntcloud.net和iis-arr兩臺計算機的fqdn完整計算機名稱及Netbios名稱,不填寫可能由於解析不了形成NLB羣集成員丟失,Exchange服務器的FQDN及OOS、CRL名稱也須要加上。

clip_image032

clip_image034

步驟1四、在IIS ARR服務器上安裝ARR3.0。

https://www.iis.net/downloads/microsoft/application-request-routing

clip_image036

clip_image038

clip_image040

clip_image042

clip_image044

步驟1五、安裝完成後,在IIS管理器中出現了Server Farms

clip_image046

步驟1六、選擇IIS-ARR-01的default web site,咱們須要給IIS ARR的兩臺服務器綁定證書

clip_image048

步驟1七、拷貝以前咱們已經導出的Exchange證書,選擇IIS根目錄,切換到證書,選擇導入證書

clip_image050

步驟1八、導入後入下圖

clip_image052

步驟1九、在默認站點中綁定證書

clip_image054

步驟20、若是須要使用pop和imap,注意域名外網發佈,建議外網mail和pop使用同一個公網IP,客戶端pop模式能夠設置pop或者mail域名。

域名名稱信息以下:

證書使用者

CN = mail.yuntcloud.net

OU = IT

O = 風雲再起信息科技有限公司

L = 珠海市

S = 廣東省

C = CN

使用者可選名稱

DNS Name=mail.yuntcloud.net

DNS Name=AutoDiscover.yuntcloud.net

DNS Name=zh-winner.com

DNS Name=yuntcloud.net

DNS Name=pop.yuntcloud.net

DNS Name=imap.yuntcloud.net

DNS Name=smtp.yuntcloud.net

DNS Name=ex2016.zh-winner.com

DNS Name=ex2016-02.zh-winner.com

DNS Name=oos.yuntcloud.net

步驟2一、同時安裝CA根證書,安裝後咱們點擊看證書路徑,能夠發現CA根證書已經導入好

clip_image056

步驟22. 下面開始配置Exchange服務器所須要的服務器場,配置Server Farms(注:如下爲給每一個Exchange目錄設置一個目錄路徑,能夠對每一個http路徑健康檢測,由於咱們的環境都是使用同一個域名mail,如是和我環境一致,請跳過此步驟)

針對每一個單獨的協議,建立單獨的Server Farms和URL重寫規則,這樣就能夠對每一個協議執行健康檢查,重而提供真正的反向代理和負載均衡配置。

下面是IIS ARR實現每一個協議的健康檢查

clip_image057

  1)確保每一個發佈的協議都使用不一樣的命名

Get-OWAVirtualDirectory | FL Server, InternalURL, ExternalURL  
Server      : TS-E2013-CA-01   
InternalUrl : https://mail.contoso.com/OWA

ExternalUrl : https://mail.contoso.com/OWA

Server      : TS-E2013-CA-02  
InternalUrl : https://mail.contoso.com/OWA

ExternalUrl : https://mail.contoso.com/OWA

Get-ECPVirtualDirectory | Fl Server, InternalURL, ExternalURL  
Server      : TS-E2013-CA-01   
InternalUrl : https://ecp.contoso.com/ECP

ExternalUrl : https://ecp.contoso.com/ECP

Server      : TS-E2013-CA-02  
InternalUrl : https://ecp.contoso.com/ECP

ExternalUrl : https://ecp.contoso.com/ECP

Get-WebServicesVirtualDirectory | fl Server, InternalURL, ExternalURL  
Server      : TS-E2013-CA-01   
InternalUrl : https://ews.contoso.com/EWS/Exchange.asmx

ExternalUrl : https://ews.contoso.com/EWS/Exchange.asmx

Server      : TS-E2013-CA-02  
InternalUrl : https://ews.contoso.com/EWS/Exchange.asmx

ExternalUrl : https://ews.contoso.com/EWS/Exchange.asmx

Get-ActiveSyncVirtualDirectory | fl server, InternalURL, ExternalURL  
Server      : TS-E2013-CA-01   
InternalUrl : https://eas.contoso.com/Microsoft-Server-ActiveSync

ExternalUrl : https://eas.contoso.com/Microsoft-Server-ActiveSync

Server      : TS-E2013-CA-02  
InternalUrl : https://eas.contoso.com/Microsoft-Server-ActiveSync

ExternalUrl : https://eas.contoso.com/Microsoft-Server-ActiveSync

Get-OABVirtualDirectory | fl server, InternalURL, ExternalURL  
Server      : TS-E2013-CA-01   
InternalUrl : https://oab.contoso.com/OAB

ExternalUrl : https://oab.contoso.com/OAB

Server      : TS-E2013-CA-02  
InternalUrl : https://oab.contoso.com/OAB

ExternalUrl : https://oab.contoso.com/OAB

Get-OutlookAnywhere | fl server, *hostname*  
Server           : TS-E2013-CA-01   
ExternalHostname : oa.contoso.com   
InternalHostname : oa.contoso.com

Server           : TS-E2013-CA-02  
ExternalHostname : oa.contoso.com   
InternalHostname : oa.contoso.com

2)建立Server Farms,每一個協議的服務器場建立完成後,添加健康測試URL

健康測試格式https://FQDN/ProtocolName/HealthCheck.htm   

Server Farm

Health Test URL

autodiscover.contoso.com

https://autodiscover.contoso.com/Autodiscover/HealthCheck.htm

OA.contoso.com

https://oa.contoso.com/rpc/HealthCheck.htm

mail.contoso.com

https://mail.contoso.com/owa/HealthCheck.htm

ECP.contoso.com

https://ecp.contoso.com/ecp/HealthCheck.htm

EWS.contoso.com

https://ews.contoso.com/ews/HealthCheck.htm

OAB.contoso.com

https://oab.contoso.com/oab/HealthCheck.htm

EAS.contoso.com

https://eas.contoso.com/Microsoft-server-ActiveSync/HealthCheck.htm

Mp.contoso.com

https://mp.contoso.com/mapi/HealthCheck.htm

步驟2三、咱們這裏使用的一樣的虛擬目錄,ex2016和ex2016-02服務器內部和外部都使用mail.yuntcloud.net

clip_image059

步驟2四、切換到server farms,選擇create server farm

clip_image061

步驟2五、server farm name:mail.yunrcloud.net(或者是任何一個可標識此server farm的名稱均可以)

clip_image063

步驟2六、添加兩臺Exchange服務器名稱

clip_image065

步驟2七、添加後以下圖,固然這裏咱們也能夠從對應的服務器場隨時移除指定服務器

clip_image067

步驟2八、點擊是

clip_image068

步驟2九、選擇建好的服務器場mail.yuntcloud.net

clip_image070

步驟30、繼續選擇caching,反選Enable disk cache

clip_image072

步驟3一、Health Test設置,若是對應的Server Farms是單機環境此處能夠爲空,若是有多臺服務器,此處則需填寫相關URL,才能對相關服務器執行健康檢測

Health Test URL:https://mail.yuntcloud.net/owa/healthcheck.htm

Interval(seconds):5

Time-out(seconds): 30

Acceptable status codes: 200

clip_image074

步驟3一、個人環境是IIS ARR 3.0,Load balance保持默認便可,若是是IIS ARR 2.5, 此處選擇Least Current Request.

clip_image076

步驟3二、monitoring and management,咱們能夠看到添加的兩臺服務器狀態,health status爲unhealthy,說明這個服務器相關服務不正常或者宕機,客戶端請求就不會在向對應的服務器繼續發送。

clip_image078

步驟3三、proxy設置

Time-out(seconds): 200

Response buffer threshold:0

clip_image080

clip_image082

步驟3四、routing rules,反選enable ssl offloading

clip_image084

步驟3五、不帶SSL的由於用不到,此處刪除或者禁用

clip_image086

步驟3六、選擇URL重寫,編輯入站規則

clip_image088

clip_image090

clip_image092

步驟3七、添加條件

條件輸入:{HTTP_HOST}

模式:mail.yuntcloud.net

clip_image094

步驟3八、添加後以下

clip_image096

步驟3九、操做,操做屬性,選擇對應的服務器場

clip_image098

步驟40、相似步驟設置服務器場,autodiscover.yuntcloud.net

clip_image100

clip_image102

clip_image104

clip_image106

步驟4一、設置完後,回到IIS根目錄,設置容許的最大內容長度以下

clip_image108

步驟4二、設置http到https的重定向

由於咱們習慣輸入網址mail.yuntcloud.net或者是http://mail.yuntcloud.net,因此咱們須要在新建各規則,80跳轉到https

名稱:Redirect To HTTPS

clip_image110

步驟4三、編輯入站規則

條件 {SERVER_PORT},類型 與模式匹配,模式 80

條件 {HTTP_HOST},類型 與模式匹配,模式 mail.yuntcloud.net

clip_image112

步驟4四、操做 方案https://mail.yuntcloud.net/{R:0},中止處理後續規則

clip_image114

步驟4五、兩臺ARR機器一樣的操做,設置後,就實現了80到443的跳轉

clip_image116

步驟4六、由於IIS ARR只能代理80和443相似的HTTP端口,因此外網80和443端口指向到IIS ARR的NLB VIP地址,SMTP、POP及IMAP不能經過IIS ARR實現反向代理,因此只能指向到DAG的VIP:192.168.0.30,內網不用反向代理

clip_image118

步驟4七、內網DNS記錄以下:

clip_image120

步驟4八、內網端口映射以下:

192.168.0.31爲IIS ARR的NLB VIP地址

192.168.0.30爲DAG的VIP地址

clip_image122

步驟4九、外網域名設置以下:

全部相關域名都指向到公網IP:221.4.214.186

clip_image124

步驟50、客戶端POP和IMAP設置以下:

clip_image126

分別關機IIS ARR中的一臺和Exchange 2016中的一臺,外網outlook均能在2分鐘內完成故障轉移和切換,停掉Exchange的OWA IIS應用池,outlook和owa將不會在訪問故障的Exchange服務器,說明IIS ARR實現了應用層的7層負載均衡。(注:NLB爲第三層網絡層的負載均衡,只能識別到IP的非正常才切換,第四層負載均衡爲IP加端口的傳輸層負載均衡的硬件負載均衡設備)

步驟5一、若是須要IIS ARR發佈Exchange同時發佈OOS,咱們須要首先修改ARR的證書以便包括Exchange和OOS的相關證書名稱,爲了統一,我把Exchange、OOS及ARR都更換爲包括全部名稱的證書。

步驟5二、ARR的證書包括OOS的域名記錄

證書使用者

CN = mail.yuntcloud.net

OU = IT

O = 風雲再起信息科技有限公司

L = 珠海市

S = 廣東省

C = CN

使用者可選名稱

DNS Name=mail.yuntcloud.net

DNS Name=AutoDiscover.yuntcloud.net

DNS Name=zh-winner.com

DNS Name=yuntcloud.net

DNS Name=pop.yuntcloud.net

DNS Name=imap.yuntcloud.net

DNS Name=smtp.yuntcloud.net

DNS Name=ex2016.zh-winner.com

DNS Name=ex2016-02.zh-winner.com

DNS Name=oos.yuntcloud.net

步驟5三、ARR的HOST記錄以下

clip_image128

步驟5四、建立office online server 對應的服務器場

參考以下網址:

http://masteringlync.com/2013/02/12/using-iis-application-request-routing-arr-as-a-tmg-replacement/

clip_image130

步驟5五、建立所需的服務器場,若是更換證書,須要重建對應的服務器場

New-OfficeWebAppsFarm -InternalURL "https://oos.yuntcloud.net" -ExternalURL "https://oos.yuntcloud.net" -CertificateName arr -SSLOffloaded -AllowHttp -EditingEnabled

(注:-SSLOffloaded 容許卸載到負載平衡器的 SSL 端接)

clip_image132

步驟5六、加oos02到服務器場

New-OfficeWebAppsMachine -MachineToJoin "oos.zh-winner.com"

clip_image134

步驟5七、咱們能夠看到oos及oos02都加到了同一個服務器場

clip_image136

步驟5八、場名:oos.yuntcloud.net

clip_image138

步驟5九、添加對應的OOS服務器

clip_image140

clip_image142

clip_image144

步驟60、Caching設置以下

clip_image146

步驟6一、Heath Test設置以下(若是有2臺以上的服務器組成服務器場,這個就須要設置,不然關機一臺後服務將可能打不開或者反應特別慢)

URL:https://oos.yuntcloud.net/hosting/discovery/healthcheck.htm

clip_image148

步驟6二、Health status不健康的不會發送代理請求,不然即便關機也會顯示爲healthy,會繼續接受發送請求。

clip_image150

步驟6三、Proxy設置以下,time-out設置爲200

clip_image152

Response設置爲0

clip_image154

Routing Rules禁用SSL offloading

clip_image156

禁用或者刪除沒SSL的規則

clip_image158

步驟6四、若是考慮同時使用HTTP的話,咱們就保留這條規則

clip_image160

步驟6五、相關設置以下,這樣設置後,在外面,oos也能經過80端口訪問

clip_image162

步驟6六、繼續設置帶SSL的規則

clip_image164

使用選擇正則表達式,模式(.*)

clip_image166

選擇條件,添加,條件輸入{HTTP_HOST},與模式匹配,模式:oos.yuntcloud.net

clip_image168

clip_image170

步驟6七、操做選擇路由到服務器場,選擇對應的oos場

clip_image172

步驟6八、咱們能夠繼續發佈CA的吊銷列表

clip_image174

clip_image176

步驟6九、添加server farm name:crl.yuntcloud.net

clip_image178

步驟70、添加dc01.zh-winner.com到對應的服務器場

clip_image180

步驟7一、選擇是

clip_image182

clip_image184

clip_image186

clip_image188

clip_image190

禁用帶SSL的CRL規則

clip_image192

入站規則

條件輸入:{HTTPS}

模式:^OFF$

clip_image194

clip_image196

clip_image198

clip_image200

步驟7二、繼續發佈CA的Certsrv目錄

在萬網新增dc01記錄,用於客戶端自行下載CA根證書

clip_image202

步驟7三、ARR的HOST文件設置以下,添加crl及dc01的內網FQDN地址

image.png

步驟7四、create server farm…

clip_image206

步驟7五、server farm name:dc01.yuntcloud.net

clip_image208

步驟7六、server address:dc01.zh-winner.com

clip_image210

步驟7七、選擇是

clip_image212

反選Enable disl cache

clip_image214

Time-out:200

clip_image216

Response buffer threshold:0

clip_image218

反選Enable SSL offloading

clip_image220

URL重寫禁用帶SSL的

clip_image222

使用選擇正則表達式,模式(.*)

clip_image224

添加條件以下,禁止https的訪問,只容許http訪問

clip_image226

編輯入站規則以下

clip_image228

最後設置效果以下

clip_image230

操做,選擇對應的服務器場

clip_image232

相關文章
相關標籤/搜索