它的主要功能是讓一部機(jī)器能夠透過自己的_第1頁
它的主要功能是讓一部機(jī)器能夠透過自己的_第2頁
它的主要功能是讓一部機(jī)器能夠透過自己的_第3頁
它的主要功能是讓一部機(jī)器能夠透過自己的_第4頁
它的主要功能是讓一部機(jī)器能夠透過自己的_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、DHCP 全名是 Dynamic Host Configuration Protoco它的主要功能是讓一部機(jī)器能 夠透過自己的 Ethernet AddresS廣播,向DHCP server取得有關(guān)ip, netmask, default gateway, dns等設(shè)定。這樣網(wǎng)管人員只要把 DHCP server設(shè)定好,就可以讓 client machine透過DHCP protocol自動取得IP相關(guān)的設(shè)定,而不需要去每一部 機(jī)器上辛苦地做 IP, n etmask, default gateway, dn等 設(shè)定 DHCP的運(yùn)作方式 運(yùn)作模式: 那麼DHCP是怎麼運(yùn)作的呢?現(xiàn)在假設(shè)我們的機(jī)

2、器在同一個網(wǎng)域當(dāng)中,也 就是說,DHCP Server與他的Clients都在同一個網(wǎng)段之內(nèi),可以透過軟體廣播 的方式來達(dá)到相互溝通的狀態(tài)。那麼Client藉由DHCP Server得到IP的程序 為: 1. 若Client端電腦設(shè)定使用 DHCP協(xié)定以取得網(wǎng)路參數(shù)時,則Client端 電腦在開機(jī)的時候,或者是重新啟動網(wǎng)路卡的時候,會自動的發(fā)出DHCP Clie nt 的需求給網(wǎng)域內(nèi)的每部電腦:這個時候,由於發(fā)出的訊息希望每部電腦都可以接 受,所以該訊息除了網(wǎng)路卡的硬體位址(MAC)無法改變外,需要將該訊息的來源 軟體位址設(shè)定為,而目的位址則為55這個我

3、們Linux會 自動幫您設(shè)定,無須考慮這個問題?。_@個時候,網(wǎng)域內(nèi)的其他沒有提供 DHCP 服務(wù)的電腦,收到這個封包之後會自動的將該封包丟棄而不回應(yīng);而如果是 DHCP主機(jī)呢? 2. DHCP主機(jī)回應(yīng)訊息:如果是 DHCP主機(jī)收到這個 Client的DHCP需 求時,那麼DHCP主機(jī)首先會針對該次需求的訊息所攜帶的MAC與DHCP 主機(jī)本身的設(shè)定值去比對,如果 DHCP主機(jī)的設(shè)定有針對該 MAC做靜態(tài)IP (每次都給予一個固定的IP )的提供時,則提供 Clie nt端相關(guān)的固定IP與相關(guān) 的網(wǎng)路參數(shù);而如果該訊息的MAC並不在DHCP主機(jī)的設(shè)定之內(nèi)時,則 DHCP主機(jī)會選取目前網(wǎng)域內(nèi)沒有使

4、用的IP (這個IP與設(shè)定值有關(guān))來發(fā)放給 client端使用!此外,需要特別留意的是,在DHCP主機(jī)發(fā)放給Client端的訊 息當(dāng)中,會附帶一個租約期限的訊息,以告訴Clie nt端,您這個IP可以 使用的期限有多長! 3. Client端接受來自DHCP主機(jī)的網(wǎng)路參數(shù),並設(shè)定 Client自己的網(wǎng)路環(huán) 境:當(dāng)Client端接受回應(yīng)的訊息之後,首先會以 ARP封包在網(wǎng)域內(nèi)發(fā)出訊息, 以確定來自DHCP主機(jī)發(fā)放的IP並沒有被佔(zhàn)用!如果該IP已經(jīng)被佔(zhàn)用了, 那麼Client對於這次的DHCP資訊將不接受,而將再次向網(wǎng)域內(nèi)發(fā)出DHCP 的需求廣播封包;若該IP沒有被佔(zhàn)用,則client可以接受DH

