自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux系統(tǒng)下配置DHCP服務(wù)器介紹

運(yùn)維 系統(tǒng)運(yùn)維
DHCP是指動態(tài)主機(jī)設(shè)置協(xié)議,即Dynamic Host Configuration Protocol。是指一個(gè)局域網(wǎng)的網(wǎng)絡(luò)協(xié)議,使用UDP協(xié)議工作。主要有兩個(gè)用途:給內(nèi)部網(wǎng)絡(luò)或網(wǎng)絡(luò)服務(wù)供應(yīng)商自動分配IP地址給用戶給內(nèi)部網(wǎng)絡(luò)管理員作為對所有計(jì)算機(jī)作中央管理的手段。本文為您介紹了在linux操作系統(tǒng)下如何配置DHCP服務(wù)器。

       本文以Redhat  Linux 9.0 為例,介紹如何建立一個(gè)完整和安全的DHCP 服務(wù)器。

        DHCP是動態(tài)主機(jī)配置協(xié)議。用于向計(jì)算機(jī)自動提供IP地址,子網(wǎng)掩碼和路由信息。網(wǎng)絡(luò)管理員通常會分配某個(gè)范圍的IP地址來分發(fā)給局域網(wǎng)上的客戶機(jī)。當(dāng)設(shè)備接入這個(gè)局域網(wǎng)時(shí),它們會向 DHCP 服務(wù)器請求一個(gè) IP 地址,然后為每個(gè)請求的設(shè)備分配一個(gè)地址。

一、建立DHCP服務(wù)器配置文件

  可以使用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ò)配置選項(xiàng)發(fā)送給客戶。主要內(nèi)容見表1

參數(shù)解釋
ddns-update-style 配置DHCP-DNS 互動更新模式。
default-lease-time 指定確省租賃時(shí)間的長度,單位是秒。
max-lease-time 指定最大租賃時(shí)間長度,單位是秒。
hardware 指定網(wǎng)卡接口類型和MAC地址。
server-name 通知DHCP客戶服務(wù)器名稱。
get-lease-hostnames flag 檢查客戶端使用的IP地址。
fixed-address ip 分配給客戶端一個(gè)固定的地址。
authritative 拒絕不正確的IP地址的要求。

2. DHCP配置文件中的declarations (聲明):用來描述網(wǎng)絡(luò)布局、提供客戶的IP地址等。主要內(nèi)容見表2:

聲明解釋
shared-network 用來告知是否一些子網(wǎng)絡(luò)分享相同網(wǎng)絡(luò)。
subnet 描述一個(gè)IP地址是否屬于該子網(wǎng)。
range 起始IP 終止IP 提供動態(tài)分配IP 的范圍。
host 主機(jī)名稱 參考特別的主機(jī)。
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)文件中裝如主機(jī)名,應(yīng)用于無盤工作站。

3. DHCP配置文件中的option(選項(xiàng)):用來配置DHCP可選參數(shù),全部用option關(guān)鍵字作為開始,主要內(nèi)容包括見表3:

選項(xiàng)解釋
subnet-mask 為客戶端設(shè)定子網(wǎng)掩碼。
domain-name 為客戶端指明DNS名字。
domain-name-servers 為客戶端指明DNS服務(wù)器IP地址。
host-name 為客戶端指定主機(jī)名稱。
routers 為客戶端設(shè)定默認(rèn)網(wǎng)關(guān)。
broadcast-address 為客戶端設(shè)定廣播地址。
ntp-server 為客戶端設(shè)定網(wǎng)絡(luò)時(shí)間服務(wù)器IP地址。
time-offset 為客戶端設(shè)定和格林威治時(shí)間的偏移時(shí)間,單位是秒。

