




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、DHCP是動態(tài)主機配置協(xié)議。這個協(xié)議用于向計算機自動提供IP地址,子網(wǎng)掩碼和路由信息。網(wǎng)絡(luò)管理員通常會分配某個范圍的IP地址來分發(fā)給局域網(wǎng)上的客戶機。當(dāng)設(shè)備接入這個局域網(wǎng)時,它們會向 DHCP 服務(wù)器請求一個 IP 地址。然后DHCP服務(wù)器為每個請求的設(shè)備分配一個地址,直到分配完該范圍內(nèi)的所有 IP 地址為止。已經(jīng)分配的IP地址必須定時地延長借用期。這個延期的過程稱作leasing,確保了當(dāng)客戶機設(shè)備在正常地釋放IP地址之前突然從網(wǎng)絡(luò)斷開時被分配的地址可以歸還給服務(wù)器。本文以Redhat Linux 9.0為例,介紹如何建立一個完整和安全的DHCP服務(wù)器。 一、建立DHCP服務(wù)器配置文件 可以
2、使用Redhat Linux 9.0自身攜帶rpm包安裝。安裝結(jié)束后, DHCP 端口監(jiān)督程序 dhcpd配置文件是/etc目錄中的名為dhcpd.conf的文件。下面手工建立/etc/dhcpd.conf文件。/etc/dhcpd.conf通常包括三部分:parameters、declarations 、option。 1.DHCP配置文件中的parameters(參數(shù)):表明如何執(zhí)行任務(wù),是否要執(zhí)行任務(wù),或?qū)⒛男┚W(wǎng)絡(luò)配置選項發(fā)送給客戶。主要內(nèi)容見表1參 數(shù)解 釋ddns-update-style配置DHCP-DNS 互動更新模式。default-lease-time指定確省租賃時間的長度,
3、單位是秒。max-lease-time指定最大租賃時間長度,單位是秒。hardware指定網(wǎng)卡接口類型和MAC地址。server-name通知DHCP客戶服務(wù)器名稱。get-lease-hostnames flag檢查客戶端使用的IP地址。fixed-address ip分配給客戶端一個固定的地址。authritative拒絕不正確的IP地址的要求。2. DHCP配置文件中的declarations (聲明):用來描述網(wǎng)絡(luò)布局、提供客戶的IP地址等。主要內(nèi)容見表2:聲 明解 釋shared-network用來告知是否一些子網(wǎng)絡(luò)分享相同網(wǎng)絡(luò)。subnet描述一個IP地址是否屬于該子網(wǎng)。range
4、 起始IP 終止IP提供動態(tài)分配IP 的范圍。host 主機名稱參考特別的主機。group為一組參數(shù)提供聲明。allow unknown-clients;deny unknown-client是否動態(tài)分配IP給未知的使用者。allow bootp;deny bootp是否響應(yīng)激活查詢。allow booting;deny booting是否響應(yīng)使用者查詢。filename開始啟動文件的名稱,應(yīng)用于無盤工作站。next-server設(shè)置服務(wù)器從引導(dǎo)文件中裝如主機名,應(yīng)用于無盤工作站。3. DHCP配置文件中的option(選項):用來配置DHCP可選參數(shù),全部用option關(guān)鍵字作為開始,主要內(nèi)
5、容包括見表3:選 項解 釋subnet-mask為客戶端設(shè)定子網(wǎng)掩碼。domain-name為客戶端指明DNS名字。domain-name-servers為客戶端指明DNS服務(wù)器IP地址。host-name為客戶端指定主機名稱。routers為客戶端設(shè)定默認(rèn)網(wǎng)關(guān)。broadcast-address為客戶端設(shè)定廣播地址。ntp-server為客戶端設(shè)定網(wǎng)絡(luò)時間服務(wù)器IP地址。timeoffset為客戶端設(shè)定和格林威治時間的偏移時間,單位是秒。注意:如果客戶端使用的是視窗操作系統(tǒng),不要選擇"host-name"選項,即不要為其指定主機名稱。 下面是一個筆者使用的DHCP配置文件
6、,這是一個類網(wǎng)絡(luò),共126個IP地址可以分配的例子。讀者可以復(fù)制后使用,注意紅色部分是必須要修改的。 ddns-update-style interim; ignore client-updates;subnet 192.168.1.0 netmask 255.255.255.0 option routers 192.168.1.254; option subnet-mask 2
7、55.255.255.0; option broadcast-address 192.168.1.255; option domain-name-servers 192.168.1.3; option domain-name ""#DNS名稱#
8、 option domain-name-servers 192.168.1.3; option time-offset -18000; range dynamic-bootp 192.168.1.128 192.168.1.255; default-lease-time 21600; max-lease-time 43200; host ns
9、 hardware ethernet 52:54:AB:34:5B:09;#運行DHCP的網(wǎng)絡(luò)接口的MAC地址# fixed-address 192.168.1.9; 二、建立客戶租約文件 運行DHCP服務(wù)器還需要一個名為 dhcpd.leases 的文件,保持所有已經(jīng)分發(fā)出去的 IP 地址。在Redhat Linux 發(fā)行版本中,該文件位于 /var/lib/dhcp/ 目錄中。如果您通過
10、 RPM 安裝 ISC DHCP,那么該目錄應(yīng)該已經(jīng)存在。dhcpd.leases的文件格式為: Leases address statement一個典型的文件內(nèi)容如下: lease 192.168.1.255 #DHCP服務(wù)器分配的IP地址# starts 1 2005/05/02 03:02:26; # lease 開始租約時間# ends 1 2005/05/02 09:02:26;&
11、#160; # lease 結(jié)束租約時間# binding state active; next binding state free; hardware ethernet 00:00:e8:a0:25:86; #客戶機網(wǎng)卡MAC地址# uid "%content%01%content%00%content%00350240%206" #用來驗證客戶機的UID標(biāo)示# client-hostname "cjh1
12、" #客戶機名稱# 注意lease 開始租約時間和lease 結(jié)束租約時間是格林威治標(biāo)準(zhǔn)時間(GMT),不是本地時間。 第一次運行DHCP服務(wù)器時dhcpd.leases是一個空文件,也不用手工建立。如果不是通過 RPM 安裝 ISC DHCP,或者 dhcpd 已經(jīng)安裝,那么您應(yīng)該試著確定 dhcpd 將其 lease 文件寫到何處,并確保該文件存在。也可以手工建立一個空文件: #touch /var/lib/dhcp/dhcpd.leases 三、啟動和檢查DHCP服務(wù)器 使用命令啟動DHCP服務(wù)器: #service dh
13、cpd start 使用ps命令檢查dhcpd進(jìn)程: #ps -ef | grep dhcpdroot 2402 1 0 14:25 ? 00:00:00 /usr/sbin/dhcpdroot 2764 2725 0 14:29 pts/2 00:00:00 gr
14、ep dhcpd 使用檢查dhcpd運行的端口: # netstat -nutap | grep dhcpdudp 0 0 0.0.0.0:67 0.0.0.0:* 2402/dhcpd四、配置DHCP客戶端 通常網(wǎng)管員使用選擇手工配置 DHCP 客戶,需要修改 /etc/sysconfig/netw
15、ork 文件來啟用聯(lián)網(wǎng);并修改 /etc/sysconfig/network-scripts 目錄中每個網(wǎng)絡(luò)設(shè)備的配置文件。在該目錄中,每個設(shè)備都有一個叫做 ifcfg-eth? 的配置文件,eth?是網(wǎng)絡(luò)設(shè)備的名稱。 如eth0等。如果你想在引導(dǎo)時啟動聯(lián)網(wǎng),NETWORKING 變量必須 被設(shè)為 yes。 除了此處之外/etc/sysconfig/network 文件應(yīng)該包含以下行: NETWORKING=yesDEVICE=eth0BOOTPROTO=dhcpONBOOT=yes五、DHCP配置常見錯誤排除 通常配置DHCP 服務(wù)器很容易,不過,在這里有一些技巧可以幫助您避免出現(xiàn)問題。對服
16、務(wù)器而言,要確保網(wǎng)卡正常工作,并具備廣播功能。對客戶機而言,還要確保客戶機的網(wǎng)卡正常工作。最后,要考慮網(wǎng)絡(luò)的拓?fù)?,并考慮客戶機向 DHCP 服務(wù)器發(fā)出的廣播消息是否會受到阻礙。另外如果dhcpd進(jìn)程沒有啟動,那么可以瀏覽 syslog 消息文件來確定是哪里出了問題。這個消息文件通常是 /var/log/messages。 典型故障: 1.DHCP服務(wù)器配置完成,沒有語法錯誤。但是網(wǎng)絡(luò)中的客戶機卻沒辦法取得IP地址。 通常是Linux DHCP服務(wù)器沒有辦法接收來自255.255.255.255 的 DHCP 客戶機的Request 封包造成的。一般是Linux DHCP服務(wù)器的網(wǎng)卡沒有設(shè)置具有
17、MULTICAST功能。為了讓dhcpd(dhcp程序的守護(hù)進(jìn)程)能夠正常的和DHCP客戶機溝通,dhcpd必須傳送封包到255.255.255.255這個IP地址,但是有些Linux系統(tǒng)里255.255.255.255這個IP地址被用來做為監(jiān)聽區(qū)域子網(wǎng)域(local subnet)廣播的 IP地址,所以需要在路由表(routing table)里加入255.255.255.255以激活MULTICAST功能; 使用命令: route add -host 255.255.255.255 dev eth0如果報告錯誤消息:255.255.255.255:Unkown host 那么請先修改/et
18、c/hosts加入一行: 255.255.255.255 dhcp 2. DHCP客戶端程序和DHCP服務(wù)器不兼容 由于Linux有許多發(fā)現(xiàn)版本,不同版本使用DHCP客戶端程序和DHCP服務(wù)器也不相同。Linux提供了四種DHCP客戶端程序:pump, dhclient, dhcpxd, 和dhcpcd。了解不同Linux發(fā)行版本的服務(wù)器端和客戶端程序?qū)τ诔R婂e誤排除是必要的。筆者曾經(jīng)遇到過使用SuSE Linux 9.1 DHCP服務(wù)器和使用Mandrake Linux 9.0客戶機不兼容的情況。此時就必須更換客戶端程序。方法是先停止客戶機的網(wǎng)絡(luò)服務(wù),卸載原程序,安裝和服務(wù)器端兼容程序。附表
19、:主要Linux發(fā)行版使用的DHCP客戶端。 發(fā)行版本 缺省 DHCP客戶端 可選 DHCP 客戶端 DHCP客戶端啟動腳本 附加配置文件Red Hat Linux 9.0dhclient無/sbin/ifup/etc/sysconfig/network/etc/sysconfig/network-scripts/ifcfg-eth0Debian Linux 3.0dhclient無/sbin/ifup/etc/network/interfaces/etc/dhclient.confMandrake Linux 9.1dhclientdhcpc
20、d, dhcpxd, pump/sbin/ifup/etc/sysconfig/network/etc/sysconfig/network-scripts/ifcfg-eth0/etc/dhclient-eth0.confSuSE Linux 9.1dhcpcddhclient/sbin/ifup-dhcp/etc/sysconfig/network/dhcp/etc/sysconfig/network/ifcfg-eth0六、DHCP服務(wù)器的安全 1. 在指定網(wǎng)絡(luò)接口啟動DHCP服務(wù)器 如果你的Linux系統(tǒng)連接了不止一個網(wǎng)絡(luò)界面,但是你只想讓 DHCP 服務(wù)器啟動其中之一,你可以配置 DH
21、CP 服務(wù)器只在那個設(shè)備上啟動。在 /etc/sysconfig/dhcpd 中,把界面的名稱添加到 DHCPDARGS 的列表中: DHCPDARGS=eth0或者直接使用命令: Echo "DHCPDARGS=eth0" >> /etc/ sysconfig/dhcpd 這樣對于帶有兩個網(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)來連接它的守護(hù)進(jìn)程。 2. 讓DHCP服務(wù)器在
22、監(jiān)牢中運行 所謂"監(jiān)牢"就是指通過chroot機制來更改某個軟件運行時所能看到的根目錄,即將某軟件運行限制在指定目錄中,保證該軟件只能對該目錄及其子目錄的文件有所動作,從而保證整個服務(wù)器的安全。這樣即使出現(xiàn)被破壞或被侵入,所受的損失也較小。 將軟件chroot化的一個問題是該軟件運行時需要的所有程序、配置文件和庫文件都必須事先安裝到chroot目錄中,通常稱這個目錄為chroot jail(chroot"監(jiān)牢")。如果要在"監(jiān)牢"中運行dhcpd,而事實上根本看不到文件系統(tǒng)中那個真正的目錄。因此需要事先創(chuàng)建目錄,并將dhcpd復(fù)制到其
23、中。同時dhcpd需要幾個庫文件,可以使用ldd(library Dependency Display縮寫)命令,ldd作用是顯示一個可執(zhí)行程序必須使用的共享庫。 ldd dhcpd libc.so.6 => /lib/tls/libc.so.6 (0x42000000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)style='font-family:宋體'>這意味著還需要在"監(jiān)牢"中創(chuàng)建lib
24、目錄,并將庫文件復(fù)制到其中。手工完成這一工作是非常麻煩的,此時可以用jail軟件包來幫助簡化chroot"監(jiān)牢"建立的過程。 (1)Jail軟件的編譯和安裝 Jail官方網(wǎng)站是: ,最新版本:1.9a。 #Wget #tar xzvf jail.tar.gz; cd jail/src#make; make install (2)用jail創(chuàng)建監(jiān)牢 jail軟件包提供了幾個Perl腳本作為其核心命令,包括mkjailenv、addjailuser和addjailsw。 mkjailenv:創(chuàng)建chroot"監(jiān)牢"目錄,并且從真實文件系統(tǒng)中拷貝基本
25、的軟件環(huán)境。addjailsw:從真實文件系統(tǒng)中拷貝二進(jìn)制可執(zhí)行文件及其相關(guān)的其它文件(包括庫文件、輔助性文件和設(shè)備文件)到該"監(jiān)牢"中。addjailuser:創(chuàng)建新的chroot"監(jiān)牢"用戶。 首先停止目前dhcpd服務(wù),然后建立chroot目錄: #/sbin/service dhcpd start#mkjailenv /chroot/mkjailenvA component of Jail (version 1.9 for linux)Juan M. Casillas Making chrooted environment into
26、/chroot Doing preinstall() Doing special_devices() Doing gen_template_password() Doing postinstall()Done. 下面的例子展示為"監(jiān)牢"
27、;添加dhcpd程序的過程: # addjailsw /chroot/ -P /usr/sbin/dhcpdaddjailswA component of Jail (version 1.9 for linux)Juan M. Casillas Guessing dhcpd args(0)Warning: file /chroot/lib/tls/libc.so.6 exists. Overwritting itWarning: file /chroot/lib/ld-linux.so.2 exists. Overwritting itDone. 不用在意那些警告信息,因為jail會調(diào)用ldd檢查dhcpd用到的庫文件。而幾乎所有基于共享庫的二進(jìn)制可執(zhí)行文件都需要上述的幾個庫文件。接
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化工項目建設(shè)合同范本
- 0物業(yè)合同范本
- 廠家和平臺合同范本
- 吊車交易合同范例
- 吹塑加工采購合同范例
- 單位貨車出售合同范本
- 農(nóng)村公墓建設(shè)合同范本
- 信貸擔(dān)保合同范本
- 吊裝安裝服務(wù)合同范本
- 個人投資股票借款合同范本
- 2022云南省中考道法真題試卷和答案
- 跨文化商務(wù)交際導(dǎo)論-教學(xué)課件Unit 3 Cultural patterns
- 成語故事-引狼入室
- 勞務(wù)經(jīng)濟(jì)人培訓(xùn)課件
- 漢字真有趣教學(xué)設(shè)計
- 綠色金融案例分析實證分析報告
- 【屋頂花園的防水設(shè)計與施工探究6500字(論文)】
- 自導(dǎo)式教學(xué)心得體會范文【3篇】
- 防范游戲充值詐騙保護(hù)個人游戲賬號安全
- 數(shù)學(xué)與體育融合課程設(shè)計
- 七年級英語閱讀理解專項訓(xùn)練(含答案)共20篇
評論
0/150
提交評論