5、CP主機(jī)所給的網(wǎng)路的參數(shù),那麼這些參數(shù)將會被使用於 client端的網(wǎng)路設(shè)定當(dāng)中,同時,Client 端也會對DHCP主機(jī)發(fā)出確認(rèn)封包,告訴 Server這次的需求已經(jīng)確認(rèn)!而 Server也會將該資訊記錄下來; 4. Client端結(jié)束該IP的使用權(quán):當(dāng)Client開始使用這個 DHCP發(fā)放的IP 之後,有幾個情況下他可能會失去這個IP的使用權(quán): (a) Client端離線:不論是關(guān)閉網(wǎng)路介面(ifdown )、重新開機(jī)(reboot )關(guān) 機(jī)(shutdown )等行為,皆算是離線狀態(tài),這個時候Server端就會將該IP回 收,並放到Server自己的備用區(qū)中,等待未來的使用; (b) C

6、lient端租約到期:前面提到 DHCP server端發(fā)放的IP有使用的期 限,Client使用這個IP到達(dá)期限規(guī)定的時間,就需要將IP繳回去!這個時候 就會造成斷線,而 Clie nt也可以再向DHCP主機(jī)要求再次分配IP囉! My Stherar 巧 aa.aa:aa FIeme fdl ms about IP,血儷曲竈沁一 server 、 DHCP /or yoaj.- =11172.219 255.255.0 市 MarnJr fable ns 140 tlfi.72233 Static vs. Dyn amic 當(dāng) DHCP server 聽到網(wǎng)路上有

7、DHCP cilent 發(fā)出 broadcast時,DHCP server會在 它的database中找有關(guān)這個cilent的相關(guān)設(shè)定值,並且將其回傳給cilent. 這個database般來說分為static和dynamic兩部份 1. static 詳細(xì)列出 client 的 Ethernet Address與相關(guān)的 IP, netmask, gatewayns設(shè)定值 2. dyn amic DHCP server 會保留一段 IP 範(fàn)圍,當(dāng) cilent 的 Ethernet Address在 Static table 中找不到時,DHCP server就從這段IP範(fàn)圍中挑一個還沒有人使

8、用的IP給這 個 cilent. lease time租約期限) 考慮dynamic發(fā)放IP的情形,DHCP server會記住哪個cilent (根據(jù) Ethernet Addres曾經(jīng)來要過IP,如果同一個 Client重覆來要IP,就發(fā)同一個IP 給它,同時這個IP也不會發(fā)給其它的client,以免造成網(wǎng)路上兩個 client使用 相同的IP. 但是一個client很可能在要過IP後,接著關(guān)機(jī)很久,產(chǎn)生IP沒人使用,而 DHCP server又不敢之發(fā)給其它 client的情形,造成IP address的浪費(fèi) lease time就是 DHCP server用來決定一個IP addres

9、s在使用多久之後,就 將這個IP回收,轉(zhuǎn)發(fā)給其它的 Client. DHCP client必須在lease time用完之前, 重新向 DHCP server要一次IP,以免這個IP被回收.DHCP server會對lease time做一個上限設(shè)定,DHCP client在一開始request時,也可以指定它喜歡的 lease time長度,不過不能超過上限 關(guān)於租約的行為 其實(shí)設(shè)定期限還是有個優(yōu)點(diǎn)!最大的優(yōu)點(diǎn)就是可以避免該IP被某些使用 者一直佔(zhàn)用著,但該使用者卻是Idle (發(fā)呆)的狀態(tài)!舉個例子來說,我們剛 剛不是說到,我有150個IP,但是偏偏我有200個用戶嘛!那麼假設(shè)剛好例 如2

10、006年的世界盃足球賽好了,每個使用者都急著上網(wǎng)知道消息,那麼將會達(dá) 到交通尖峰時段!也就是說,這 200個人同時要來使用這150個IP,有可能 嗎?當(dāng)然不可能!肯定會有50個人無法連線,因?yàn)楹鼙福∧壳跋到y(tǒng)正在忙 線中,請您稍後再撥!那怎麼辦?這個時候租約到期的方式就很有用處啦!那 幾個已經(jīng)連線進(jìn)來很久的人,就會因?yàn)樽饧s到期而被迫離線,這個時候該IP就 會被釋放出來,哈哈!大家趕快搶呀!先搶到先贏喔!所以,那 50個人(包 括被迫離線的那個朋友)只好繼續(xù)的、努力的、加油的來進(jìn)行DHCP的要求 囉! 雖然說是優(yōu)點(diǎn),但是其實(shí)如果站在使用者的角度來看,還是可能會造成公憤 的!憑什麼大家一起交錢,我

