虛擬域名的配置和設置方法
目 錄 2、Internet 上有哪些域名?...........................................................................
目 錄 2、Internet 上有哪些域名?..........................................................................................1
3、域名的形式..............................................................................................................2
4、域名級別的劃分.......................................................................................................2
5、多個域名對應一個IP 的虛擬域名設置.....................................................................3
第一步:泛域名的解析..........................................................................................4
第二步:利用程序來完成虛擬域名的解析.............................................................5
附錄一:域名與IP 一一對應的虛擬域名配置...............................................................7
附錄二:一個IP 地址對應多個獨立域名的配置..........................................................11
1、設不同的TCP 端口號.....................................................................................11
2、設不同的主機頭名..........................................................................................11
虛擬域名的配置和設計方法
用過網(wǎng)易的my.126.com 域名轉向服務的朋友們一定都對它的強大功能非常感興趣吧?只要申請了自己的虛擬域名,如icech.126.com ,以后無論自己的真實網(wǎng)址如何變化,訪問者都能使用這個虛擬域名準確訪問到自己的網(wǎng)站。以前我都以為這種域名是一種域名服務,因為工作上的需要,我們也要使用這種域名形式,但是應該怎么做呢?開始找了很多書籍和資料,發(fā)現(xiàn)做一個所謂的“二級域名”其實很簡單。
為什么我說“二級域名”是“所謂的”呢?因為按照正規(guī)的叫法這是完全錯誤的。下面就讓我來普及一下域名知識吧:
1、什么是域名?
從技術上講,域名只是一個Internet 中用于解決地址對應問題的一種方法??梢哉f只是一個技術名詞。但是,由于Internet 已經(jīng)成為了全世界人的Internet ,域名也自然地成為了一個社會科學名詞。
2、Internet 上有哪些域名?
國際通用域名之類別域名:
AC -適用于科研機構(怎么現(xiàn)在不見這個域名呢?);
作者:icech 第 1 頁 共 12 頁 2002-5-24
,COM -適用于工、商、金融等企業(yè);
NET -適用于互聯(lián)網(wǎng)絡、接入網(wǎng)絡的信息中心(NIC)和運行中心(NOC);
ORG -適用于各種非盈利性的組織;
由于歷史原因,下列域名限美國專用:
EDU -適用于教育機構;
GOV -適用于美國政府部門,國內(nèi)機構不能注冊;
MIL -適用于美國的軍事機構,國內(nèi)的機構不能注冊;
國際域名之國家名稱:根據(jù)ISO 標準定義。
中國頂級域名之類別域名:
AC.CN -適用于科研機構(好像現(xiàn)在也不能隨便申請吧?);
COM.CN -適用于工、商、金融等企業(yè);
EDU.CN -適用于教育機構;
NET.CN -適用于互聯(lián)網(wǎng)絡、接入網(wǎng)絡的信息中心(NIC)和運行中心(NOC);
ORG..CN -適用于各種非盈利性的組織;
3、域名的形式
一般我們能夠接觸的域名有兩種:國際域名和國內(nèi)域名。 國際域名的形式為:主機名. 公司名. 通用域名(COM、NET 或ORG) 例如:,其實實際意義上的域名為snepc.com ,加上www 就是直接指向某個主機了。
國內(nèi)域名:主機名. 公司名. 通用域名(COM、NET 或ORG).CN (中國為CN ,其他國家或地區(qū)另有定義)
例如:,這個域名為dianli.com.cn
4、域名級別的劃分(這是我自己理解的,不具有權威性?。?/p>
域名的級別是從后向前劃分的
如國際域名(snepc.com )來說,com 為第一級(頂級),snepc 為第二級,第二級允許個人或者團體進行注冊。
作者:icech 第 2 頁 共 12 頁 2002-5-24
,國內(nèi)域名屬于CNNIC 管理,所以要求比較嚴格,一般來說個人是不能申請注冊國內(nèi)域名的,就dianli.com.cn 來說,cn 為第一級(頂級),在頂級上劃分下面的二級域名,對于中國來說,二級域名包括兩種方式:類別域名和行政區(qū)域名。
“類別域名”6個,分別為:
AC —適用于科研機構;COM —適用于工、商、金融等企業(yè);EDU —適用于教育機構;GOV —適用于政府部門;NET —適用于互聯(lián)網(wǎng)絡、接入網(wǎng)絡的信息中心(NIC)和運行中心(NOC);ORG —適用于各種非盈利性的組織。
“行政區(qū)域名”34個,適用于我國的各省、自治區(qū)、直轄市,分別為:
BJ —北京市; SH —上海市;TJ —天津市; CQ —重慶市;HE —河北??; SX —山西??;LN —遼寧省; NM —內(nèi)蒙古自治區(qū);JL —吉林??; HL —黑龍江?。籎S —江蘇?。?ZJ —浙江省;AH —安徽??; FJ —福建??;JX —江西??; SD —山東??;HA —河南省; HB —湖北省;HN —湖南省; GD —廣東?。籋I —海南??; GX —廣西壯族自治區(qū);SC —四川省; GZ —貴州省;YN —云南省; XZ —西藏自治區(qū);SN —陜西?。?XJ —新疆維吾爾自治區(qū);QH —青海?。?NX —寧夏回族自治區(qū);GS —甘肅省; TW —臺灣;HK —香港; MO —澳門?,F(xiàn)在多了個重慶不知道加沒加上J
我們只能申請的就是三級域名了L ,但是沒關系的,我們一般才不會用什么國內(nèi)域名呢!又貴又不好申請,我的兩個國際域名(icech.com 和weste.net )才70元一個,哈哈。
所以如果我們設置news.dianli.com.cn 就成了四級域名了。
總之不管他是多少級域名,統(tǒng)稱為虛擬域名沒問題的。
5、多個域名對應一個IP 的虛擬域名設置
其實虛擬域名并不復雜。如果你有一點網(wǎng)絡編程的基礎,再看完本文,你也可以自己實現(xiàn)虛擬域名服務,過一把ISP 的癮。
我們都知道信息的資源地址一般是以域名形式給出的,而客戶機是通過DNS 的解析獲得主機的IP 地址后進行信息傳遞的。從域名到DNS 到IP 再到主機這個過程我就不羅嗦了,因為實在是懶得敲字了。
而我們要完成的虛擬域名是這樣子的:例如我有一個國際域名icech.com ,但是我想要幾個虛擬的域名news.icech.com 、love.icech.com 等等,但是服務商卻沒有提供這項服務啊,怎么辦?常言道“自己的事情自己做”哦,這句不經(jīng)典,“把自己的事情做好”這句經(jīng)典了作者:icech 第 3 頁 共 12 頁 2002-5-24
,吧!不懂?那就說明你不懂政治!
說到現(xiàn)在我還是沒有把真經(jīng)說出來,哈哈,不是我不說是我實在很高興,我能一下在把話說完。不好還有半個小時下班,看樣子我是寫不完了,進入正題!
制作一個形如news.icech.com 的域名本來十分簡單的,有些朋友會說,這還不EASY ?在DNS 上一配置不就OK 了?完全正確,在DNS 上進行配置確實能夠實現(xiàn)這種效果,而且遠比我下面講述的方法要好得多,但是為什么我還要小題大做呢?原因是這樣的。
在茫茫的宇宙中,我們地球無時無刻不在轉動著,在無窮盡的地球上,有一種東西(或者說是資源)叫域名,另一種資源叫IP 地址,由于初期設計的原因,我們的域名資源是無窮無盡的,而且可以再生的,就像河流和樹木,但是我們的IP 地址確實有限的,是寶貴的,是不能隨便浪費的,就像石油和煤炭。
一般來說一個域名或者幾個域名對應一個IP 地址,但是一個IP 地址只能對應一個主機,也就是說,在一般意義上,一個IP 只能對應一個網(wǎng)站。如果我們有很多的形如news.icech.com 的域名要找一個IP 地址去對應的話,資源的浪費是不言而喻的。
就是說,我們現(xiàn)在對應的關系是:
一個或者多個域名——>一個IP 地址——>一個主機
我們要轉換成:
多個域名——>一個IP 地址——>多個主機或者URL 地址
就是這么簡單的道理。但是卻讓我想了N 天,原因是什么呢?嗚嗚,媽媽說這是我從小不用功學習結果。
不廢話了,我要開始了。
第一步:泛域名的解析
首先我要給大家講一個故事:故事的內(nèi)容是“泛域名”。從前啊,有個小朋友叫做“泛域名”,泛域名是誰家的小孩呢?知道DOS 伯伯嗎?唉~~對了,泛域名就是DOS 伯伯的表兄的外甥的朋友,DOS 有個兒子叫做“通配符”,比如你在計算機中查找一個文件,你打上ice*.*,它就會把什么icech.sys 呀,icech.old 呀,icecream.eat 等文件統(tǒng)統(tǒng)查找出來。
“泛域名”就是這個樣子的,就像“*.icech.com”。那么泛域名有什么功用呢?這么說吧,你在DNS 中建立一個名為“*.icech.com”的泛域名,那么所有就像www.icech.com 、news.icech.com 、love.icech.com 等等格式的域名都不用建立就會自動生效,他們都會指向作者:icech 第 4 頁 共 12 頁 2002-5-24
,建立此泛域名時指向的IP 地址。如果你申請了一個域名,通過這樣的測試,你就會知道你申請的域名是不是泛域名了。不過一般的申請域名的時候如果我做特殊要求,ISP 接入商是不提供此項服務的,如果你想解析一下,“呵呵,哈哈,掏錢來”!
建立泛域名的大致步驟是:
1、進入DNS ,選“正向查找區(qū)域”,單擊右鍵,新建“區(qū)域”,輸入“icech.com ”(你寫你自己的域名啊,不要亂用我的域名)
2、選中“icech.com ”,單擊右鍵,新建“域”,輸入“*”
3、選中“*”,新建“主機”,主機名保持為空,輸入相應的IP 地址就OK 了。
簡單!EASY !你又該說了,悟空,不要大吵大嚷的嘛!小心嚇了那些花花草草的。后面的才是關鍵呢。
第二步:利用程序來完成虛擬域名的解析
假設我們希望設置一個news.icech.com 的域名,當我們在瀏覽器中輸入“news.icech.com ”的域名時,他會轉向它的真實地址。一般流程肯定就是,它會首先找到DNS 服務器,并且進行域名與IP 地址的轉換,這里因為我們已經(jīng)設置了泛域名,news.icech.com 就會直接指向icech.com 指向的IP ,這之間我們不能做什么其他的設置來改變這一流程。那么我們所要做的就是在這個IP 地址所對應主機的默認WEB 頁面上做文章,讓不同的子域名進行URL 重定向,轉到它們所希望的URL 網(wǎng)址上去。
1、設置icech.com 所在主機所默認的WEB 服務的默認文檔為index.asp 、index.php 或者index.cgi 等動態(tài)頁面,而不能是靜態(tài)的index.htm 頁面。
2、通過ASP 、PHP 或者CGI 程序來進行URL 的重定向功能
(1)index.php
$domain=$SERVER_NAME; //取得用戶所訪問的域名全稱
$domain=eregi_replace('.icech.com', '', $domain); //截取域名全稱,獲取用戶所要訪問的三級域名,獲取所訪問的域名全稱,可以直接使用PHP 系統(tǒng)變量$SERVER_NAME或者$HTTP_HOST,注意引用系統(tǒng)內(nèi)部變量必須大寫。事實上PHP 系統(tǒng)內(nèi)部已經(jīng)對用戶瀏覽器發(fā)送的訪問請求頭信息進行了全面的分析,并分割成、保存成相應的系統(tǒng)變量,以方便程序使用。第二個語句使用正則替換,查找“.icech.com ”并替換成空字符,這樣就獲得了三作者:icech 第 5 頁 共 12 頁 2002-5-24
,級域名。
通常,一個大型的虛擬域名服務都是將用戶子域名和其對應URL 放在數(shù)據(jù)庫里,這樣,用戶可以隨時注冊新的三級域名和更改域名對應的URL ,那么下面的工作就是從數(shù)據(jù)庫中檢索出該三級域名對應的URL (數(shù)據(jù)庫檢索程序略)。
...... //根據(jù)三級域名檢索數(shù)據(jù)庫,并得到變量$url,其中存放了該域名對應的URL 地址
Header("Location: $url"); //系統(tǒng)重定向,使用戶瀏覽器轉向相應URL
獲得了對應URL 地址之后,我們可以使用PHP 的header 函數(shù)給用戶瀏覽器發(fā)送一個重定向信息,讓用戶轉移到相應的URL 地址,這樣一個完整的虛擬域名服務過程就結束了。這里我們需要注意的是header 函數(shù)之前,不能對瀏覽器有任何輸出,否則會產(chǎn)生錯誤,另外重定向操作中的URL 地址應該表述完整,例如:http://www.weste.net/index.htm 廣告窗口的彈出:
常見的虛擬域名服務通常會有彈出廣告窗口,是怎么實現(xiàn)的呢?為了能統(tǒng)一控制,必須在重定向用戶瀏覽器之前彈出這個廣告框,那么重定向操作就不能簡單地使用header 函數(shù)了,因為這個函數(shù)要求使用前不能對瀏覽器有任何輸出。要實現(xiàn)它,我們必須改變方法:
...... //根據(jù)三級域名檢索數(shù)據(jù)庫,并得到變量$url,其中存放了該域名對應的URL 地址
echo '';
//輸出一段javascript 代碼,用以打開一個廣告窗口,顯示廣告頁adv.htm
echo '';
//使用HTML 的meta 語句來實現(xiàn)系統(tǒng)重定向,讓用戶瀏覽器轉向相應URL 。
(2)index.asp
< name=request.querystring("name") > ‘這樣來獲取用戶所訪問的域名全稱
trim(name) ‘用trim 函數(shù)來截取域名全稱,獲取用戶所要訪問的三級域名
與數(shù)據(jù)庫對比,如果與數(shù)據(jù)庫所設置的虛擬域名相同,則直接用response.redirect 轉向http://www.weste.net/index.htm頁面,否則設定另外轉向頁面。
具體的設計原則就是這些了,其他的就十分簡單了,虛擬域名最重要的在于一個思路,這和我們平時編寫程序一樣,一個功能的實現(xiàn)并不一定要很高深的技術,成功的關鍵在于“開動你的頭腦”!
作者:icech 第 6 頁 共 12 頁 2002-5-24
,附錄一:域名與IP 一一對應的虛擬域名配置(就是我說的一個域名對應一個IP 地址的那種)
1、打開DNS
2、找到主機名(一般是這臺計算機的名字)
3、首先建立“區(qū)域”
在“正向搜索區(qū)域”單擊右鍵“新建區(qū)域”,選擇“標準主要
區(qū)域”
下一步,填入“區(qū)域名稱”,如果你要建立news.icech.com 虛擬域名就在此處寫上
“COM ”
下一步會提示系統(tǒng)建立一個com.dns 的新DNS 配置
文件
作者:icech 第 7 頁 共 12 頁 2002-5-24
,下一步“完成”。這樣就建立了一個COM 區(qū)域。
4、建立“域”
這時您可以在“正向搜索區(qū)域”中看到增加了一個COM 的區(qū)域。右鍵單擊“COM ”,增選擇“新建域
…”,
填入
新域名
icech
確定。這樣又建立了新的域。
作者:icech 第 8 頁 共
12 頁 2002-5-24
,5、建立“主機”
同樣的道理,選擇icech ,右鍵“
新建主機…”
這時要求你填寫主機名稱
和對應的IP 地址
這樣就建立了一個news.icech.com 的虛擬域名,在瀏覽器輸入news.icech.com ,您就作者:icech 第 9 頁 共 12 頁 2002-5-24
,可以訪問相對應的IP 主機了。
6、添加“反向搜索區(qū)域”
右鍵“反向搜索區(qū)域”,“新建
區(qū)域…”
7、在網(wǎng)絡ID 中填入1.208.10(注意:正確IP 地址是10.208.1.88,這里要從10.208.1c 處反過來
填寫)
8、這樣就創(chuàng)建了
文件10.208.1.in-addr.arpa.dns
點擊
“完成”
作者:icech 第 10 頁 共 12 頁 2002-5-24