歡迎您光臨本站 註冊首頁

linux下的DHCP伺服器的配置

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  第十四章 linux下的DHCP伺服器的配置

飛行石的LINUX學習筆記
From: WwW.EasySafe.Net

?-----------------EasySafe.Net-------------------?
┆作 者:飛行石 ┆
┆電子郵件:little_fans@163.com ┆
┆技術社區:http://www.EasySafe.net/ 斑竹招募中 ┆
┆騰訊QQ號:8775334 linux技術精英群:10218379 ┆
┆對本文如有疑問請和本人聯繫。 ┆
┆歡迎轉載,請保留版權信息 謝謝! ┆
┆傳統媒體如需轉載請和本人聯繫 ┆
┆原創教程每周更新,大量學習視頻,資料下載 ┆
┆歡迎加入我們,一起學習linux ┆
?------------------------------------------------?

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

以上為linux下dhcp服務的配置過程,朋友如果有什麼問題請和我聯繫:)。


[火星人 ] linux下的DHCP伺服器的配置已經有546次圍觀

http://coctec.com/docs/linux/show-post-69622.html