11、先連線進(jìn)來就需要先被踢出去?呵呵!這個在早期 Hinet就是這點(diǎn)被罵的要死!為什麼呢?因?yàn)樗?ADSL撥接制,似乎真的就有 這個租約到期的問題,限制的時間似乎是24小時的樣子!所以,使用 Hin et ADSL撥接制的朋友,每24小時就要忍受一次斷線!我沒有使用過Hi net的 ADSL撥接制,網(wǎng)路上的朋友確實(shí)有回應(yīng)這樣的事情,但是我不確定現(xiàn)在 (2003/03/15 )Hinet是否還是用這套設(shè)定值?這樣您可以瞭解租約到期的行為了 嗎?! 設(shè)定 dhcpd.conf設(shè)定檔 好了,那麼來到最重點(diǎn)啦!我們的 DHCP就只要設(shè)定這個檔案即可!那麼 這個檔案如何設(shè)定呢?基本上,我們剛剛前面提過說,

12、DHCP的IP分配可分 為給予動態(tài)IP與靜態(tài)IP,其中,又需要瞭解的是,如果需要設(shè)定靜態(tài)IP的 話,那麼就必須要知道要設(shè)定成靜態(tài)IP的那部電腦的硬體位址(MAC)才行,請 使用arp及ifconfig來查知您的介面的 MAC吧!此外,我們需要設(shè)定的項(xiàng)目 大概有幾項(xiàng): 1. 整體設(shè)定(Global):裡面含有租約期限啦、或許還有DNS位址與router的設(shè) 定等等內(nèi)容; 2. 動態(tài)IP設(shè)定:使用sub net的項(xiàng)目與range的參數(shù)來設(shè)定要分配出去的 IP !請先確認(rèn)好您的網(wǎng)段喔! 3. 靜態(tài)IP設(shè)定:使用host這個項(xiàng)目段,配合 MAC來設(shè)定! 在dhcpd.conf這個檔案裡頭有些地方要特別

13、留意: #為註解符號; 除了括號那一行之外,其他的每一行後面都要以;做為結(jié)尾!這很重要! roottest root# vi /etc/dhcpd.c onf #這個檔案在各家Linux中,可能放置的目錄不同而且不見得會存在,請自行 建立! #再次說明,這個檔案中,行首為#的,則為註解,且, #設(shè)定的每一行之行尾,都需要;符號。 #這個檔案的設(shè)定寫法主要有兩種,首先是有獨(dú)特的設(shè)定名稱的,例如 # default-lease-time, # ; # default-lease-time 259200; #再來則是由option這個代號後面接的參數(shù)代碼 # option ; # opti on d

14、omai n-n aimdomai n.n ame; # 1. Global首先建立整體的設(shè)定值,亦即是,當(dāng)sub net或host # 當(dāng)中沒有設(shè)定的,以global為準(zhǔn) # 1.1設(shè)定租約期限: default-lease-time 259200#預(yù)設(shè)的租約時間,後面接的時間為秒鐘。 max-lease-time518400; # 但是超過租約時間(就是 default-lease-time) #還可續(xù)約,不過,最長還是只到518400秒! # 1.2設(shè)定領(lǐng)域名稱與 DNS IP opti on doma in-n ame, ; # 設(shè)定每部主機(jī)的後頭 # 領(lǐng)域