注意:如果客戶端使用的是視窗操作系統(tǒng),不要選擇"host-name"選項(xiàng),即不要為其指定主機(jī)名稱。

  下面是一個(gè)筆者使用的DHCP配置文件,這是一個(gè)C類網(wǎng)絡(luò),共126個(gè)IP地址可以分配的例子。讀者可以復(fù)制后使用。

 

  1. ddns-update-style interim;   
  2. ignore client-updates;  
  3.  
  4. subnet 192.168.1.0 netmask 255.255.255.0 {  
  5.  
  6. option routers 192.168.1.254;  
  7.  
  8. option subnet-mask 255.255.255.0;  
  9.  
  10. option broadcast-address 192.168.1.255;  
  11.  
  12. option domain-name-servers 192.168.1.3;  
  13.  
  14. option domain-name "www.cao.com"; #DNS名稱#  
  15.  
  16. option domain-name-servers 192.168.1.3;  
  17.  
  18.  
  19. option time-offset -18000;   
  20.  
  21.  
  22. range dynamic-bootp 192.168.1.128 192.168.1.255;  
  23.  
  24. default-lease-time 21600;  
  25.  
  26. max-lease-time 43200;  
  27.  
  28. host ns  
  29.  
  30.  {  
  31.  
  32. hardware ethernet 52:54:AB:34:5B:09;#運(yùn)行DHCP的網(wǎng)絡(luò)接口的MAC地址#  
  33.  
  34. fixed-address 192.168.1.9;  
  35.  
  36. }  
  37.  
  38. }  

