今天,我想在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...