linux下的DHCP伺服器的配置

2020-12-25 站長之家


linux現在主要的應用在伺服器上。而作為伺服器,Web,dhcp,和dns又是網際網路上最主要的服務,這一講,我和朋友們討論dhcp的應用。

(注意:配置網絡伺服器,如果你在現有的網絡環境中選擇安裝或者使用VM的橋接網絡的時候,有可能會對你當前的網絡環境造成影響,請在配置之前諮詢你的網絡管理人員。)

首先介紹下什麼是dhcp協議

dhcp(dynamichostconfigurationprotocol)就是動態主機分配協議,它用於給某個網絡段上的主機進行動態分配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

如果你找不到你的配置文件可以使用我們學過的查找命令,locatefilename進行尋找,如圖:
 

查找到此文件後,我們先來看下模板的配置情況。

為了方便,我把這個配置文件用cat命令給導入到了一個文本文件中,然後弄到win下來了。模板配置文件內容如下:

和所有的配置文件類似的,它用#代表注釋。現在看看每行都說了什麼
ddns-update-styleinterim;
#配置使用過渡性DHCP-DNS互動更新模式。
ignoreclient-updates;
#忽略客戶端更新
subnet192.168.0.0netmask255.255.255.0{
#設置子網聲明
#---defaultgateway
optionrouters192.168.0.1;
#設置預設網關為192.168.0.1

optionsubnet-mask255.255.255.0;
#設置客戶端的子網掩碼
optionnis-domain"domain.org";
#為客戶設置NIS域
optiondomain-name"domain.org";
#為客戶設置域名
optiondomain-name-servers192.168.1.1;
#為客戶設置域名伺服器
optiontime-offset-18000;#EasternStandardTime
#設置偏移時間。
#optionntp-servers192.168.1.1;
設置NTP伺服器。
#optionnetbios-name-servers192.168.1.1;
設置wins伺服器
#---Selectspoint-to-pointnode(defaultishybrid).Don'tchangethisunless
#--youunderstandNetbiosverywell
#optionnetbios-node-type2;
#設置netbios節點類型我不清楚這個netbios節點是什麼東西。*_*!,不懂最好不設。嘿嘿。

rangedynamic-bootp192.168.0.128192.168.0.255;
#設置動態的地址池。
default-lease-time21600;
#設置預設的地址租期。

max-lease-time43200;
#設置客戶端最長的地址租期

#wewantthenameservertoappearatafixedaddress
//設置主機聲明
hostns{
next-servermarvin.redhat.com;
//設置由於定義伺服器從引導文件中裝入的主機名,用於無盤站。
hardwareethernet12:34:56:78:AB:CD;
指定dhcp客戶的mac地址
fixed-address207.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-styleinterim;
ignoreclient-updates;

#subnet192.168.1.0netmask255.255.255.0{
#聲明變了,我們的總的網絡是10.0.0.0/24
subnet10.0.0.0netmask255.255.255.0{
#朋友在修改配置的時候,原有配置我們可以使用#注釋掉。
#---defaultgateway
#optionrouters192.168.0.1;
#路由變了,是10.0.0.1
optionrouters10.0.0.1;
optionsubnet-mask255.255.255.0;
optionbroadcast-address10.0.0.255;
#添加一個廣播地址

#這句不用改,因為我們的子網還是個三類地址的子網
#optionnis-domain"domain.org";
#nis不用
#optionnis-domain"easysafe.net";
#optiondomain-name"domain.org";
optiondomain-name"easysafe.net";
#optiondomain-name-servers192.168.1.1;
optiondomain-name-server10.0.0.12
optiontime-offset-18000;#EasternStandardTime
#這個時間偏移,根據本地情況來設置。
#optionntp-servers192.168.1.1;
#optionnetbios-name-servers192.168.1.1;
#---Selectspoint-to-pointnode(defaultishybrid).Don'tchangethisunless
#--youunderstandNetbiosverywell
#optionnetbios-node-type2;
#上面的可以不修改,因為我這裡沒有ntp和wins伺服器
#rangedynamic-bootp192.168.0.128192.168.0.255;
#這裡開始設置你的動態ip地址池了
#rangedynamic-bootp10.0.0.2110.0.0.254
default-lease-time21600;
max-lease-time43200;
#預設的更新ip時間和最大更新時間不修改默認的就可以。
#wewantthenameservertoappearatafixedaddress
#――――――――――――――――――――――
#以上為模板中有的配置,現在加一些模板沒有的配置
#――――――――――――――――――――――

subnet10.0.0.0.0netmask255.255.255.0{

range10.0.0.2110.0.0.254;
}
#這裡要注意了,在這裡我們配置了我們的地址池!!從10.0.0.21到10.0.0.254

#hostns{
#next-servermarvin.redhat.com;
#hardwareethernet12:34:56:78:AB:CD;
#fixed-address207.175.42.254;
#}
#上面的是為特定用戶來設置地址的。咱們來看看網管的機器該怎麼配置,為了你以後
#配置的方便,這裡加個group聲明一下,以便如果哪個人看上了某個地址,你把他固、
#定上就可以。
group{
hostwebmaster{
optionhost-name「webmaster.easysafe.net」;
#你的主機名。可以就設置為webmaster
hardwareethernet00:cd:a9:70:e3:f3;
#你的MAC地址,在linux下直接用ifconfig就可以看到。如果你要看win
#的mac地址可以用ipconfig當然這個MAC地址是我編的,呵呵。
fixed-address10.0.0.30

}
}
}

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

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

不過別高興的太早,linux怎麼知道這是你要啟動dhcp服務,並且使用這個配置文件呢?

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

首先,要運行dhcp,我們需要一個客戶租約資料庫文件這個文件在/var/lib/dhcpd.leases,默認的這個庫是空的,不需要配置,不過管理員可以通過這個來察看dhcp的運行情況。『

一般來說,這個文件的格式是

leaseaddress{statement}

根據以上要求創建/var/lib/dhcp/dhcpd.lease文件。

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

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

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

另一個則是添加了兩個range

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

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

pstree|grepdhcpd
如圖所示,服務有了
 

如果希望以後每次伺服器啟動都把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伺服器
    二、安裝並配置DHCP伺服器1、安裝 DHCP 伺服器包,也就是 isc-dhcp-server,如圖1。圖6查看ip3、DHCP 配置的主文件是 /etc/dhcp/dhcpd.conf, 填寫發送到客戶端的所有網絡信息。
  • 法國online伺服器linux系統如何配置DHCPV6客戶端
    ,您可以重新啟動伺服器,檢查服務和配置是否在啟動時正確應用!>ping6 ipv6.google.com調試如果配置不適合您,請使用以下命令檢查您的接口名稱:ifconfig -a此外,您的伺服器需要配置為接受RA(路由器通告)。
  • Linux應用 DHCP伺服器的安裝和故障排除
    如果租期資料庫文件已存在,在DHCP伺服器每次啟動時使用同一個文件至關重要。建議只在無關緊要的機器上為調試目的才使用該選項,默認為/var/lib/dhcp/dhcpd.leases。設置DHCP客戶端1.在Linux下配置DHCP客戶端配置DHCP客戶端的第1步是確定內核能夠識別網卡,多數網卡會在安裝過程中被識別,系統會為該網卡配置恰當的內核模塊。如果在安裝後添加了一塊網卡,Kudzu應該會識別它,並提示為其配置相應的內核模塊。
  • 路由器配置DHCP伺服器實例解析
    路由器配置DHCP伺服器實例解析 動態主機設置協議(Dynamic Host Configuration Protocol, DHCP)是一個區域網的網絡協議,使用UDP協議工作,主要有兩個用途:給內部網絡或網絡服務供應商自動分配IP位址給用戶給內部網絡管理員作為對所有計算機作中央管理的手段
  • RHEL下DHCP服務的配置與應用
    一、DHCP服務的簡介 DHCP基於客戶/伺服器模式。當DHCP客戶端啟動時,它會自動與DHCP伺服器通信,由DHCP伺服器為DHCP客戶端提供自動分配IP位址的服務。
  • Linux DHCP伺服器的配置
    一臺計算機從一個子網轉移到另一個子網,就要重新對系統進行配置。對於普通水平的工作站用戶是不能賦予他們配置自己的工作站網絡的權限,而且也沒有這個必要。如果一個沒有相應技術水平的用戶出於好奇或想學習一下的目的錯誤地更改了工作站的網絡配置,造成網絡故障,後果不言而喻。因此,需要有一種機制來讓TCP/IP的配置和管理從用戶端轉移到網絡管理端,實現IP的集中式管理。解決方案就是用DHCP。
  • 華為DHCP中繼的配置實例
    靜態路由配置02保證SW2和DHCP伺服器能夠互通,這裡配置默認路由。#全局開啟DHCP中繼[SW2] dhcp enable#VLAN10虛接口下開啟DHCP中繼[SW2-Vlanif10] dhcp select relay#指定DHCP伺服器地址,如果是多臺伺服器,
  • 深論DHCP中繼的原理和配置
    預設情況下ip help-address轉發以下8種UDP服務:1.Time2.Tacacs3.DNS4.BOOTP/DHCP伺服器5. BOOTP/DHCP客戶6.TFTP7.NetBios名稱服務8.
  • Centos7安裝及配置DHCP服務
    DHCP(Dynamic Host Configuration Protocol)動態主機配置協議,是一個區域網的網絡協議,C/S模式。自動分配地址,方便管理,不用一個一個給電腦分配ip地址,方便管理。
  • 華為技術:配置 DHCP Snooping 防止 DHCP Server 仿冒者攻擊示例
    組網要求:SwitchA是接入交換機,下掛的PC採用DHCP獲取IP位址。SwitchB是核心交換機,部署了DHCP伺服器功能。為了防止有用戶將非法的DHCP伺服器接入網絡,如自帶的無線小路由器等,導致正常用戶獲取到錯誤的地址而上不了網或者導致正常用戶獲取到衝突的地址,需要部署DHCP Snooping功能。
  • 路由器如何配置DHCP
    路由器詢問是否進入智能配置模式,我們選擇no,輸入n回車配置DHCP 我們要先進入全局模式,使用命令「en」回車--「config t」回車我們要配置路由器和交換機相連的那個埠fastEthernet 0/0的IP位址,假設配置成192.168.1.1/24。
  • LINUX-DHCP-GNS3- quagga實驗
    點擊播放 GIF 0.0M開始修改DHCP配置編輯dhcp主配置文件ip加油【配置多作用域】1:DHCP伺服器添加如下配置vim /etc/dhcp/dhcpd.confddns-update-style none;ignore client-updates;subnet 192.168.2.0
  • 教程:在Linux下快速配置TeamSpeak伺服器
    TeamSpeak是一種專門為網路遊戲玩家設計的IP語音通信系統,是目前全球最流行的網遊語音通信平臺,採用客戶端/伺服器結構,它不同於QQ或MSN,它可實現多人的語音通信功能,它也不同於 Netmeeting,無需得到對方IP位址就可以實現多人語音群聊。
  • DHCP中繼的知識和配置講解
    在一些設置中,我們通常會見到關於DHCP中繼功能的配置。在一個基於TCP/IP的區域網路中,計算機之間的通信都要依靠主機的IP位址進行,這就要求網絡中的每一臺伺服器、工作站都有一個惟一的IP位址。IP位址的分配方式對於網絡進行有效的管理是很重要的。
  • 詳解DHCP中繼配置,向不同網段分配IP位址
    組網要求: 1、Router為DHCP伺服器,開啟DHCP服務,為PC分配地址。客戶端自動獲取的DNS伺服器地址為8.8.8.8。 2、SW上部署了兩個VLAN:分別是vlan10及vlan20;PC屬於VLAN10,Router屬於VLAN20; 3、要求PC機能夠通過DHCP自動獲取地址及網關。
  • 網友解答:強制DHCP伺服器分配上網IP
    【IT168 專稿】在企業內網管理過程中筆者接觸過很多網絡管理員都針對IP位址分配問題抱怨過,一般來說為了合理有效的管理內網IP位址信息企業管理者都會儘量選擇DHCP這種為客戶機提供自動分配地址的方式,一方面客戶員工計算機連接後配置更簡單,另一方面由於DHCP地址池以及租約的存在使得內網管理更加有據可依。
  • 3750配置DHCP snooping的具體命令
    3750配置DHCP snooping的具體命令 下面我們主要介紹了3750配置DHCP snooping的內容。通過文章所示的命令以及代碼,相信大家能夠掌握這個配置過程。
  • 網絡工程師組建企業網絡實戰之配置 DHCPv6 中繼示例
    客戶端和伺服器不在同一個鏈路,需要通過 DHCPv6 中繼轉發報文。要求將 Switch 作為 DHCPv6 中繼,為客戶端和伺服器轉發報文。創建 VLANIF 接口,並配置 VLANIF 接口的 IPv6 地址。3. 使能 DHCPv6 中繼功能,並配置 DHCPv6 伺服器地址。4. 配置 Switch 為網關。
  • Linux雲伺服器配置自動時間同步
    時間同步命令:ntpdata time.windows.com自動時間同步:需要配置/etc/crontab文件,實現自動執行任務讓linux從time.windows.com自動同步時間vi /etc/crontab
  • 詳解DHCP Snooping的使用
    DHCP Client 收到 DHCP OFFER報文後,發出 DHCP REQUEST請求,請求獲取伺服器租約,並通告其他伺服器已接受此伺服器分配地址。 伺服器收到 DHCP REQUEST報文,驗證資源是否可以分配,如果可以分配,則發送 DHCP ACK 報文;如果不可分配,則發送 DHCP NAK 報文。