其實很早之前我就遇到過這個問題。舉個例子,當時的狀態是Internet上已經存在yahoo.com這個域名,提供了諸如www, news, ftp等各種服務,且這個域名顯而易見是不屬於我們公司維護與控制。然后呢,我們公司接了yahoo的一部分外包業務,在本公司招了一百多人開始干活,當然域環境是少不了的,當時我把域名設置成了yahoo.com。一開始沒什么問題,直到有一天,用戶們提出要訪問yahoo本身的那些網站了,由於在本地yahoo.com域中,是不存在www這種主機的,所以用戶們當然就訪問不了。最后的解決辦法也只能是我在DNS服務器上逐條添加那些Internet主機的A記錄了。打那次之后,我對公司內部域名的選擇一律改成諸如yahoo.local這樣的格式了。
時至今日,我在網上看到了一篇文章,講的也是這個,雖然對文中的兩點還有所疑惑,但是大致解決辦法和我的差不多,摘抄如下:
有這樣一個問題或者說技術知識點,關於DNS的,如果在內部的DNS服務器(很多情況下都是ADDC)上找到了權威區域,那么不管客戶端的解析請求在DNS中是否存在,客戶端都只認該DNS所響應的解釋! 舉個栗子:如果我有個內部活動目錄域,域名叫ilijin.cn,並且我在公網上有個博客叫www.ilijin.cn,那么我內部所有的客戶端都訪問不到該博客了! 原因就是,訪問的www.ilijin.cn這個互聯網上的www主機,它所在的域是ilijin.cn;而我本地DNS服務商已經有這個權威區域了,就是我的AD域名,由於並沒有找到www這個主機的記錄,即使這個www.ilijin.cn記錄在公網上真的存在,那DNS也不會把該請求通過根提示或者轉發器轉到公網把正確的結果返回給客戶端,而是直接告訴客戶端,這個主機記錄在我的正向解析區域(權威區域)並沒有!但是你必須相信我的也只能相信我的!既然客戶端既然在域內,它的DNS絕大多數情況下都是指向該域內的DNS,也就意味着他會對本地DNS的回復深信不疑!進而導致無法訪問實際上存在的www.ilijin.cn公網主機(不管這個主機是虛擬主機還是虛擬機) 那么到底如何解決該問題呢? 通過內部DNS中添加該主機記錄,直接指向公網www.ilijin.cn所對應的真實公網IP地址! 這里需要注意兩點: 1.如果公網現有的www.ilijin.cn這台主機是跑在虛擬主機(IIS中的虛擬目錄或者Apache的虛擬主機) 那內部DNS的A記錄只能與公網保持一致,例如公網www.ilijin.cn [121.42.124.4],那內部的DNS中A記錄也只能是www.ilijin.cn對應該地址,如果是bbs.ilijin.cn對應的改地址,訪問就無法進行了。 2.如果公網現有的www.ilijin.cn這台主機是跑在虛擬機(Windows中的IIS默認網站,或者Apache中的默認網站) 那內部的DNS的A記錄可以隨便寫,例如公網是一個配置了121.42.124.4的公網IP的Windows Server 虛擬機,通過IP地址直接就能訪問,內部的A記錄可以是任意的,譬如公網訪問通過www.ilijin.cn,而內部完全可以用bbs.ilijin.cn,只要IP 指向改地址就可以了。 總結:如果是內外部域名一致,而在公網上有托管的一些譬如Web門戶,公網郵箱的服務,一定要注意妥善處理好本地DNS中的解析記錄。避免內部用戶訪問出現問題。 最佳實踐吧,不一定是最佳的,因為是我總結的。。。 那么如果出現了當前公網域名已經注冊好了就是ilijin.cn,而內部AD域還沒建立的情況下,到底是要內外部一致還是不一致呢?或者說,內部AD域名已經固定了,公網應該怎么注冊域名了,如果還沒有被其他人注冊,那么你要做的就是迅速拿下這個域名!並且持有很長一段時間,切記保持支付寶有錢,防止域名過期被回收。 雖然針對不同的需求還是具體來看,如果能很好的理解以上所描述的問題,推薦還是內外部一致,對客戶端的訪問來說會很有好處,對服務的公網發布也有方便之處。 另外,如果企業目前沒有郵件服務器在內部,而是使用163、QQ、阿里等公網提供的企業郵箱,一樣需要考慮這個問題!內部應該通過兩種記錄:CName和MX記錄與公網實際的指向保持一致。否則用戶不僅僅登陸不到郵箱的Web界面,通過Outlook收發郵件也就更不可能。 舉個栗子:公網在阿里注冊的企業郵箱,域名是izure.cn,自動添加了如下記錄,其中核心的就是MX記錄和CName記錄。 那么在內部DNS就應該跟這個保持嚴格一致!在正向區域中,添加與公網一致的5條記錄。
參考:
http://www.ilijin.cn/2015/07/22/企業內部ad域名和公網域名一致注意點/