15、名稱為 ! option domain-name-servers , 0 ; #上面這個設(shè)定在寫入 DNS的IP ,會自動在 Client端修改/etc/resolv.conf #檔案,若有兩個DNS的IP以上,那麼就需要以,符號分隔開來! #最後面還是得加上;符號 # 2.動態(tài)IP分配的設(shè)定: sub net netmask range 1 00; option broadcast-address 55

16、; option routers ; #動態(tài)IP就如同上面的設(shè)定內(nèi)容,主要以sub net與n etmask來進(jìn)行前頭的說 明, #亦即先宣告我要的網(wǎng)段是哪一段,range IP1 IP2;那一行,都以空白字元 #隔開即可,而range表示我要分配的IP就是在IP1與IP2這之間的IP段 #就是了!再者,我總是要給 broadcast吧!沒錯!那個 # option broadcast-addres即是給予的 broadcast了; 至於 routers #不用說也知道那是什麼了吧?所以,我們就已經(jīng)含有IP, network, netmask, # broadcast與r

17、outer囉!這樣就可以順利上網(wǎng)啦!至於 DNS則是在 #上面global處已經(jīng)設(shè)定囉! # 3.靜態(tài)IP的設(shè)定: host vbird-i nside hardware etherne00:40:95:30:43:B4; fixed-address ; option broadcast-address 55; option routers ; #靜態(tài)IP肯定跟MAC有關(guān)的,所以請先查出來 MAC吧!然後的設(shè)定您都 知道啦! NAT Private IP Address Why Private IP Address 為了解決IP

18、日漸不足的問題,RFC1918中定義了一段Private IP address這 段IP可作為企業(yè)或單位內(nèi)自行運(yùn)用的IP Address而無須經(jīng)過向上游申請的手 續(xù).當(dāng)然使用單位必須負(fù)責(zé)不讓這些Private IP Address的routi ng in formation流 到單位外的網(wǎng)路上,也就是說這些電腦只能和單位內(nèi)的電腦連線,外面的網(wǎng)路看 不見單位內(nèi)這些 Private IP Address的電腦,因此這段 Private IP Address可重覆 地被不同單位內(nèi)部所使用,進(jìn)而達(dá)到節(jié)省IP的目的. Private IP Range RFC 1918共定義了三個範(fàn)圍的 Private

19、IP address Addr Range mask - 55 / - 55 / - 55 / Private IP 優(yōu)點(diǎn) 1. 節(jié)省IP的使用 2. 讓網(wǎng)路設(shè)計(jì)時能有較大的彈性 Pricate IP 缺點(diǎn) 1.使用Private IP的電腦無法連上In ternet Network Address Tran slati on What

20、 is NAT NAT定義於in RFC 1631,基本上它是在router中進(jìn)行一個偷換IP header 的動作,以便讓多臺電腦能共用一個IP連上In ternet的技術(shù).許多的router目 前有都有支援 NAT這項(xiàng)功能,其它如Linux中的IP Masquerade, FreeBS中的 NATD,或是 Win95上的Sygate軟體也是指一樣的東西. NAT 一般多配合 Private IP Address同使用 我們可以發(fā)現(xiàn)TCP封包裡頭有來源與目的地的IP及port的資訊在 Header裡面,那麼如果透過某些技術(shù),來改變 TCP圭寸包的header呢?如果能 夠?qū)CP封包的來源I

21、P由本來的Private IP變成Public IP的話,不就可以連 接到In ternet 了嗎?!呵呵!沒錯沒錯!談到重點(diǎn)了!就是這樣啦! NAT主機(jī) 的重要功能之一就是將來自內(nèi)部 Client端電腦封包的Header的IP偽裝成 公共IP,而提供Clie nt端連上In ternet的一個方法!(註:當(dāng)然啦,IP分享 器也是使用同樣的道理!)。那麼整個流程是如何呢?如下圖所示,當(dāng)我的區(qū)域 內(nèi)的具有00的client要對外連線的時候: Internet 士j 柬癡pppO上杓public【P 戶厚 4兇上旳public II : 來源:192. L6S. 1.100

