1. DHCP服務(wù)簡介
DHCP是Dynamic Host Configuration Protocol,動(dòng)態(tài)主機(jī)配置協(xié)議,是用來在物理網(wǎng)絡(luò)給主機(jī)分配ip地址的一種方式,區(qū)別于bootp,一次分配終身使用的缺點(diǎn)。
DHCP提出的租約的概念,使得可以根據(jù)需要?jiǎng)討B(tài)確定主機(jī)需要的IP地址,并且IP地址可以循環(huán)使用。
2. DHCP結(jié)構(gòu)
DHCP是典型的C/S結(jié)構(gòu),需要服務(wù)端啟動(dòng)守護(hù)進(jìn)程來保證來自client段的請(qǐng)求能被響應(yīng),DHCP的工作原理如下:
可以通過DORA來記憶:
Client: DHCP DISCOVER #客戶端向相同網(wǎng)絡(luò)發(fā)送廣播包,企圖尋找DHCP服務(wù)器
Server: DHCP OFFER#如果DHCP服務(wù)段收到DISCOVER包,則向客戶端回復(fù)OFFER廣播包
Client: DHCP REQUEST#客戶端收到來自DHCP的OFFER廣播包后,則確定DHCP服務(wù)器,繼續(xù)向DHCP服務(wù)器發(fā)送REQUEST包,來申請(qǐng)ip信息
Server: DHCP ACK#DHCP服務(wù)端向客戶端發(fā)送ACK包,攜帶ip和租約信息給客戶端, DHCP發(fā)現(xiàn)過程結(jié)束
注意: dhcp在跨網(wǎng)段的路由器另一側(cè),則路由器需要開啟dhcp relay來支持轉(zhuǎn)發(fā)客戶端DISCOVER的廣播包給DHCP服務(wù)器,這些通過路由器的轉(zhuǎn)發(fā),都是單播
因?yàn)槁酚善骱蚫hcp之間的連接是有ip信息的。
DHCP服務(wù)端端口 UDP 67
DHCP客戶端端口 UDP 68
DHCP reservation: 地址保留:
專用于某特定客戶端的地址,不應(yīng)該使用地址池中的地址;優(yōu)先于地址池中的地址;
3. Linux下DHCP服務(wù)安裝配置
由于CentOS6/7的系統(tǒng)管理機(jī)制不同,所以開機(jī)自啟動(dòng)服務(wù)的方式有所不同,但是配置文件,幫助文檔大同小異
3.1 CentOS 6下 DHCP安裝:
#yum install dhcp
#通過rpm -ql dhcp 來查詢hdcp包所創(chuàng)建安裝的文件,我們可以分析他的使用方式:
這里列舉幾個(gè)比較重要的文件:
#DHCP服務(wù)配置文件:
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
#服務(wù)腳本,控制dhcp服務(wù)的啟動(dòng),關(guān)閉,狀態(tài)查詢,reload等
/etc/rc.d/init.d/dhcpd
/etc/rc.d/init.d/dhcpd6
/etc/rc.d/init.d/dhcrelay
/etc/rc.d/init.d/dhcrelay6
#dhcp命令參數(shù)配置文件: 此文件內(nèi)容提供一些區(qū)段給dhcpd守護(hù)進(jìn)程在系統(tǒng)引導(dǎo)時(shí)使用,dhcpd守護(hù)進(jìn)程使用DHCP及BOOTP協(xié)議為主機(jī)自動(dòng)分配IP地址
/etc/sysconfig/dhcpd
/etc/sysconfig/dhcpd6
/etc/sysconfig/dhcrelay
/etc/sysconfig/dhcrelay6
#dhcp二進(jìn)制程序
/usr/sbin/dhcpd
/usr/sbin/dhcrelay
#dhcp的ip地址租約庫,可以查到ip分配情況
/var/lib/dhcpd/dhcpd.leases
/var/lib/dhcpd/dhcpd6.leases
4.1 CentOS6下dhcp服務(wù)配置文件管理:
4.1.1 首先編輯dhcp主配置文件:
/etc/dhcp/dhcpd.conf
option domain-name "richie.com"; #dhcp主機(jī)名
option domain-name-servers 192.168.229.141; #名稱服務(wù)器的地址
default-lease-time 600; #默認(rèn)租約秒數(shù)
max-lease-time 7200;#最大租約秒數(shù)
log-facility local7; #log級(jí)別
subnet 192.168.229.0 netmask 255.255.255.0 {
range 192.168.229.201 192.168.229.220; #可供分配的ip段
option routers 192.168.229.1, 192.168.229.2; #如果在最近配置的option routers那就直接飲用,如果沒有,那就會(huì)自動(dòng)繼承上一級(jí)的option
} #子網(wǎng)配置格式
當(dāng)編輯完,保存退出,可以使用這個(gè)命令來檢測語法錯(cuò)誤:
service dhcpd configtest
4.1.2 配置ip地址預(yù)留:
需要在subnet {} 內(nèi)部,配置host{}格式如下:
subnet 192.168.229.0 netmask 255.255.255.0 {
host windows1 {
hardware ethernet 00:0c:29:0:f3:44;
fixed-address 192.168.229.222;
option routers 192.168.0.1 #這里可以針對(duì)這臺(tái)機(jī)器設(shè)置option routers的值,而不用繼承上一級(jí)的網(wǎng)關(guān)信息
}
}
最后,保存退出
service dhcpd force-reload
測試效果:
linux client:
dhclient -d eth0
window client:
ipconfig /renew
4.1.3 配置開機(jī)自啟動(dòng):
還是老命令chkconfig dhcpd on, 默認(rèn)會(huì)將init級(jí)別2,3,4,5都設(shè)置為開機(jī)自啟動(dòng), 也可以使用 chkconfig --level 2,3,4 來自己指定需要的運(yùn)行級(jí)別自啟
4.1.4 管理dhcp服務(wù)
service dhcpd {start|stop|restart|force-reload|condrestart|try-restart|configtest|status}
4.2 CentOS 7下的DHCP服務(wù)管理
4.2.1 配置文件:
同CentOS6上的配置,參見4.1.1
4.2.2 配置ip地址預(yù)留:
同CentOS6上的配置,參見4.1.2
4.2.3 配置開機(jī)自啟動(dòng):
由于CentOS6/7的系統(tǒng)服務(wù)管理機(jī)制的不同,CentOS7引入了systemd來管理所有的服務(wù),所以不能再使用chkconfig命令來設(shè)置,需要使用:
# systemctl is-enabled DAEMON.service 查看dhcp服務(wù)狀態(tài), 相當(dāng)于C5的 chkconfig --list dhcpd
# systemctl enable DAEMON.service啟用開機(jī)自啟動(dòng)dhcp服務(wù), 相當(dāng)于C5的 chkconfig dhcpd on
# systemctl disable DAEMON.service 禁用開機(jī)自啟動(dòng)dhcp服務(wù), 相當(dāng)于C5的 chkconfig dhcpd off
4.2.4 管理dhcp服務(wù)
# systemctl {start|stop|restart|status} DAEMON.service
5. DHCP配置命令總結(jié)
一個(gè)簡單dhcp服務(wù)的配置文件至少需要包含如下的配置信息:
dhcpd.conf
option domain-name
option domain-name-servers
option routers
subnet NETWORK netmask MASK {
range START_IP END_IP;
host HOSTID {
hardware ethernet 00:11:22:33:44:55;
fixed-address IP;
}
}
========================================================
例子:
dhcpd.conf
option domain-name "richie.com";
option domain-name-servers 192.168.229.141;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.229.0 netmask 255.255.255.0 {
range 192.168.229.201 192.168.229.220;
option routers 192.168.229.1, 192.168.229.2;
host windows1 {
hardware ethernet 00:0c:29:30:f3:44;
fixed-address 192.168.229.211;
}
}
注:更多精彩教程請(qǐng)關(guān)注武林網(wǎng)電腦教程欄目,武林網(wǎng)電腦辦公群:(已滿!)歡迎你的加入
新聞熱點(diǎn)
疑難解答
圖片精選