二、建立客戶租約文件

  運(yùn)行DHCP服務(wù)器還需要一個(gè)名為 dhcpd.leases 的文件,保持所有已經(jīng)分發(fā)出去的 IP 地址。在Redhat Linux 發(fā)行版本中,該文件位于 /var/lib/dhcp/ 目錄中。如果您通過 RPM 安裝 ISC DHCP,那么該目錄應(yīng)該已經(jīng)存在。dhcpd.leases的文件格式為:

  1. Leases address {statement}   

  一個(gè)典型的文件內(nèi)容如下:

  1. lease 192.168.1.255 { #DHCP服務(wù)器分配的IP地址#  
  2.  
  3. starts 1 2005/05/02 03:02:26; # lease 開始租約時(shí)間#  
  4.  
  5. ends 1 2005/05/02 09:02:26; # lease 結(jié)束租約時(shí)間#   
  6.  
  7. binding state active;  
  8.  
  9. next binding state free;  
  10.  
  11. hardware ethernet 00:00:e8:a0:25:86; #客戶機(jī)網(wǎng)卡MAC地址#  
  12.  
  13. uid "%content%01%content%00%content%00\350\240%\206"; #用來驗(yàn)證客戶機(jī)的UID標(biāo)示#  
  14.  
  15. client-hostname "cjh1"; #客戶機(jī)名稱#  
  16.  

  注意lease 開始租約時(shí)間和lease 結(jié)束租約時(shí)間是格林威治標(biāo)準(zhǔn)時(shí)間(GMT),不是本地時(shí)間。

  第一次運(yùn)行DHCP服務(wù)器時(shí)dhcpd.leases是一個(gè)空文件,也不用手工建立。如果不是通過 RPM 安裝 ISC DHCP,或者 dhcpd 已經(jīng)安裝,那么您應(yīng)該試著確定 dhcpd 將其 lease 文件寫到何處,并確保該文件存在。也可以手工建立一個(gè)空文件:

  1. #touch /var/lib/dhcp/dhcpd.leases   

三、啟動和檢查DHCP服務(wù)器

  使用命令啟動DHCP服務(wù)器:

  1. #service dhcpd start   

  使用ps命令檢查dhcpd進(jìn)程

  1. #ps -ef | grep dhcpd  
  2. root 2402 1 0 14:25 ? 00:00:00 /usr/sbin/dhcpd  
  3. root 2764 2725 0 14:29 pts/2 00:00:00 grep dhcpd  

  使用檢查dhcpd運(yùn)行的端口:

  1. # netstat -nutap | grep dhcpd  
  2. udp 0 0 0.0.0.0:67 0.0.0.0:* 2402/dhcpd  

四、配置DHCP客戶端

  通常網(wǎng)管員使用選擇手工配置 DHCP 客戶,需要修改 /etc/sysconfig/network 文件來啟用聯(lián)網(wǎng);并修改 /etc/sysconfig/network-scripts 目錄中每個(gè)網(wǎng)絡(luò)設(shè)備的配置文件。在該目錄中,每個(gè)設(shè)備都有一個(gè)叫做 ifcfg-eth? 的配置文件,eth?是網(wǎng)絡(luò)設(shè)備的名稱。 如eth0等。如果你想在引導(dǎo)時(shí)啟動聯(lián)網(wǎng),NETWORKING 變量必須 被設(shè)為 yes。 除了此處之外/etc/sysconfig/network 文件應(yīng)該包含以下行:

 

  1. NETWORKING=yes 
  2. DEVICE=eth0 
  3. BOOTPROTO=dhcp 
  4. ONBOOT=yes 

#p#

五、DHCP配置常見錯(cuò)誤排除

  通常配置DHCP 服務(wù)器很容易,不過,在這里有一些技巧可以幫助您避免出現(xiàn)問題。對服務(wù)器而言,要確保網(wǎng)卡正常工作,并具備廣播功能。對客戶機(jī)而言,還要確??蛻魴C(jī)的網(wǎng)卡正常工作。最后,要考慮網(wǎng)絡(luò)的拓?fù)?,并考慮客戶機(jī)向 DHCP 服務(wù)器發(fā)出的廣播消息是否會受到阻礙。另外如果dhcpd進(jìn)程沒有啟動,那么可以瀏覽 syslog 消息文件來確定是哪里出了問題。這個(gè)消息文件通常是 /var/log/messages。

  典型故障:

  1.DHCP服務(wù)器配置完成,沒有語法錯(cuò)誤。但是網(wǎng)絡(luò)中的客戶機(jī)卻沒辦法取得IP地址。

  通常是Linux DHCP服務(wù)器沒有辦法接收來自255.255.255.255 的 DHCP 客戶機(jī)的Request 封包造成的。一般是Linux DHCP服務(wù)器的網(wǎng)卡沒有設(shè)置具有MULTICAST功能。為了讓dhcpd(dhcp程序的守護(hù)進(jìn)程)能夠正常的和DHCP客戶機(jī)溝通,dhcpd必須傳送封包到255.255.255.255這個(gè)IP地址,但是有些Linux系統(tǒng)里255.255.255.255這個(gè)IP地址被用來做為監(jiān)聽區(qū)域子網(wǎng)域(local subnet)廣播的 IP地址,所以需要在路由表(routing table)里加入255.255.255.255以激活MULTICAST功能;

  使用命令:

  1. route add -host 255.255.255.255 dev eth0  

 如果報(bào)告錯(cuò)誤消息:255.255.255.255:Unkown host

  那么請先修改/etc/hosts加入一行:

  1.   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(cuò)誤排除是必要的。筆者曾經(jīng)遇到過使用SuSE Linux 9.1 DHCP服務(wù)器和使用Mandrake Linux 9.0客戶機(jī)不兼容的情況。此時(shí)就必須更換客戶端程序。方法是先停止客戶機(jī)的網(wǎng)絡(luò)服務(wù),卸載原程序,安裝和服務(wù)器端兼容程序。附表:主要Linux發(fā)行版使用的DHCP客戶端。

 

Linux/DHCP/服務(wù)器

 

 

 

