歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

linux下的DHCP服務器的配置(組圖)

  Linux現在主要的應用在服務器上。而作為服務器,Web,dhcp,和dns又是互聯網上最主要的服務,這一講,我和朋友們討論dhcp的應用。    (注意:配置網絡服務器,如果你在現有的網絡環境中選擇安裝或者使用VM的橋接網絡的時候,有可能會對你當前的網絡環境造成影響,請在配置之前咨詢你的網絡管理人員。)    首先介紹下什麼是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組件,你可以在你發行版的安裝光盤和rpm的添加刪除包中找到相關軟件,進行安裝,或者可以在第二張光盤的/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




Copyright © Linux教程網 All Rights Reserved