您好,登錄后才能下訂單哦!
-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微軟產(chǎn)品實施及外包,QQ:185426445.電話18666943750
需求描述:
使用一個公網(wǎng)IP發(fā)布CA、Exchange及OOS到外網(wǎng),提供給Internet用戶訪問,本案采用IIS ARR實現(xiàn)相關(guān)應(yīng)用的發(fā)布。
環(huán)境描述:
Exchange2016服務(wù)器兩臺,對外域名yuntcloud.net,兩臺服務(wù)器采用DAG,DAG的VIP為192.168.0.30
CA為主域服務(wù)器,IP:192.168.0.194
OOS服務(wù)器兩臺,采用NLB群集,單播,VIP:192.168.0.32
IIS ARR為反向代理服務(wù)器,兩臺,采用NLB群集,單播,VIP:192.168.0.31
操作步驟如下:
步驟1、安裝ARR
在IISARR服務(wù)器上安裝有兩塊網(wǎng)卡,一個用于內(nèi)部網(wǎng)絡(luò),一個用于外部網(wǎng)絡(luò)。(可以根據(jù)需要使用一塊網(wǎng)卡也可以)
iis-arr-01的內(nèi)網(wǎng)IP:192.168.0.115,外網(wǎng)IP:192.168.0.133
iis-arr-02的內(nèi)網(wǎng)IP:192.168.0.112,外網(wǎng)IP:192.168.0.132
(微軟ARR NLB環(huán)境官方文章是單網(wǎng)卡,沒加域,修改計算機Netbios名稱)
如果沒有使用內(nèi)部dns服務(wù)器,應(yīng)該更新hosts文件,確??梢越馕鯡xchange、OOS和發(fā)布的URL名稱。
操作系統(tǒng)使用windows server 2012 R2,計算機名命名為iis-arr-01.zh-yunner.com和iis-arr-02.zh-winner.com(注:不用加域,也是支持Windows server 2016環(huán)境,為什么我沒選2016而是用2012 R2環(huán)境,我也不記得為什么了,反正2012 R2和2016都是受支持的)
軟件下載及相關(guān)介紹及操作具體可參考如下網(wǎng)站:
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/
步驟2、IIS-ARR-01更改Netbios名稱,不需要加域
步驟3、防火墻啟用文件共享
步驟4、防火墻啟用遠程桌面
步驟5、在內(nèi)部接口上創(chuàng)建連接到客戶端或服務(wù)器所在的所有內(nèi)部網(wǎng)絡(luò)的永久靜態(tài)路由,我們設(shè)置指向內(nèi)部網(wǎng)絡(luò)的永久靜態(tài)路由,參考命令如下:
route add 192.168.0.0 mask 255.255.0.0 192.168.0.253 -p
[注:由于我環(huán)境的兩個IIS ARR服務(wù)器均為虛擬機,內(nèi)網(wǎng)卡和外網(wǎng)卡的網(wǎng)段一致,已經(jīng)有了到網(wǎng)關(guān)的路由,所以就不添加了]
在兩個IIS ARR服務(wù)器安裝NLB組件,
步驟6、由于都是hyper-V虛擬機,故采用單播,且啟用MAC地址欺騙。(兩塊網(wǎng)卡都啟用MAC地址欺騙)
步驟7、使用WAN口網(wǎng)卡做NLB,外網(wǎng)訪問的時候因為是連接到WAN口
步驟8、添加IIS ARR群集IP:192.168.0.31
步驟9、選擇單播,保持默認即可,完整Internet名稱此處不用填寫
步驟10、添加IIS ARR兩臺機器到NLB群集
步驟11、下面為ARR的兩臺虛擬機及群集VIP的ARP信息,如果采用多播的話,我們需要ARP靜態(tài)綁定到出接口G 0/0/1(我們目前的環(huán)境為防火墻為華為USG6350防火墻,三層交換機為華為S5700,在下聯(lián)二層交換機,ARR虛擬機的兩臺宿主服務(wù)器都接在二層交換機,連接到上級的三層交換機接口G 0/0/1)
所以如果采用多播的方式的話ARP需要綁定并設(shè)置出接口端口為G 0/0/1,由于是測試環(huán)境,目前使用的是單播。
因為內(nèi)部訪問不用經(jīng)過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服務(wù)器IP,用于發(fā)布crld吊銷列表
步驟12、DNS服務(wù)器上新增兩條A記錄,IIS-ARR-01的內(nèi)網(wǎng)卡IP:192.168.0.115,IIS-ARR-02的內(nèi)網(wǎng)卡IP:192.168.0.112
步驟13、iis-arr-01和iis-arr-02 host文件都新加exchange內(nèi)部和外部虛擬目錄名稱mail.yuntcloud.net和iis-arr兩臺計算機的fqdn完整計算機名稱及Netbios名稱,不填寫可能因為解析不了造成NLB群集成員丟失,Exchange服務(wù)器的FQDN及OOS、CRL名稱也需要加上。
步驟14、在IIS ARR服務(wù)器上安裝ARR3.0。
https://www.iis.net/downloads/microsoft/application-request-routing
步驟15、安裝完成后,在IIS管理器中出現(xiàn)了Server Farms
步驟16、選擇IIS-ARR-01的default web site,我們需要給IIS ARR的兩臺服務(wù)器綁定證書
步驟17、拷貝之前我們已經(jīng)導(dǎo)出的Exchange證書,選擇IIS根目錄,切換到證書,選擇導(dǎo)入證書
步驟18、導(dǎo)入后入下圖
步驟19、在默認站點中綁定證書
步驟20、如果需要使用pop和imap,注意域名外網(wǎng)發(fā)布,建議外網(wǎng)mail和pop使用同一個公網(wǎng)IP,客戶端pop模式可以設(shè)置pop或者mail域名。
域名名稱信息如下:
證書使用者
CN = mail.yuntcloud.net
OU = IT
O = 風(fēng)云再起信息科技有限公司
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
步驟21、同時安裝CA根證書,安裝后我們點擊看證書路徑,可以發(fā)現(xiàn)CA根證書已經(jīng)導(dǎo)入好
步驟22. 下面開始配置Exchange服務(wù)器所需要的服務(wù)器場,配置Server Farms(注:以下為給每個Exchange目錄設(shè)置一個目錄路徑,可以對每個http路徑健康檢測,因為我們的環(huán)境都是使用同一個域名mail,如是和我環(huán)境一致,請?zhí)^此步驟)
針對每個單獨的協(xié)議,創(chuàng)建單獨的Server Farms和URL重寫規(guī)則,這樣就可以對每個協(xié)議執(zhí)行健康檢查,重而提供真正的反向代理和負載均衡配置。
下面是IIS ARR實現(xiàn)每個協(xié)議的健康檢查
1)確保每個發(fā)布的協(xié)議都使用不同的命名
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)創(chuàng)建Server Farms,每個協(xié)議的服務(wù)器場創(chuàng)建完成后,添加健康測試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 |
步驟23、我們這里使用的同樣的虛擬目錄,ex2016和ex2016-02服務(wù)器內(nèi)部和外部都使用mail.yuntcloud.net
步驟24、切換到server farms,選擇create server farm
步驟25、server farm name:mail.yunrcloud.net(或者是任何一個可標(biāo)識此server farm的名稱都可以)
步驟26、添加兩臺Exchange服務(wù)器名稱
步驟27、添加后如下圖,當(dāng)然這里我們也可以從對應(yīng)的服務(wù)器場隨時移除指定服務(wù)器
步驟28、點擊是
步驟29、選擇建好的服務(wù)器場mail.yuntcloud.net
步驟30、繼續(xù)選擇caching,反選Enable disk cache
步驟31、Health Test設(shè)置,如果對應(yīng)的Server Farms是單機環(huán)境此處可以為空,如果有多臺服務(wù)器,此處則需填寫相關(guān)URL,才能對相關(guān)服務(wù)器執(zhí)行健康檢測
Health Test URL:https://mail.yuntcloud.net/owa/healthcheck.htm
Interval(seconds):5
Time-out(seconds): 30
Acceptable status codes: 200
步驟31、我的環(huán)境是IIS ARR 3.0,Load balance保持默認即可,如果是IIS ARR 2.5, 此處選擇Least Current Request.
步驟32、monitoring and management,我們可以看到添加的兩臺服務(wù)器狀態(tài),health status為unhealthy,說明這個服務(wù)器相關(guān)服務(wù)不正?;蛘咤礄C,客戶端請求就不會在向?qū)?yīng)的服務(wù)器繼續(xù)發(fā)送。
步驟33、proxy設(shè)置
Time-out(seconds): 200
Response buffer threshold:0
步驟34、routing rules,反選enable ssl offloading
步驟35、不帶SSL的因為用不到,此處刪除或者禁用
步驟36、選擇URL重寫,編輯入站規(guī)則
步驟37、添加條件
條件輸入:{HTTP_HOST}
模式:mail.yuntcloud.net
步驟38、添加后如下
步驟39、操作,操作屬性,選擇對應(yīng)的服務(wù)器場
步驟40、類似步驟設(shè)置服務(wù)器場,autodiscover.yuntcloud.net
步驟41、設(shè)置完后,回到IIS根目錄,設(shè)置允許的最大內(nèi)容長度如下
步驟42、設(shè)置http到https的重定向
因為我們習(xí)慣輸入網(wǎng)址mail.yuntcloud.net或者是http://mail.yuntcloud.net,所以我們需要在新建各規(guī)則,80跳轉(zhuǎn)到https
名稱:Redirect To HTTPS
步驟43、編輯入站規(guī)則
條件 {SERVER_PORT},類型 與模式匹配,模式 80
條件 {HTTP_HOST},類型 與模式匹配,模式 mail.yuntcloud.net
步驟44、操作 方案https://mail.yuntcloud.net/{R:0},停止處理后續(xù)規(guī)則
步驟45、兩臺ARR機器同樣的操作,設(shè)置后,就實現(xiàn)了80到443的跳轉(zhuǎn)
步驟46、因為IIS ARR只能代理80和443類似的HTTP端口,所以外網(wǎng)80和443端口指向到IIS ARR的NLB VIP地址,SMTP、POP及IMAP不能通過IIS ARR實現(xiàn)反向代理,所以只能指向到DAG的VIP:192.168.0.30,內(nèi)網(wǎng)不用反向代理
步驟47、內(nèi)網(wǎng)DNS記錄如下:
步驟48、內(nèi)網(wǎng)端口映射如下:
192.168.0.31為IIS ARR的NLB VIP地址
192.168.0.30為DAG的VIP地址
步驟49、外網(wǎng)域名設(shè)置如下:
所有相關(guān)域名都指向到公網(wǎng)IP:221.4.214.186
步驟50、客戶端POP和IMAP設(shè)置如下:
分別關(guān)機IIS ARR中的一臺和Exchange 2016中的一臺,外網(wǎng)outlook均能在2分鐘內(nèi)完成故障轉(zhuǎn)移和切換,停掉Exchange的OWA IIS應(yīng)用池,outlook和owa將不會在訪問故障的Exchange服務(wù)器,說明IIS ARR實現(xiàn)了應(yīng)用層的7層負載均衡。(注:NLB為第三層網(wǎng)絡(luò)層的負載均衡,只能識別到IP的非正常才切換,第四層負載均衡為IP加端口的傳輸層負載均衡的硬件負載均衡設(shè)備)
步驟51、如果需要IIS ARR發(fā)布Exchange同時發(fā)布OOS,我們需要首先修改ARR的證書以便包括Exchange和OOS的相關(guān)證書名稱,為了統(tǒng)一,我把Exchange、OOS及ARR都更換為包括所有名稱的證書。
步驟52、ARR的證書包括OOS的域名記錄
證書使用者
CN = mail.yuntcloud.net
OU = IT
O = 風(fēng)云再起信息科技有限公司
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
步驟53、ARR的HOST記錄如下
步驟54、創(chuàng)建office online server 對應(yīng)的服務(wù)器場
參考如下網(wǎng)址:
http://masteringlync.com/2013/02/12/using-iis-application-request-routing-arr-as-a-tmg-replacement/
步驟55、創(chuàng)建所需的服務(wù)器場,如果更換證書,需要重建對應(yīng)的服務(wù)器場
New-OfficeWebAppsFarm -InternalURL "https://oos.yuntcloud.net" -ExternalURL "https://oos.yuntcloud.net" -CertificateName arr -SSLOffloaded -AllowHttp -EditingEnabled
(注:-SSLOffloaded 允許卸載到負載平衡器的 SSL 端接)
步驟56、加oos02到服務(wù)器場
New-OfficeWebAppsMachine -MachineToJoin "oos.zh-winner.com"
步驟57、我們可以看到oos及oos02都加到了同一個服務(wù)器場
步驟58、場名:oos.yuntcloud.net
步驟59、添加對應(yīng)的OOS服務(wù)器
步驟60、Caching設(shè)置如下
步驟61、Heath Test設(shè)置如下(如果有2臺以上的服務(wù)器組成服務(wù)器場,這個就需要設(shè)置,否則關(guān)機一臺后服務(wù)將可能打不開或者反應(yīng)特別慢)
URL:https://oos.yuntcloud.net/hosting/discovery/healthcheck.htm
步驟62、Health status不健康的不會發(fā)送代理請求,否則即使關(guān)機也會顯示為healthy,會繼續(xù)接受發(fā)送請求。
步驟63、Proxy設(shè)置如下,time-out設(shè)置為200
Response設(shè)置為0
Routing Rules禁用SSL offloading
禁用或者刪除沒SSL的規(guī)則
步驟64、如果考慮同時使用HTTP的話,我們就保留這條規(guī)則
步驟65、相關(guān)設(shè)置如下,這樣設(shè)置后,在外面,oos也能通過80端口訪問
步驟66、繼續(xù)設(shè)置帶SSL的規(guī)則
使用選擇正則表達式,模式(.*)
選擇條件,添加,條件輸入{HTTP_HOST},與模式匹配,模式:oos.yuntcloud.net
步驟67、操作選擇路由到服務(wù)器場,選擇對應(yīng)的oos場
步驟68、我們可以繼續(xù)發(fā)布CA的吊銷列表
步驟69、添加server farm name:crl.yuntcloud.net
步驟70、添加dc01.zh-winner.com到對應(yīng)的服務(wù)器場
步驟71、選擇是
禁用帶SSL的CRL規(guī)則
入站規(guī)則
條件輸入:{HTTPS}
模式:^OFF$
步驟72、繼續(xù)發(fā)布CA的Certsrv目錄
在萬網(wǎng)新增dc01記錄,用于客戶端自行下載CA根證書
步驟73、ARR的HOST文件設(shè)置如下,添加crl及dc01的內(nèi)網(wǎng)FQDN地址
步驟74、create server farm…
步驟75、server farm name:dc01.yuntcloud.net
步驟76、server address:dc01.zh-winner.com
步驟77、選擇是
反選Enable disl cache
Time-out:200
Response buffer threshold:0
反選Enable SSL offloading
URL重寫禁用帶SSL的
使用選擇正則表達式,模式(.*)
添加條件如下,禁止https的訪問,只允許http訪問
編輯入站規(guī)則如下
最后設(shè)置效果如下
操作,選擇對應(yīng)的服務(wù)器場
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。