六、DHCP服務(wù)器的安全

 

  1. 在指定網(wǎng)絡(luò)接口啟動DHCP服務(wù)器

  如果你的Linux系統(tǒng)連接了不止一個(gè)網(wǎng)絡(luò)界面,但是你只想讓 DHCP 服務(wù)器啟動其中之一,你可以配置 DHCP 服務(wù)器只在那個(gè)設(shè)備上啟動。在 /etc/sysconfig/dhcpd 中,把界面的名稱添加到 DHCPDARGS 的列表中:

  1. DHCPDARGS=eth0  

  或者直接使用命令:

  1. Echo "DHCPDARGS=eth0>> /etc/ sysconfig/dhcpd   

  這樣對于帶有兩個(gè)網(wǎng)卡的防火墻機(jī)器,更加安全:一個(gè)網(wǎng)卡可以被配置成 DHCP 客戶來從互聯(lián)網(wǎng)上檢索 IP 地址;另一個(gè)網(wǎng)卡可以被用作防火墻之后的內(nèi)部網(wǎng)絡(luò)的 DHCP 服務(wù)器。僅指定連接到內(nèi)部網(wǎng)絡(luò)的網(wǎng)卡使系統(tǒng)更加安全,因?yàn)橛脩魺o法通過互聯(lián)網(wǎng)來連接它的守護(hù)進(jìn)程。

  2. 讓DHCP服務(wù)器在監(jiān)牢中運(yùn)行

  所謂"監(jiān)牢"就是指通過chroot機(jī)制來更改某個(gè)軟件運(yùn)行時(shí)所能看到的根目錄,即將某軟件運(yùn)行限制在指定目錄中,保證該軟件只能對該目錄及其子目錄的文件有所動作,從而保證整個(gè)服務(wù)器的安全。這樣即使出現(xiàn)被破壞或被侵入,所受的損失也較小。

  將軟件chroot化的一個(gè)問題是該軟件運(yùn)行時(shí)需要的所有程序、配置文件和庫文件都必須事先安裝到chroot目錄中,通常稱這個(gè)目錄為chroot jail(chroot"監(jiān)牢")。如果要在"監(jiān)牢"中運(yùn)行dhcpd,而事實(shí)上根本看不到文件系統(tǒng)中那個(gè)真正的目錄。因此需要事先創(chuàng)建目錄,并將dhcpd復(fù)制到其中。同時(shí)dhcpd需要幾個(gè)庫文件,可以使用ldd(library Dependency Display縮寫)命令,ldd作用是顯示一個(gè)可執(zhí)行程序必須使用的共享庫。

  1. ldd dhcpd  
  2.  
  3. libc.so.6 =>   
  4.  
  5. /lib/tls/libc.so.6 (0x42000000)  
  6.  
  7. /lib/ld-linux.so.2   
  8.  
  9. => /lib/ld-linux.so.2 (0x40000000)  
  10. style='font-family:宋體'> 

  這意味著還需要在"監(jiān)牢"中創(chuàng)建lib目錄,并將庫文件復(fù)制到其中。手工完成這一工作是非常麻煩的,此時(shí)可以用jail軟件包來幫助簡化chroot"監(jiān)牢"建立的過程。

  (1)Jail軟件的編譯和安裝

  Jail官方網(wǎng)站是:http://www.jmcresearch.com/ ,最新版本:1.9a。

  1. #Wget http://www.jmcresearch.com/stati ... il/jail_1.9a.tar.gz   
  2. #tar xzvf jail.tar.gz; cd jail/src  
  3. #make; make install  

  (2)用jail創(chuàng)建監(jiān)牢

  jail軟件包提供了幾個(gè)Perl腳本作為其核心命令,包括mkjailenv、addjailuser和addjailsw。

  mkjailenv:創(chuàng)建chroot"監(jiān)牢"目錄,并且從真實(shí)文件系統(tǒng)中拷貝基本的軟件環(huán)境。addjailsw:從真實(shí)文件系統(tǒng)中拷貝二進(jìn)制可執(zhí)行文件及其相關(guān)的其它文件(包括庫文件、輔助性文件和設(shè)備文件)到該"監(jiān)牢"中。addjailuser:創(chuàng)建新的chroot"監(jiān)牢"用戶。

  首先停止目前dhcpd服務(wù),然后建立chroot目錄:

  1. #/sbin/service dhcpd start  
  2. #mkjailenv /chroot/  
  3. mkjailenv  
  4.  
  5. A component of Jail (version 1.9 for linux)  
  6.  
  7. http://www.gsyc.inf.uc3m.es/~assman/jail/  
  8.  
  9. Juan M. Casillas   
  10.  
  11.  
  12. Making chrooted environment into /chroot  
  13.  
  14. Doing preinstall()  
  15.  
  16. Doing special_devices()  
  17.  
  18. Doing gen_template_password()  
  19.  
  20. Doing postinstall()  
  21.  
  22. Done.  

  下面的例子展示為"監(jiān)牢"添加dhcpd程序的過程:

  1. # addjailsw /chroot/ -P /usr/sbin/dhcpd  
  2. addjailsw  
  3.  
  4. A component of Jail (version 1.9 for linux)  
  5.  
  6. http://www.gsyc.inf.uc3m.es/~assman/jail/  
  7.  
  8. Juan M. Casillas   
  9.  
  10.  
  11. Guessing dhcpd args(0)  
  12.  
  13. Warning: file /chroot//lib/tls/libc.so.6 exists. Overwritting it  
  14.  
  15. Warning: file /chroot//lib/ld-linux.so.2 exists. Overwritting it  
  16.  
  17. ………  
  18. Done.  

  不用在意那些警告信息,因?yàn)閖ail會調(diào)用ldd檢查dhcpd用到的庫文件。而幾乎所有基于共享庫的二進(jìn)制可執(zhí)行文件都需要上述的幾個(gè)庫文件。接下來將dhcpd的相關(guān)文件拷貝到"監(jiān)牢"中:

  1. # mkdir -p /chroot/dhcp/etc  
  2. # cp /etc/dhcpd.conf /chroot/dhcp/etc/  
  3. # mkdir -p /chroot/dhcp/var/state/dhcp  
  4. # touch /chroot/dhcp/var/state/dhcp/dhcp.leases   

  重新啟動dhcpd:

  1. [root@www root]# /chroot/usr/sbin/dhcpd  

  使用ps命令檢查dhcpd進(jìn)程:

  1. #ps -ef | grep dhcpd  
  2. root 2402 1 0 14:25 ? 00:00:00 /chroot/usr/sbin/dhcpd   
  3. root 2764 2725 0 14:29 pts/2 00:00:00 grep dhcpd  

  注意此時(shí)進(jìn)程名稱已經(jīng)改變,使用檢查dhcpd運(yùn)行的端口:

  1. # netstat -nutap | grep dhcpd  
  2. udp 0 0 0.0.0.0:67 0.0.0.0:* 2402/dhcpd  

  端口號沒有改變?,F(xiàn)在dhcpd已經(jīng)成功運(yùn)行在"監(jiān)牢"中。

        到此為止一個(gè)這樣,一個(gè)完整和安全的 DHCP服務(wù)器就完成了。

 

