天天看點

DHCP服務原理及配置

一、DHCP(Dynamic Host Configuration Protocol)動态主機配置協定

1、發展:

Bootp (引導協定)  無盤工作站技術需要(特點:動态配置設定,但一次性給予不收回)----》dhcp(基于udp動态配置設定,租約lease,收回)

注:RARP反向位址解析協定

2、c/s端程序

udp-server:67(dhcp)

udp-client:68号端口(dhclient)

過程:(4個資料包)

dhcp Discovery  廣播

Dhcp Offer      響應

dhcp Request    請求

Dhcp Ack        确認<-->NAK

lease租約 續租:T*50%,75%,87.5%----有ip,單點傳播交流

release釋放

歸還:到期,關機,手動釋放

區域網路内以廣播形式實作

ARP與RARP協定交流

響應速度 

伺服器與用戶端要在同一個網段

3、

1)dhcp,dhcpd程序

2)主配置檔案/etc/dhcpd.conf

  輔助配置/etc/sysconfig/dhcpd(DHCPDARGS=eth0)指定隻監聽eth0網卡

3)服務腳本/etc/init.d/dhcpd       service dhcpd configtest

4)樣本檔案 /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample

cp dhcpd.conf.sample /etc/dhcpd.conf

4、/etc/dhcpd.conf

必須有一個subnet子網與伺服器網卡在同一網段,可有多個subnet作用域

option

range 位址池 

host name   為某主機指定預留ip

hardware ethernet 某主機mac

fixed-address 不能是位址池内位址

5、用戶端測試

udp 68---dhclient

dhclient -d eth0  調試用,-d前台顯示過程

killall dhclient  然後 dhclient eth0

6、固定DNS

ifcfg-eth0 

PEERDNS=no

7、租約資訊

/var/lib/dhcpd/dhcpd.leases目前所有主機在此獲得ip資訊

8、定義主機類别并配置設定ip

如class "vmware" {

match if substring (hardware, 1, 3) = 00:0c:29;

}

  class "microsoft-clients" {

match if substring (option vendor-class-identifier,0,4) = "MSFT"; //供應商類别辨別

option routers 192.168.0.254;

option domain-name-servers 202.102.224.68, 202.102.227.68;

   pool {

allow members of "vmware";

range 192.168.0.91 192.168.0.110;

deny members of "vmware";

allow-members of "microsoft-clients";

range 192.168.0.202 192.168.0.252;

二、dhcprelay中繼(使用一個dhcp server,使用中繼同時為多個網絡配置設定ip)

/etc/init.d/dhcrelay

網絡模型:

1)

dhcp server:

subnet 192.168.100.0 netmask 255.255.255.0 {

option routers 192.168.100.1;

option domain-name "a.com";

option subnet-mask 255.255.255.0;

range 192.168.100.11 192.168.100.20;

route add default gw 192.168.10.7

2)

dhcp relay:

echo 1 > /proc/sys/net/ipv4/ip_forward   //打開路由功能,實作不同網段資訊交換

vim /etc/sysconfig/dhcrelay.conf

INTERFACES="eth0 eth1"

DHCPSERVERS="192.168.10.6"

注:

網絡連接配接方式,relay要static,ipv4.ip_forward=1,dhcp server設定到中繼網關,/etc/sysconfig/sysctl.conf

繼續閱讀