Linux下 DHCP伺服器安裝與配置

2021-05-21 16:27:19 字數 3553 閱讀 2443

今天,我想在linux下配置一台dhcp伺服器,感覺上比較直觀,難度稍微有點大(相對於在windows及路由器下)。

dhcp(dynamic host configure protocol,動態主機配置檔案),是乙個簡化手動分配及管理ip位址的煩惱。dhcp是基於c/s模式的。

預設,在rhel上沒有安裝伺服器元件。檢視是否安裝的命令

[root@localhost ~]# rpm -qa | grep dhcp

dhcpv6_client-0.10-8                                       

//客戶端元件

如果沒有安裝,拿出rhel的安裝盤,找到相應的元件包。進行安裝

[root@localhost cdrom]# rpm -ivh redhat/rpms/dhcp-3.0.1-12_el.i386.rpm                                       

//伺服器元件

檢視dhcp服務的埠號

[root@localhost root]# vi  /etc/services

bootps                    67/tcp                             

# bootp server

bootps                    67/udp

bootpc                    68/tcp                            

# bootp client

bootpc                    68/udp

dhcp服務(即dhcpd守護程序)是按照/etc目錄下的dhcpd.conf配置檔案進行設定。預設情況下,這個檔案是不存在的。在安裝dhcp服務時都會安裝乙個幫助檔案(配置例項)。通過以下命令查詢

[root@localhost ~]# rpm -ql dhcp

/etc/rc.d/init.d/dhcpd

/etc/rc.d/init.d/dhcrelay

/etc/sysconfig/dhcpd

/etc/sysconfig/dhcrelay

/usr/bin/omshell

/usr/sbin/dhcpd

/usr/sbin/dhcrelay

/usr/share/doc/dhcp-3.0.1

/usr/share/doc/dhcp-3.0.1/readme

/usr/share/doc/dhcp-3.0.1/relnotes

/usr/share/doc/dhcp-3.0.1/dhcpd.conf.sample          

//配置樣本

/usr/share/man/man1/omshell.1.gz

/usr/share/man/man5/dhcp-eval.5.gz

/usr/share/man/man5/dhcpd.conf.5.gz

/usr/share/man/man5/dhcpd.leases.5.gz

/usr/share/man/man8/dhcpd.8.gz

/usr/share/man/man8/dhcrelay.8.gz

/var/lib/dhcp

/var/lib/dhcp/dhcpd.leases

然後,複製到/etc/dhcpd.conf

[root@localhost ~]# cp /usr/share/doc/dhcp-3.0.1/dhcpd.conf.sample /etc/dhcpd.conf                  

//複製檔案

檢視,/etc/dhcpd.conf配置檔案(主要配置文擋)

[root@localhost ~]# cat /etc/dhcpd.conf

ddns-update-style interim;          

//支援dns動態更新

ignore client-updates;               

//忽略客戶端更新dns記錄

subnet 192.168.0.0 netmask 255.255.255.0              

//預設永久分配ip位址(實體地址匹配)}

determining ip information for eth0... failed; no link present.  check cable?

由於虛擬機器的原因,需要在/etc/sysconfig/network-scripts/ifcfg-eth0後面新增下面命令

check_link_down()

配置完成後,需要重新開啟服務

[root@localhost ~]# service dhcpd restart         

//重新開啟dhcp服務

[root@localhost ~]# /etc/init.d/dhcpd stop        

//停止dhcp服務

[root@localhost ~]# /etc/init.d/dhcpd  start      

//啟動dhcp服務

[root@localhost ~]# chkconfig --level 35 dhcpd on  

//開機自動啟動dhcp服務

在linux客戶端開啟dhcp服務(windows下比較簡單,不在做相關介紹),需要設定以下文擋

[root@localhost root]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

device=eth0

onboot=yes

bootproto=dhcp                                        

//啟動dhcp服務

check_link_down()

這樣,就可以獲取ip位址了。測試一下

[root@localhost root]# ifconfig eth0  

.....

link encap:ethernet    hwaddr 00:0c:29:93:19:4b

inet addr:

192.168.0.254 

bcast:192.168.0.255    mask:255.255.255.0

......

在現實生活中,有多個網段的ip位址需要分配,是不是每個網段下分配一台dhcp伺服器呢?答案,是否定的。原因:這個也不太現實(成本很高)。所以我們可以用dhcp中繼**來完成這項功能。下次,我會通過乙個具體的配置例項,來更形象地說明它的功能作用。

最後:dhcp客戶端申請ip位址的工作流程

(1)dhcp客戶端向本網段傳送乙個dhcp discover(dhcp 發現)

(2)本網段的dhcp伺服器回應乙個dhcp offer(dhcp 提供)

(3)dhcp客戶端收到回應後,向dhcp伺服器請乙個dhcp 所包含的ip位址,並廣播乙個dhcp request(dhcp 請求)

(4)最後,dhcp伺服器傳送乙個dhcp reply來確認。

其中,四個過程都是廣播進行的。

linux下安裝配置DHCP伺服器

前提是已經安裝了 core 及 base 兩個組 1 2 3 4 5 cat etc redhat release red hat enterprise linux server release 6.4 santiago uname a linux localhost.localdomain 2.6...

Linux下配置DHCP伺服器

redhat使用dhcpd程序提供dhcp服務,啟動時dhcpd自動讀它的配置檔案 etc dhcpd.conf。dhcpd將客戶的租用資訊儲存在 var lib dhcp dhcpd.leases檔案中,該檔案不斷被更新,從這裡面可以查到ip位址分配的情況。dhcpd為了向乙個子網提供服務,需要知...

linux下DHCP伺服器配製

linux下dhcp服務配製 第一步 安裝dhcp rpm q dhcp 查詢是否已經安裝過dhcp,如果沒有安裝,請找到red hat linux的第二張光碟,在rpm資料夾下有乙個dhcp 3.0p11 23 rpm ivh dhcp 3.0p11 23 安裝dhcp 第二步 配製dhcp dh...