【編輯推薦】

  1. 協(xié)議基礎(chǔ):Linux DHCP服務(wù)器配置
  2. Linux DHCP服務(wù)器當(dāng)中H3C的AC注冊
  3. Linux DHCP服務(wù)器測試的具體過程
  4. Linux DHCP服務(wù)器的設(shè)置
  5. Linux DHCP服務(wù)器安裝的簡單方法
  6. Linux DHCP服務(wù)器的測試和建立
  7. Suse Linux DHCP的設(shè)定過程
  8. 教會你Suse Linux DHCP服務(wù)器配置詳解
  9. RedHat Linux DHCP服務(wù)器中繼

 

責(zé)任編輯:zhaolei 來源: 比特網(wǎng)
相關(guān)推薦

2010-09-02 14:09:06

LinuxDHCP服務(wù)器

2010-09-27 11:44:14

Linux DHCP服

2010-09-03 12:19:18

DHCP服務(wù)器dhcp配置

2009-03-30 14:32:15

LinuxNetware服務(wù)器

2009-09-16 16:02:11

2010-09-26 11:39:21

DHCP服務(wù)器

2011-02-23 13:26:18

Linuxvsftp

2010-08-31 16:47:43

DHCP服務(wù)器

2011-09-07 10:44:36

DHCP服務(wù)器配置

2010-08-30 20:16:25

DHCP服務(wù)器

2009-12-03 14:35:09

DHCP服務(wù)器配置

2010-08-25 21:42:57

DHCP服務(wù)器

2009-08-07 10:05:53

2010-09-25 09:23:11

2003 dhcp服務(wù)

2010-01-13 13:35:09

DHCP服務(wù)器配置

2012-08-24 11:10:46

LinuxNetware服務(wù)器

2010-08-29 22:50:34

DHCP服務(wù)器

2010-09-01 17:15:45

Linux DHCP

2010-08-27 09:48:11

DHCP服務(wù)器

2010-08-26 17:12:06

DHCP服務(wù)器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號