一.DHCP的基本概念
1.DHCP的定義
DHCP:(Dynamic Host Configuration Protocol )動態主機配置協議,是TCP/IP協議集所提供的一種實現自動分配IP配置信息的子協議,基於UDP協議實現。
2.DHCP的功能
① 動態分配(每個IP地址都具備租約)
② 分配網關、WINS、DNS系統信息
③ 與DNS相結合實現動態更新
④ 保留IP地址給指定主機linux
3.DHCP的體系結構vim
DHCP服務器:運行DHCP服務軟件包和DHCP協議的主機
DHCP客戶機:運行DHCP協議能夠發送DHCP請求的主機
4.分配IP地址過程
① CLIENT發送廣播DHCPDISCOVER尋找DCHP服務器。
② 服務器發送廣播DHCPOFFER響應CLIENT的請求。
③ CLIENT會檢查獲得的IP信息是否完整而且發送廣播DHCPREQUEST通知DHCP服務器已得到IP地址。
④ SERVER發送廣播DHCPACK確認客戶機的請求,表示分配成功。
過程即:DHCP Discovery->DHCP Offer->DHCP Request->DHCP ACKnowledge
5.更新租約
① 每次DHCP客戶端從新啓動時, 都會自動利用廣播的方式,給DHCP服務器發送DHCPREQUEST更新信息,要求繼續租用原來的IP地址
② 50%時,CLIENT以點到點方式發送DHCPREQUEST請求服務器的更新租約。
③ 87.5%時,CLIENT發送廣播DHCPREQUEST尋找其餘DHCP服務器,若是更新成功的話,DHCP服務器向CLIENT發送DHCPACK;若是不成功的話則發送DHCPNACK。
二. DHCP服務的配置
1.安裝DHCP的服務軟件包
dhcp-3.0.5-21.e15.i386.rpm
2.相關文件和目錄:
主配置文件:/etc/dhcpd.conf
執行程序:/usr/sbin/dhcpd,/usr/sbin/dhcrelay
服務腳本:/etc/init.d/dhcpd,/etc/init.d/dhcrelay
執行參數配置:/etc/sysconfig/dhcpd
DHCP中繼配置:/etc/sysconfig/dhcrelaywindows
3.配置文件服務器
vim /etc/dhcpd.conf網絡
第一次打開主配置文件,可能沒有配置信息,此時須要dom
(1) 聲明
subnet 網絡號 netmask 子網掩碼 { ……..}
功能:定義子網 (定義做用域 )
注意:網絡號必須與服務器的網絡號相同,若是服務器有多塊網卡時,必須爲每個網卡都創建一個相同網絡號的子網,可是不用分配地址的子網能夠不定義地址範圍
(2) shared-network 名稱 {………..}
功能:設置DHCP服務器多個IP子網共享同一個物理網絡,即超級做用域
注意:一般用於包含多個subnet聲明
(3) range 起始IP地址 終止IP地址;
功能:定義做用域範圍tcp
(4)mac地址綁定ide
hardware ethernet 須要綁定的mac地址this
fixed-address 綁定的IP地址spa
三.案例實現
案例一:設置dhcpd.conf文件,達到如下要求:
(1) 不支持dns動態更新,且忽略客戶機的更新
(2) 服務器的默認地址租約時間爲3600秒,最大地址租約時間爲7200秒
(3) 全部做用域的客戶機後綴域名爲abc.com,DNS服務器地址爲192.168.0.254
(4) 全部做用域的客戶機默認網關地址192.168.0.1
(5) 定義做用域192.168.0.0子網,地址掩碼爲255.255.255.0,地址範圍爲192.168.0.2-----192.168.0.150
(6) 保留192.168.0.0子網中的192.168.0.8給以太網卡物理地址爲00:E0:4C:70:33:65的客戶機DHCP服務:
1.安裝DHCP服務:yum install dhcp -y
(或者 rpm -ivh dhcp-3.0.5-21.e15.i386.rpm)
2.修改主配置文件
vim /etc/dhcpd.conf
ddns-update-style none;
ignore client-updates;
default-lease-time 3600;
max-lease-time 7200;
option routers 192.168.0.1;
option domain-name 「abc.com」;
option domain-name-servers 192.168.0.254;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2 192.168.0.150;
host c1 {
hardware ethernet 00:E0:4C:70:33:65;
fixed-address 192.168.0.8;
}
}
3.啓動服務:service dhcpd start
開機自啓:chkconfig dhcpd on
4,.實驗效果驗證:
對於linux客戶端:
1)設置網卡採用dhcp啓動協議,自動獲取ip地址信息
vim /etc/sysconfig/network-scripts/ifcfg-ethX(X能夠0,1,2……)
修改BOOTPROTO爲:BOOTPROTO=dhcp
2) 獲取IP地址
ifdown ethX ;
ifup ethX:
對於windows客戶端:
(1) 右擊網上鄰居----屬性------雙擊tcp/ip協議----選擇「自動獲動IP地址」
(2)開始->運行->cmd
輸入:ipconfig/release 釋放IP地址
ipconfig/renew 從新獲取IP地址
案例二:DHCP實現中繼代理
①對於dhcrelay主機,先安裝yum install dhcp,須要兩個網卡:eth0用來跟服務器主機相連,eth1用來跟客戶端主機相連
開啓路由功能:echo 1 > /proc/sys/net/ipv4/ip_forward
selinux: setenforce 0
vim /etc/syscofig/network-scripts/ifcfg-eth0
IPADDR=192.168.1.1
NETMASK=255.255.255.0
vim /etc/syscofig/network-scripts/ifcfg-eth1
IPADDR=192.168.2.1
NETMASK=255.255.255.0
vim /etc/sysconfig/dhcrelay
INTERFACES="eth0 eth1"
DHCPSERVERS="192.168.1.2"
service dhcrelay start
②對於服務器主機:subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option domain-name "fan.com";
option subnet-mask 255.255.255.0;
range 192.168.1.10 192.168.1.200;
}
③service dhcpd start
添加網關:route add default gw dhcrelay 192.168.1.2
進行實驗效果驗證。