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