在Linux系統(tǒng)中如何完整的啟動(dòng)DHCP服務(wù)器,我們前面通過(guò)《Linux系統(tǒng)如何從指定端口啟動(dòng)DHCP服務(wù)器》片段式介紹過(guò)從指定商品啟動(dòng)DHCP服務(wù)器,在此南昌網(wǎng)站制作公司百恒網(wǎng)絡(luò)服務(wù)器架設(shè)工程師通過(guò)六大步向大家介紹一套完整的流程。
1.建立客戶(hù)端租約文件
運(yùn)行DHCP服務(wù)器還需要一個(gè)名為“dhcpd.leases”的文件,其中保存所有已經(jīng)分發(fā)的IP地址。在Red Hat Linux發(fā)行版本中,該文件位于/var/lib/dhcp/目錄中。如果通過(guò)RPM安裝ISC DHCP,那么該目錄應(yīng)該已經(jīng)存在。dhcpd.leases的文件格式為:
Leases address {statement}
第1次運(yùn)行DHCP服務(wù)器時(shí),dhcpd.leases是一個(gè)空文件,也不用手工建立。如果不是通過(guò)RPM安裝ISC DHCP,或者dhcpd已經(jīng)安裝,那么應(yīng)該試著確定dhcpd將其lease文件寫(xiě)到何處并確保該文件存在。也可以手工建立一個(gè)空文件:
#touch /var/lib/dhcp/dhcpd.leases
2.啟動(dòng)和檢查DHCP服務(wù)器
使用如下命令啟動(dòng)DHCP服務(wù)器:
#service dhcpd start
使用ps命令檢查dhcpd進(jìn)程:
#ps -ef | grep dhcpd
root 2402 1 0 14:25 ? 00:00:00 /usr/sbin/dhcpd
root 2764 2725 0 14:29 pts/2 00:00:00 grep dhcpd
使用netstat命令檢查dhcpd運(yùn)行的端口:
# netstat -nutap | grep dhcpd
udp 0 0 0.0.0.0:67 0.0.0.0:* 2402/dhcpd
3.設(shè)置DHCP轉(zhuǎn)發(fā)代理
DHCP轉(zhuǎn)發(fā)代理(dhcrelay)允許把無(wú)DHCP服務(wù)器子網(wǎng)內(nèi)的DHCP和BOOTP請(qǐng)求轉(zhuǎn)發(fā)給其他子網(wǎng)內(nèi)的一臺(tái)或多臺(tái)DHCP服務(wù)器。當(dāng)某個(gè)DHCP客戶(hù)端請(qǐng)求信息時(shí),DHCP轉(zhuǎn)發(fā)代理把該請(qǐng)求轉(zhuǎn)發(fā)給DHCP轉(zhuǎn)發(fā)代理啟動(dòng)時(shí)所指定的一臺(tái)DHCP服務(wù)器。當(dāng)某臺(tái)DHCP服務(wù)器返回一個(gè)回應(yīng)時(shí),該回應(yīng)被廣播或單播給發(fā)送最初請(qǐng)求的網(wǎng)絡(luò)。除非使用INTERFACES命令在/etc/sysconfig/dhcrelay文件中指定了接口,否則DHCP轉(zhuǎn)發(fā)代理監(jiān)聽(tīng)所有接口上的DHCP請(qǐng)求。要啟動(dòng)DHCP轉(zhuǎn)發(fā)代理,使用如下命令:
service dhcrelay start
4.從指定端口啟動(dòng)DHCP服務(wù)器
如果系統(tǒng)連接不止一個(gè)網(wǎng)絡(luò)接口,但是只想讓DHCP服務(wù)器啟動(dòng)其中之一,則可以配置DHCP服務(wù)器只在相應(yīng)設(shè)備上啟動(dòng)。在/etc/sysconfig/dhcpd中,把接口名稱(chēng)添加到DHCPDARGS列表中:
# Command line options here
DHCPDARGS=eth0
如果有一臺(tái)帶有兩塊網(wǎng)卡的防火墻機(jī)器,這種方法就會(huì)大派用場(chǎng)。一塊網(wǎng)卡可以被配置成DHCP客戶(hù)端從互聯(lián)網(wǎng)上檢索IP地址;另一塊網(wǎng)卡可以被用做防火墻之后的內(nèi)部網(wǎng)絡(luò)的DHCP服務(wù)器。僅指定連接到內(nèi)部網(wǎng)絡(luò)的網(wǎng)卡將使系統(tǒng)更加安全,因?yàn)橛脩?hù)無(wú)法通過(guò)互聯(lián)網(wǎng)來(lái)連接其守護(hù)進(jìn)程。
其他可在/etc/sysconfig/dhcpd中指定的命令行選項(xiàng)如下。
(1)-p:指定dhcpd應(yīng)該監(jiān)聽(tīng)的UDP端口,默認(rèn)值為67。DHCP服務(wù)器在比指定的UDP端口號(hào)大一位的端口上把回應(yīng)傳輸給DHCP客戶(hù)端。例如,如果使用默認(rèn)端口67,服務(wù)器就會(huì)在端口67上監(jiān)聽(tīng)請(qǐng)求,然后在端口68上回應(yīng)客戶(hù)。如果在此處指定了一個(gè)端口號(hào),并且使用了DHCP轉(zhuǎn)發(fā)代理,那么所指定的DHCP轉(zhuǎn)發(fā)代理所監(jiān)聽(tīng)的端口必須是同一個(gè)端口。
(2)-f:把守護(hù)進(jìn)程作為前臺(tái)進(jìn)程運(yùn)行,在調(diào)試時(shí)最常用。
(3)-d:把DCHP服務(wù)器守護(hù)進(jìn)程記錄到標(biāo)準(zhǔn)錯(cuò)誤描述器中,在調(diào)試時(shí)最常用。如果未指定,日志將被寫(xiě)入/var/log/messages中。
(4)-cf:指定配置文件的位置,默認(rèn)為/etc/dhcpd.conf。
(5)-lf:指定租期數(shù)據(jù)庫(kù)文件的位置。如果租期數(shù)據(jù)庫(kù)文件已存在,那么在DHCP服務(wù)器每次啟動(dòng)時(shí)使用同一個(gè)文件至關(guān)重要。建議只在無(wú)關(guān)緊要的機(jī)器上出于調(diào)試目的才使用該選項(xiàng),默認(rèn)為/var/lib/dhcp/dhcpd.leases。
(6)-q:在啟動(dòng)該守護(hù)進(jìn)程時(shí),不要顯示整篇版權(quán)信息。
5.管理DHCP服務(wù)器端口
常見(jiàn)的DHCP服務(wù)器是dhcpd,可以通過(guò)命令行設(shè)置其監(jiān)聽(tīng)端口。例如,使用以下命令:
#dhcpd eth0
該命令允許dhcpd進(jìn)程只在eth0網(wǎng)絡(luò)端口上工作,默認(rèn)為監(jiān)聽(tīng)所有端口。由于DHCP同樣使用67和68端口通信,所以更改該端口將造成DHCP服務(wù)無(wú)法正常使用。
6.防火墻和SELinux 設(shè)置
(1)防火墻設(shè)置
如果使用iptables防火墻,則注意打開(kāi)67、68 UDP端口。
#iptables -A FORWARD -i eth0 -p udp --dport 67 -j ACCEPT
#iptables -A FORWARD -i eth0 -p udp --dport 68 -j ACCEPT
(2)SELinux 設(shè)置
# setsebool -P dhcpd_disable_trans 1
。
本文僅限內(nèi)部技術(shù)人員學(xué)習(xí)交流,不得作于其他商業(yè)用途.希望此文對(duì)廣技人員有所幫助。原創(chuàng)文章出自:南昌網(wǎng)站建設(shè)公司-百恒網(wǎng)絡(luò)http://www.myforexfactory.net/如轉(zhuǎn)載請(qǐng)注明出處!