天天看點

DHCP伺服器配置步驟

  

  首先介紹下什麼是dhcp協定

  

  dhcp(dynamic host configuration protocol)就是動态主機配置設定協定,它用于給某個網絡段上的主機進行動态配置設定IP位址和相關網絡環境的配置工作,比如我們使用adsl撥号就是用的dhcp協定。

  

  一、dhcp的常用的概念。

  

  1、 作用域:

  

  作用域是一個網絡中可配置設定IP位址的連續。

  

  2、超級作用域

  

  超級作用域是一組作用域的集合。是由一個實體子網中包含的多個IP子網組成的。我們可以了解為作用域是一個使用者,而超級作用域就是這個使用者的組。

  

  3、排除範圍

  

  排除範圍是用來定義某IP或者某一組的IP不用于配置設定給dhcp客戶機

  

  4、位址池

  

  定義了dhcp作用域和排除範圍後,剩下的可用位址構成了一個位址池。池中的位址可以配置設定給使用者使用

  

  5、租約

  

  就是dhcp伺服器指定的時間長度,在此長度内客戶機可以使用配置設定給它的位址,如果租約到期,客戶機必須更新ip租約。

  

  6、保留位址

  

  使用者可以使用保留位址,保留位址提供了一個将動态位址和其MAC位址相關聯的手段。用于保證此網卡長期使用某個IP位址。

  

  7.選項類型。

  

  這是DCHP為工作站提供的其它參數,比如網關的IP位址,dns伺服器等。

  

  這裡僅僅介紹了dhcp最基礎的一些概念,因為在此主要介紹linux下是如何配置這些服務的。是以如果朋友們想了解更多有關dhcp或者後面介紹的幾個服務的知識(linux下和win下的dhcp的概念是一樣的)可以參閱網絡或者書籍。

  

  二、Dhcp的設定

  

  首先安裝dhcp服務。如果你在首次安裝時沒有選擇dhcp元件,你可以在你發行版的安裝CD光牒和rpm的添加删除包中找到相關軟體,進行安裝,或者可以在第二張CD光牒的/RedHat/RPMS/下找到dhcp-3.0p11-23.i386.rpm的二進制rpm發行包進行安裝,安裝後效果相同。

  

  然後更新的時候按提示插入安裝盤

  

  再給提示朋友們一次,在linux中,所有的程式配置都由文本檔案進行控制。是以我們要設定dhcp伺服器,就可以通過修改配置檔案來達到目的。

  

  是以我們先看下它的典型的配置檔案

  

  dhcp的配置檔案是/etc/dhcpd.conf,不過預設的情況下這個檔案不存在,你需要使用它的模闆建一個配置檔案。模闆的位置在/usr/share/doc/dhcp-3.0p11/dhcpd.conf.sample

  

  如果你找不到你的配置檔案可以使用我們學過的查找指令,locate filename進行尋找,如圖:

  

  查找到此檔案後,我們先來看下模闆的配置情況。

  

  為了友善,我把這個配置檔案用cat 指令給導入到了一個文本檔案中,然後弄到win下來了。模闆配置檔案内容如下:

  

  和所有的配置檔案類似的,它用#代表注釋。現在看看每行都說了什麼

  ddns-update-style interim;

  #配置使用過渡性 DHCP-DNS互動更新模式。

  ignore client-updates;

  #忽略用戶端更新

  subnet 192.168.0.0 netmask 255.255.255.0 {

  #設定子網聲明

  # --- default gateway

  option routers 192.168.0.1;

  #設定預設網關為192.168.0.1

  

  option subnet-mask 255.255.255.0;

  #設定用戶端的子網路遮罩

  option nis-domain "domain.org";

  #為客戶設定NIS域

  option domain-name "domain.org";

  #為客戶設定域名

  option domain-name-servers 192.168.1.1;

  #為客戶設定域名伺服器

  option time-offset -18000; # Eastern Standard Time

  #設定偏移時間。

  # option ntp-servers 192.168.1.1;

  設定NTP伺服器。

  # option netbios-name-servers 192.168.1.1;

  設定wins伺服器

  # --- Selects point-to-point node (default is hybrid). Don't change this unless

  # -- you understand Netbios very well

  # option netbios-node-type 2;

  #設定netbios節點類型我不清楚這個netbios節點是什麼東西。*_*!,不懂最好不設。嘿嘿。

  

  range dynamic-bootp 192.168.0.128 192.168.0.255;

  #設定動态的位址池。

  default-lease-time 21600;

  #設定預設的位址租期。

  

  max-lease-time 43200;

  #設定用戶端最長的位址租期

  

  # we want the nameserver to appear at a fixed address

  //設定主機聲明

  host ns {

  next-server marvin.redhat.com;

  //設定由于定義伺服器從引導檔案中裝入的主機名,用于無盤站。

  hardware ethernet 12:34:56:78:AB:CD;

  指定dhcp客戶的mac位址

  fixed-address 207.175.42.254;

  給指定的mac位址配置設定ip

  }

  }

  

  看完了這個配置檔案,朋友們如果有一定的英文基礎。是不是覺得其實很好懂,其實不要被linux的配置檔案吓倒,配置linux遠比windows簡單和容易了解,這些配置檔案給了你一個模闆,你照模闆進行填寫就可以,類似于給了你一張計劃書,上面有你要做的事情,你可以選擇做或者不做,具體情況根據你的環境填填空就可以了。不象windows會給你一個向導,至于向導幹了什麼你根本不知道。出了問題,你也不知道改找誰。但是linux則不同,出了問題,你把你的配置單cat出來,然後貼到網上,講出你的要求,别人很容易知道你到底幹了些什麼。

  

  後面我們舉個例子來做這個配置。

  

  先看下一個圖,非常常見的網絡環境。(俺改的以前的一個設計方案,因為講這裡是講dhcp,就不把vlan考慮進來了,朋友們要是有興趣,可以在社群http://www.easysafe.net/發帖專門講這方面的問題。)

  

  我們有一個10.0.0.0的網絡,叫做easysafe.net

  

  有一個DHCP,有一套企業應用系統,

  

  dns的伺服器位址10.0.0.12

  

  系統的資料庫伺服器位址為10.0.0.10

  

  應用伺服器位址為10.0.0.11

  

  有一個網管監控區,放的網管工作站,其IP分别是,10.0.0.30,機器名字叫webmaster

  

  然後有個防火牆做NAT,内部IP是10.0.0.1,外部IP是202.117.0.43(随便編個.HOHO)

  

  你是這個企業的網管,由于你的機器比較多了,從業人員經常找你配IP位址。是以你讓老總給你了台淘汰的機器,上面裝上linux,配成DHCP伺服器,來給他們配置設定IP位址。

  

  那麼,現在我們要怎麼做呢。

  

  首先,我們先要考慮一下這個環境。

  10.0.0.10

  10.0.0.11,

  10.0.0.1

  

  為避免網絡問題,以上位址應該是保留的靜态位址,也就是說你應該有一個排除範圍。這個範圍可大可小,在現在的情況下,為了避免以後的問題,可以把排除範圍設定大點。比如我們設定為從10.0.0.1~10.0.0.20,為系統使用的。

  

  10.0.0.30是你自己用的,不過你不想讓别人用這個ip,也不想每次重新裝了系統後重新修改,是以,你決定把你的IP給綁定到MAC上。

  

  其他的人可以随意使用10.0.0.21~10.0.0.254之間的一個位址。

  

  好了,現在調出我們的DHCP配置單模闆,看如何配置。

  

  ddns-update-style interim;

  ignore client-updates;

  

  #subnet 192.168.1.0 netmask 255.255.255.0 {

  #聲明變了,我們的總的網絡是10.0.0.0/24

  subnet 10.0.0.0 netmask 255.255.255.0{

  #朋友在修改配置的時候,原有配置我們可以使用#注釋掉。

  # --- default gateway

  #option routers 192.168.0.1;

  #路由變了,是10.0.0.1

  option routers 10.0.0.1;

  option subnet-mask 255.255.255.0;

  option broadcast-address 10.0.0.255;

  #添加一個廣播位址

  

  #這句不用改,因為我們的子網還是個三類位址的子網

  #option nis-domain "domain.org";

  #nis不用

  #option nis-domain "easysafe.net ";

  #option domain-name "domain.org";

  option domain-name "easysafe.net";

  #option domain-name-servers 192.168.1.1;

  option domain-name-server 10.0.0.12

  option time-offset -18000; # Eastern Standard Time

  #這個時間偏移,根據本地情況來設定。

  # option ntp-servers 192.168.1.1;

  # option netbios-name-servers 192.168.1.1;

  # --- Selects point-to-point node (default is hybrid). Don't change this unless

  # -- you understand Netbios very well

  # option netbios-node-type 2;

  #上面的可以不修改,因為我這裡沒有ntp和wins伺服器

  #range dynamic-bootp 192.168.0.128 192.168.0.255;

  #這裡開始設定你的動态ip位址池了

  #range dynamic-bootp 10.0.0.21 10.0.0.254

  default-lease-time 21600;

  max-lease-time 43200;

  #預設的更新ip時間和最大更新時間不修改預設的就可以。

  # we want the nameserver to appear at a fixed address

  #――――――――――――――――――――――

  #以上為模闆中有的配置,現在加一些模闆沒有的配置

  #――――――――――――――――――――――

  

  subnet 10.0.0.0.0 netmask 255.255.255.0{

  

  range 10.0.0.21 10.0.0.254;

  }

  #這裡要注意了,在這裡我們配置了我們的位址池!!從10.0.0.21到10.0.0.254

  

  #host ns {

  # next-server marvin.redhat.com;

  # hardware ethernet 12:34:56:78:AB:CD;

  # fixed-address 207.175.42.254;

  #}

  #上面的是為特定使用者來設定位址的。咱們來看看網管的機器該怎麼配置,為了你以後

  #配置的友善,這裡加個group聲明一下,以便如果哪個人看上了某個位址,你把他固、

  #定上就可以。

  group {

  host webmaster{

  option host-name “webmaster.easysafe.net”;

  #你的主機名。可以就設定為webmaster

  hardware ethernet 00:cd:a9:70:e3:f3;

  #你的MAC位址,在linux下直接用ifconfig就可以看到。如果你要看win

  #的mac位址可以用ipconfig當然這個MAC位址是我編的,呵呵。

  fixed-address 10.0.0.30

  

  }

  }

  }

  

  朋友們可以看到,在這裡我們改的配置檔案的地方并不是很多:)總共加了也沒有10條語句,但是dhcp的配置檔案已經做好了。

  

  然後我們把這個檔案複制回etc目錄下存儲為dhcpd.conf,然後你可以用vi看一下

  

  不過别高興的太早,linux怎麼知道這是你要啟動dhcp服務,并且使用這個配置檔案呢?

  

  現在就看我們後面要完成哪些工作了。

  

  首先,要運作dhcp,我們需要一個客戶租約資料庫檔案這個檔案在/var/lib/dhcpd.leases,預設的這個庫是空的,不需要配置,不過管理者可以通過這個來察看dhcp的運作情況。‘

  

  一般來說,這個檔案的格式是

  

  lease address {statement}

  

  根據以上要求建立/var/lib/dhcp/dhcpd.lease檔案。

  

  完成了以上的配置,後面就是要啟動dhcp了,和以前說的smb服務一樣,也是通過service指令來執行

  service dhcpd start

  

  啟動服務失敗,系統提示第10和第27行出錯。

  

  原來一個是把domain-name-servers輸錯成了domain-name-server

  

  另一個則是添加了兩個range

  

  費了半天力,到底把dhcp啟動起來了。郁悶,又改了好幾遍。

  

  然後可以用pstree來察看此服務是否啟動

  

  pstree |grep dhcpd

  如圖所示,服務有了

  

  如果希望以後每次伺服器啟動都把dhcp啟動的話可以用ntsysV來選擇你的dhcp伺服器。

    如圖:

   

  還剩下一點小問題,就是客戶機的配置。

  客戶機win下的不多說了如圖:預設就是這樣的。

    

  在linux下面,你可以手動配置你的dhcp。

  察看你的網絡配置檔案,如果你沒有設定為自動啟動聯網,則要修改你的網絡配置檔案。

  vi /etc/sysconfig/network

  添加

  NETWORKING=yes

  (讓引導的時候啟動聯網)

  或者使用

  @echo “NETWORKING=yes”>/etc/sysconfig/network

  然後再修改你的網卡配置檔案

  /etc/sysconfig/network-scriptes/ifcfg-eth0 檔案

  應該包含這幾行

  DEVICE=eth0

  BOOTPROTO=dhcp

  ONBOOT=yes

©2010 Baidu

繼續閱讀