22、Al 標(biāo): NAT主機(jī) 1. 這個clie nt的gateway設(shè)定為 NAT主機(jī),所以當(dāng)要連上 In ternet的時候, 該圭寸包就會被送到 NAT主機(jī)啦,這個時候的圭寸包Header之source IP為 00喔; 2. 而透過這個NAT主機(jī),她會將client的對外連線圭寸包的source IP (00 )偽裝成ppp0 (假設(shè)為撥接情況)這個介面所具有的公共IP 囉,因?yàn)槭枪睮P 了,所以這個封包就可以連上In ternet 了!同時NAT主機(jī) 並且會記憶這個連線的封包是由哪一個(00 ) clie nt端傳送來的;

23、 3. 由In ternet傳送回來的封包,當(dāng)然由NAT主機(jī)來接收了,這個時候,NAT主 機(jī)會去查詢原本記錄的路由資訊,並將目標(biāo) IP由ppp0上面的公共IP改回原 來的 00; 4. 最後則由NAT主機(jī)將該封包傳送給原先發(fā)送封包的Client囉! NAT的優(yōu)點(diǎn) 1. 由於對外只使用一個IP address,因此內(nèi)部使用的IP可重覆地在不同單位使 用 2. 只要少數(shù)public address就能讓單位內(nèi)所有電腦都連上In ternet 3. 只有使用public address的電腦會被單位外部網(wǎng)路所存取,使用private address 的電腦不會直接被存取,有安全

24、上的好處 FreeBSD上的NAT運(yùn)作 IPFW注 肚開 io redirectpacksi fromspac to user space (dirvet sock&i) 2 Kernel 3 in: l-a-b -c- 2 iSirutt ikaddr. sinydr. jiddr = fF 好 i 加此和 Dut: 3-a-b-c-4 於iic? ackaddr._adr.s tJdJr = rVADDJ?_AIT 在FreeBSD 2.2以上版本開始提供 divert socket,透過divert socket能讓user space program處理原先放在 kernel 中的 I

25、P packet. FreeBSD上的 NAT 功能便 是透過 divert socket來完成的. 首先經(jīng)由 Kernel 內(nèi)的 IPFW(IP Firewall)功能將 kernel space的 IP packet 轉(zhuǎn)向 到一個特定的 port (divert socket)然後另外執(zhí)行的 NATd daemon,由divert socket讀入raw IP packet,進(jìn)行必要的修改後再透過 divert socket傳回到kernel space 中 當(dāng)packet從網(wǎng)路上傳入時,所走的途徑是1-a-b-c-2 當(dāng)packet要送往網(wǎng)路上時,所走的途徑是3-a-b-c-4 Free

26、BSD NATD進(jìn)階應(yīng)用 Dynamic NAT 和 Static NAT 在之前的介紹我們知道,所有在NAT router之後的機(jī)器用的都是 private IP address,只有 NAT router 上的 public in terface 用的是 public IP address. NAT router會在private IP network中有機(jī)器往外連時將IP換成public IP,因而解決 了 IP不足的問題. NAT的運(yùn)作主要是靠 NAT mapping table中的entry來作redirect的動作, NAT mapping table 上的這些 entry 是在

27、private IP network 中有新的 connection 對外時才動態(tài)建立,這種我們稱之為 Dynamic NAT. Dynamic NAT的一個問題是 private IP network中的機(jī)器無法當(dāng)作 server, 讓外面的機(jī)器連進(jìn)來,因?yàn)楫?dāng)外面 conn ection進(jìn)來時,NAT mappi ng table上並沒 有可以對應(yīng)的entry. 為了解決上面的問題,我們可以在NAT router上事先定義好一些 entry,這 樣當(dāng)外部co nn ection進(jìn)來時,根據(jù)這些事先定義的en try,將conn ection轉(zhuǎn)到我 們希望的private IP network機(jī)器上,這種作法稱為 Static NAT. 使用Static NAT的時機(jī) 當(dāng)你的上游配給你不只一個 public IP address時,你可能希望除了由 NAT router用掉其中一個 public IP夕卜,private IP n

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論