欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      Linux下配置完整安全的DHCP服務(wù)器詳解(5篇)

      時間:2019-05-12 04:07:00下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《Linux下配置完整安全的DHCP服務(wù)器詳解》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《Linux下配置完整安全的DHCP服務(wù)器詳解》。

      第一篇:Linux下配置完整安全的DHCP服務(wù)器詳解

      名稱

      dhcpd.conf-dhcpd 配置文件

      描述

      dhcpd.conf 文件包括ISC DHCP的dhcpd的配置信息。

      dhcpd.conf文件是一個普通格式的ASCII碼文檔,它由內(nèi)置的遞歸解析器解釋。

      dhcpd.conf文件可能會包含許多額外的tab和空格、空行,它們的目的是讓文件更容易閱讀。其中的關(guān)鍵字對大小寫不敏感。注釋語句可以放在任何位置(除了引號中)注釋語句用# 開頭,這一行結(jié)束時注釋語句自然結(jié)束。

      文件包括一組語句,語句在一對大括號中,包含參數(shù)和聲明。

      參數(shù)語句說明如何做一件事(例如,租期是多長時間),或者是否做一件事情。(例如,dhcpd 是否為未知客戶提供地址),或者給客戶提供哪種參數(shù)(例如,使用網(wǎng)關(guān)220.177.244.7)。

      聲明用來描述網(wǎng)絡(luò)的拓撲結(jié)構(gòu)、網(wǎng)絡(luò)上的客戶,提供可以為客戶端分配的地址,或者對某個客戶端組應(yīng)用組(group)參數(shù)。在任何組參數(shù)中,所有的這些組參數(shù)必須比使用這些組參數(shù)的語句先出現(xiàn)。

      網(wǎng)絡(luò)聲明包含多子網(wǎng)的網(wǎng)絡(luò)(有些地方譯為:超網(wǎng),但超網(wǎng)太難理解了,這里叫“多子網(wǎng)網(wǎng)絡(luò)”)和子網(wǎng)的拓撲聲明。對于有地址被動態(tài)分配給客戶端的子網(wǎng),子網(wǎng)聲明中必須有一個range聲明語句。對于靜態(tài)分配的地址,或者是已知客戶的安裝,每個客戶端都必須使用一個host聲明語句。如果一個參數(shù)應(yīng)用到一組聲明中,這些聲明并不只與某個子網(wǎng)相關(guān),可以定義一個“組參數(shù)”。

      對每一個要服務(wù)的子網(wǎng),每個dhcp服務(wù)器連接的子網(wǎng),都必須有一個子網(wǎng)聲明,用來告訴dhcpd如何處理那個子網(wǎng)上的地址。即使一個子網(wǎng)不需要分配任何地址,也需要一個子網(wǎng)聲明。

      一些物理網(wǎng)絡(luò)上不只有一個IP子網(wǎng)存在,例如,如果一個網(wǎng)絡(luò)需要一個8位的子網(wǎng),但是當(dāng)業(yè)務(wù)發(fā)展使總的節(jié)點數(shù)超過了254臺,就需要增加一個8位的子網(wǎng)。這時,就增加了一個新的物理網(wǎng)絡(luò),這種情況下,2個網(wǎng)絡(luò)的子網(wǎng)聲明必須包含在一個“多子網(wǎng)網(wǎng)絡(luò)聲明(超級作用域)”中。

      有些網(wǎng)絡(luò)的客戶端不只有一個子網(wǎng),可能會為同一子網(wǎng)中一些客戶端分配的一些參數(shù)與其它的客戶端不同。這樣的用戶可以使用host語句來定義,一些參數(shù)也可以定義在“組參數(shù)”語句中,它被這些客戶端共同調(diào)用。對于需要根據(jù)不同情況獲得不同地址的客戶端,可能會使用“類聲明(class declarations)”和“條件聲明(conditional declarations)”語句,這樣可以根據(jù)客戶端發(fā)送的信息來決定分配給客戶端的參數(shù)。

      當(dāng)一個客戶端啟動時,服務(wù)器先查看是否有匹配客戶端的host語句,如果沒有,再看是否有匹配的“類聲明(class declarations)”語句,接著查看是否有“池pool”匹配,“子網(wǎng)subnet”匹配和“多子網(wǎng)網(wǎng)絡(luò)(超級作用域)shared-net-work”匹配。(根據(jù)這些匹配,)將符合這個客戶端的參數(shù)提供給它。每種參數(shù)都不會被分析第2次,如果它們出現(xiàn)了2次或2次以上,那么會使用那個最精確出現(xiàn)的地方。

      dhcpd首先查找客戶端是否有包含固定IP地址的host語句,這個地址要在客戶端啟動的那個子網(wǎng)中,或者“多子網(wǎng)網(wǎng)絡(luò)”中,如果沒有對應(yīng)的host語句匹配,那就查找非固定地址的聲明。

      例如:

      一個典型的dhcpd.conf 文件將會象下面這樣:

      global parameters...subnet 204.254.239.0 netmask 255.255.255.224 {

      subnet-specific parameters...range 204.254.239.10 204.254.239.30;

      }

      subnet 204.254.239.32 netmask 255.255.255.224 {

      subnet-specific parameters...range 204.254.239.42 204.254.239.62;

      }

      subnet 204.254.239.64 netmask 255.255.255.224 {

      subnet-specific parameters...range 204.254.239.74 204.254.239.94;

      }

      group {

      group-specific parameters...host zappo.test.isc.org {

      host-specific parameters...}

      host beppo.test.isc.org {

      host-specific parameters...}

      host harpo.test.isc.org {

      host-specific parameters...}

      }

      圖 1

      注意文件的開始,它是全局參數(shù)放置的地方,可能會是:

      組織的域名,DNS服務(wù)器的地址(如果這個服務(wù)器對整個網(wǎng)絡(luò)都是一樣的)和其它一些。比如:

      option domain-name “isc.org”;

      option domain-name-servers ns1.isc.org, ns2.isc.org;

      圖 2

      如圖2中所示,可以使用DNS服務(wù)器的名稱而不使用它的IP地址,如果指定不只一個DNS服務(wù)器地址,那么只要有可能,所有地址都會提供給客戶端。

      每個子網(wǎng)都要指明的最可能必須的參數(shù)是router,如圖1所示。因此對于第一個子網(wǎng),它就應(yīng)該是這個樣子的 option routers 204.254.239.1;

      注意這里的地址是數(shù)字形式的,如果每個網(wǎng)關(guān)都有域名,這就不是必須的,使用域名也是合法的。然而,很多情況下,多個網(wǎng)關(guān)只有一個域名,這樣就不能使用域名了。

      在圖1中,有一個group 語句,它為一組host語句zappo,beppo和harpo提供了通用的參數(shù)。如你所見,這些主機都在test.isc.org這個域里,這樣它在“組參數(shù)”中指明就會覆蓋全局設(shè)置的參數(shù):

      option domain-name “test.isc.org”;

      而且,指明它們的域,可能用在測試機器中,如果我們要測試DHCP的租約機制,可以在這里設(shè)置比默認(rèn)值更短的租約:

      max-lease-time 120;

      default-lease-time 120;

      你可能注意到有些參數(shù)以option 關(guān)鍵字開頭,有些不。以option 關(guān)鍵字開頭的語句對應(yīng)實際的DHCP選項,不以option關(guān)鍵字開頭的選項控制服務(wù)端(例如,租期)或客戶端的選項不在DHCP協(xié)議中(例如,服務(wù)器名或文件名)

      在圖1中,每個host 都有指定的參數(shù),它會包含象hostname選項,要上傳的文件名(filename 參數(shù)),還有要上傳的服務(wù)器的地址(next-server 參數(shù))。通常,任何參數(shù)都可以在任何可以出現(xiàn)的地方出現(xiàn),并且按照參數(shù)出現(xiàn)位置確定應(yīng)用范圍。

      假設(shè)你的環(huán)境中有許多沒有CD的X終端,這些終端有不同的型號,你想為每種型號確定一個啟動文件,一種方法是給每個服務(wù)器和組都使用host語句:

      group {

      filename “Xncd19r”;

      next-server ncd-booter;

      host ncd1 { hardware ethernet 0:c0:c3:49:2b:57;}

      host ncd4 { hardware ethernet 0:c0:c3:80:fc:32;}

      host ncd8 { hardware ethernet 0:c0:c3:22:46:81;}

      }

      group {

      filename “Xncd19c”;

      next-server ncd-booter;

      host ncd2 { hardware ethernet 0:c0:c3:88:2d:81;}

      host ncd3 { hardware ethernet 0:c0:c3:00:14:11;}

      }

      group {

      filename “XncdHMX”;

      next-server ncd-booter;

      host ncd1 { hardware ethernet 0:c0:c3:11:90:23;}

      host ncd4 { hardware ethernet 0:c0:c3:91:a7:8;}

      host ncd8 { hardware ethernet 0:c0:c3:cc:a:8f;}

      }

      地址池

      “池”語句(pool)用來定義一個地址池,即便是在同一個網(wǎng)段或者子網(wǎng),也可以定義幾個池,系統(tǒng)將通過“池”來區(qū)分它們。例如,你可能想提供一大段地址分配給DHCP客戶端時同時提供很短的租約的一小段地址,用來給未知客戶。如果有防火墻,你可能會安排一段地址池能上網(wǎng),另一個地址池不能上網(wǎng),這可以鼓勵用戶注冊到DHCP系統(tǒng)中來,也就需要建立兩個地址池:

      subnet 10.0.0.0 netmask 255.255.255.0 {

      option routers 10.0.0.254;

      # Unknown clients get this pool.pool {

      option domain-name-servers bogus.example.com;

      max-lease-time 300;

      range 10.0.0.200 10.0.0.253;

      allow unknown-clients;

      }

      # Known clients get this pool.pool {

      option domain-name-servers ns1.example.com, ns2.example.com;

      max-lease-time 28800;

      range 10.0.0.5 10.0.0.199;

      deny unknown-clients;

      }

      }

      上面這個例子中,已知客戶和未知客戶在相同的子網(wǎng)中,也可能將已知和未知客戶分配在不同的子網(wǎng)中,或者在“多子網(wǎng)層次(超級作用域)”,這樣地址池的范圍可能跨越不同的子網(wǎng)。正如前面的例子,地址池可以允許或拒絕一個控制用戶存取的組,這個組名前面要有allow或 deny 關(guān)鍵字。

      如果一個池有一個允許列表,只有匹配的客戶端才可以獲得地址池的地址,如果這個池有一個拒絕列表,只有不匹配的客戶端才可以獲得池中的地址,如果同時存在允許和拒絕列表,那么只有在允許列表并且不在拒絕列表中的客戶端才可以獲得池中的地址。

      動態(tài)地址分配

      地址分配實際只在客戶端在初始狀態(tài)并且發(fā)送一個 DHCPDISCOVER信息時完成。如果客戶端認(rèn)為它有一個有效的租約并且發(fā)送了一個DHCPREQUEST信息來初始化或者更新租約,服務(wù)器就只有3個選擇:(1)它可以忽略DHCPREQUEST信息,并且返回一個DHCPNAK 信息來告訴客戶端,要求客戶端停止使用這個地址,(2)或者發(fā)送一個DHCPACK信息,告訴客戶端繼續(xù)再使用這個地址一段時間,如果服務(wù)器找到客戶端要求的地址,并且這個地址對于這個客戶也是可用的,服務(wù)器會發(fā)送一個DHCPACK信息,如果這個地址已經(jīng)不能用了,客戶端就不能使用它,此時服務(wù)器將會發(fā)送一個DHCPNAK信息,(3)如果服務(wù)器不知道這個地址,它會先保持沉默,除非這個地址對于客戶端依附的地址段是不正確的,這種情況下服務(wù)器會發(fā)送一個DHCPNAK,即便它完全不知道這個地址。

      如果有一個host語句定義了客戶端,同時host語句中包含了固定地址(fixed-address),這個IP地址對于客戶端實際連接的網(wǎng)段也是合法的,此時DHCP服務(wù)器不動態(tài)分配地址,而是發(fā)送host語句指明的地址。如果此時用戶發(fā)送了DHCPREQUEST信息來獲得其它地址,服務(wù)器會回應(yīng)一個DHCPNAK信息,來拒絕為用戶分配其它地址。

      當(dāng)一個DHCP服務(wù)器為客戶端分配一個新的地址時(記住,這只發(fā)生在客戶端發(fā)送DHCPDISCOVER信息時),它首先查找lease文件,看客戶機是否存在一個有效的地址租約,或者此客戶機原來是否有一個地址(這個地址已經(jīng)過期),如果有,服務(wù)器就會檢查那個地址,看客戶端是否被允許使用這個地址,如果客戶端已經(jīng)不被允許使用這個地址(通常是客戶機從另外一個子網(wǎng)登錄了,或者此地址被其它客戶端占用),并且服務(wù)器lease文件中顯示原來的租約還存在,服務(wù)器就釋放這個租約,事實上,此時是客戶端發(fā)送的DHCPDISCOVER信息,它已經(jīng)證明客戶端實際并沒有使用這個租約。如果沒有找到存在的租約,或者客戶端被強迫接收一個已經(jīng)存在的租約,那么服務(wù)器就會查找客戶端所在網(wǎng)段的地址池,找一個允許客戶端使用而又沒有使用的地址,它會按順序遍歷每個地址池(所有地址池外的“范圍”range定義語句都組成一個沒有允許列表的單獨的池)。如果地址池的允許列表允許客戶端得到一個池中的地址,這個地址池會被檢查是否有可用的地址,如果有,客戶端將會得到這個地址;否則,會檢查下一個地址池。如果一直都沒有找到可用的地址,服務(wù)器就不發(fā)送回應(yīng)。如果找到一個地址,這個地址以前從未被任何客戶端使用過,這個地址將立即分配給這個客戶,如果這個地址曾經(jīng)分配給另一個客戶端,服務(wù)器會嘗試查找一個從未分配的地址給客戶端。

      DHCP服務(wù)器使用哈希表(hash table)來產(chǎn)生一組可用的IP地址,這意味著地址不以任何特定的順序存放,這樣也就不能預(yù)測DHCP服務(wù)器下一個要分配的地址。前一個版本的ISC DHCP服務(wù)器使用降序來分配地址,現(xiàn)在不是了,并且在這個版本里也沒有辦法配置服務(wù)器分發(fā)地址的順序(ISC DHCP 3)。

      防止IP地址沖突

      DHCP服務(wù)器在分配IP地址前檢查它們是否被使用來防止沖突。它通過向準(zhǔn)備分配的IP地址發(fā)送ICMP Echo 請求信息來完成,如果1秒內(nèi)沒有接收到ICMP Echo reply信息,就假定這個地址是可用的。這只對在range語句中指明的租約,并且租約被DHCP服務(wù)器認(rèn)為可用時有效。例如,DHCP服務(wù)器或者它的熱備機沒有列出這個租約在使用中。如果收到ICMP Echo回應(yīng),DHCP服務(wù)器會假定出現(xiàn)了配置錯誤――IP地址被網(wǎng)絡(luò)上的主機使用了,然后它標(biāo)記這個地址為“廢棄地址”,不再把它分配給客戶端。如果DHCP客戶端試圖得到一個地址,但是卻沒有可用的地址,服務(wù)器會(隨機)標(biāo)記一個“廢棄地址”為“可用”,然后向這個地址發(fā)送同樣的ICMP Echo 請求,如果沒有得到 ICMP Echo reply回應(yīng),這個地址就會分配給這個客戶。

      如果要收回的第一個IP地址是可用的,DHCP服務(wù)器不會去循環(huán)使用“廢棄地址”。而且,當(dāng)下一個客戶的DHCPDISCOVER信息到達時,它會用相同的方法開始一個新的分配,并且嘗試分配一個新的IP地址。

      在Linux中配置DHCP服務(wù)器 安裝DHCP服務(wù)器

      DHCP配置文件

      可以使用RHEL 5.0自身攜帶的RPM包安裝,安裝結(jié)束后DHCP端口監(jiān)督程序dhcpd配置文件是/etc目錄中的名為dhcpd.conf的文件。下面手工建立/etc/dhcpd.conf文件,該文件通常包括3個部分,即parameters參數(shù)、declarations聲明和option選項。

      1.DHCP配置文件中的parameters

      parameters表明如何執(zhí)行任務(wù),以及是否要執(zhí)行任務(wù)或?qū)⒛男┚W(wǎng)絡(luò)配置選項發(fā)送給客戶端,主要參數(shù)如表8-1所示。

      DHCP配置文件中的主要參數(shù)

      參 數(shù)

      解 釋

      ddns-update-style

      配置DHCP-DNS互動更新模式

      default-lease-time

      指定默認(rèn)租賃時間的長度,單位是秒

      max-lease-time

      指定最大租賃時間長度,單位是秒

      hardware

      指定網(wǎng)卡接口類型和MAC地址

      server-name

      通知DHCP客戶端服務(wù)器名稱

      get-lease-hostnames flag

      檢查客戶端使用的IP地址

      fixed-address ip 分配給客戶端一個固定的地址

      authritative 拒絕不正確的IP地址的要求

      2.DHCP配置文件中的declarations declarations用來描述網(wǎng)絡(luò)布局及提供客戶的IP地址等,主要聲明 聲 明 解 釋

      shared-network 用來告知是否一些子網(wǎng)絡(luò)共享相同網(wǎng)絡(luò) subnet 描述一個IP地址是否屬于該子網(wǎng) range起始IP終止IP 提供動態(tài)分配IP的范圍 host主機名稱 參考特別的主機 group 為一組參數(shù)提供聲明 續(xù)表 聲 明

      解 釋

      allow unknown-clients﹔deny unknown-client 是否動態(tài)分配IP給未知的使用者

      allow bootp;deny bootp 是否響應(yīng)激活查詢

      allow booting﹔deny booting 是否響應(yīng)使用者查詢

      filename 開始啟動文件的名稱,應(yīng)用于無盤工作站

      next-server

      設(shè)置服務(wù)器從引導(dǎo)文件中裝入主機名,應(yīng)用于無盤工作站

      DHCP配置文件中的option

      option用來配置DHCP可選參數(shù),全部用option關(guān)鍵字作為開始,主要選項如表8-3所示。表8-3 DHCP配置文件中option關(guān)鍵字的主要選項 選 項

      解 釋

      subnet-mask

      為客戶端設(shè)定子網(wǎng)掩碼

      domain-name

      為客戶端指明DNS名字

      domain-name-servers

      為客戶端指明DNS服務(wù)器的IP地址

      host-name

      為客戶端指定主機名稱

      routers

      為客戶端設(shè)定默認(rèn)網(wǎng)關(guān)

      broadcast-address

      為客戶端設(shè)定廣播地址

      ntp-server

      為客戶端設(shè)定網(wǎng)絡(luò)時間服務(wù)器的IP地址

      time-offset

      為客戶端設(shè)定格林威治時間的偏移時間,單位是秒

      配置實例

      在下面的實例中使用一個example.com的虛擬域名,用戶需要修改其中的內(nèi)容以滿足網(wǎng)絡(luò)的需求。/etc/dhcpd.conf文件的內(nèi)容如下:

      # The options outside a subnet directive are global unless

      # over-ridden by the same setting inside the subnet directive.option domain-name-servers 192.0.34.43,193.0.0.236;

      default-lease-time 6000;max-lease-time 7200;# If this DHCP server is the official DHCP server for the local

      # network,the authoritative directive should be uncommented.authoritative;

      # Use this to send dhcp log messages to a different log file(you also

      # have to hack syslog.conf to complete the redirection).log-facility local7;

      # Handle client dynamic dns updates

      ddns-update-style none;# Example Network 1(on eth0)

      subnet 192.168.200.0 netmask 255.255.255.0 {

      option domain-name “corp.example.com”;

      range 192.168.200.100 192.168.200.200;

      option routers 192.168.200.254;

      }

      上面的實例配置文件分為兩個部分,即子網(wǎng)配置信息和全局配置信息??梢杂卸鄠€子網(wǎng),這里為了簡化,只指定了一個子網(wǎng)。

      (1)Subnet。

      在上面的例子中,一個子網(wǎng)聲明以“subset”關(guān)鍵字開始,所以子網(wǎng)信息包括在{}中。{}中的配置信息只對該子網(wǎng)有效,會覆蓋全局配置。

      (2)Global。

      所有子網(wǎng)以外的配置都是全局配置,如果同一個全局配置沒有被子網(wǎng)配置覆蓋,則其將對所有子網(wǎng)生效。

      (3)Configuration Options。

      下面是上例中配置指令的解釋說明。

      option domain-name-servers 192.0.34.43,193.0.0.236;

      這一行指定客戶端應(yīng)該使用的DNS服務(wù)器,該選項可以用于全局參數(shù)或者子網(wǎng)參數(shù)。

      default-lease-time 6000;max-lease-time 7200;

      這兩行是相關(guān)的,default-lease-time指定客戶端需要刷新配置信息的時間間隔(秒),max-lease-time為客戶端用于無法從服務(wù)器獲得任何信息的時間,超過該時間則會丟棄之前從該DHCP服務(wù)器獲得的所有信息,而轉(zhuǎn)向使用OS的默認(rèn)設(shè)置。

      authoritative;

      指定當(dāng)一個客戶端試圖獲得一個不是該DHCP服務(wù)器分配的IP信息,DHCP將發(fā)送一個拒絕消息,而不會等待請求超時。當(dāng)請求被拒絕,客戶端會重新向當(dāng)前DHCP發(fā)送IP請求獲得新地址。

      log-facility daemon;

      指定DHCP服務(wù)器發(fā)送的日志信息的日志級別。

      ddns-update-style none;

      該配置可以指定一個方法,客戶端用該方法來更新IP對應(yīng)的域名信息,本例中禁用了該特性。

      subnet 192.168.200.0 netmask 255.255.255.0 {

      option domain-name “corp.example.com”;

      range 192.168.200.100 192.168.200.200;

      option routers 192.168.200.254;

      }

      上面內(nèi)容為子網(wǎng)配置,第1行指定該子網(wǎng)地址和掩碼。DHCP服務(wù)器必須擁有該子網(wǎng)的一個IP,domain-name設(shè)置該客戶端的域名。DHCP服務(wù)器可以負責(zé)整個子網(wǎng)的信息,也可以只負責(zé)子網(wǎng)的一段。

      option routers配置默認(rèn)網(wǎng)關(guān)IP。

      啟動DHCP服務(wù)器

      1.建立客戶端租約文件

      運行DHCP服務(wù)器還需要一個名為“dhcpd.leases”的文件,其中保存所有已經(jīng)分發(fā)的IP地址。在Red Hat Linux發(fā)行版本中,該文件位于/var/lib/dhcp/目錄中。如果通過RPM安裝ISC DHCP,那么該目錄應(yīng)該已經(jīng)存在。dhcpd.leases的文件格式為:

      Leases address {statement}

      一個典型的文件內(nèi)容如下:

      lease 192.168.1.255 { #DHCP服務(wù)器分配的IP地址#

      starts 1 2005/05/02 03:02:26;# lease 開始租約時間#

      ends 1 2005/05/02 09:02:26;# lease 結(jié)束租約時間#

      binding state active;

      next binding state free;

      hardware ethernet 00:00:e8:a0:25:86;#客戶機網(wǎng)卡MAC地址#

      uid “