DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是一個局域網的網絡協議,使用UDP協議工做,主要有兩個用途:給內部網絡或網絡服務供應商自動分配IP地址,給用戶或者內部網絡管理員做爲對全部計算機做中央管理的手段。linux
DHCP有3個端口,其中UDP67和UDP68爲正常的DHCP服務端口,分別做爲DHCP Server和DHCP Client的服務端口;546號端口用於DHCPv6 Client,而不用於DHCPv4,是爲DHCP failover服務,這是須要特別開啓的服務,DHCP failover是用來作"雙機熱備"的。安全
分配方式:服務器
1. manual網絡
管理員手動分配地址並綁定,能夠永久使用該地址。地址的利用率低。dom
2.AutomaticAllocationide
自動分配﹐其情形是﹕一旦DHCP客戶端第一次成功的從DHCP伺服器端租用到IP位址以後﹐就永遠使用這個位址。測試
3.DynamicAllocationui
動態分配﹐當DHCP第一次從HDCP伺服器端租用到IP位址以後﹐並不是永久的使用該位址﹐只要租約到期﹐客戶端就得釋放(release)這個IP位址﹐以給其它工做站使用。固然﹐客戶端能夠比其它主機更優先的延續(renew)租約﹐或是租用其它的IP位址。spa
DHCP主要用途orm
1)配置安全:避免了因爲須要手動在每臺PC上輸入值而引發的配置錯誤
2)防止地址衝突:有助於防止因爲在網絡上配置新的PC時重用之前指派的IP地址而引發的地址衝突
3)減小配置管理:使用DHCP服務器能夠大大下降用戶配置和從新配置網上PC的時間
工做流程
1. dhcpclient 發送dhcpdiscover 廣播。
2. 全部的DHCP服務器發送DHCPoffer報文。
3. DHCPclient發送dhcprequest廣播。
4. DHCP服務器發送DHCPack應答報文。
發放流程
一旦DHCP客戶端成功地從伺服器哪裏取得DHCP租約以後﹐除非其租約已經失效而且IP位址也從新設定回0.0.0.0﹐不然就無需再發送Dhcpdiscover信息了﹐而會直接使用已經租用到的IP位址向以前之DHCP伺服器發出Dhcprequest信息﹐DHCP伺服器會盡可能讓客戶端使用原來的IP位址﹐若是沒問題的話﹐直接回應Dhcpack來確認則可。若是該位址已經失效或已經被其它機器使用了﹐伺服器則會迴應一個DHCPNACK封包給客戶端﹐要求其重新執行Dhcpdiscover。
DHCP工做站除了在開機的時候發出dhcprequest請求以外﹐在租約期限一半的時候也會發出dhcprequest﹐若是此時得不到DHCP伺服器的確認的話﹐工做站還能夠繼續使用該IP﹔在使用租期超過87.5%時刻處,DHCP Client會以廣播形式向DHCP Server發送DHCPRequest報文來續租IP地址。若是DHCP Client成功收到DHCP Server發送的DHCP ACK報文,則按相應時間延長IP地址租期;若是沒有收到DHCP Server發送的DHCP ACK報文,則DHCP Client繼續使用這個IP地址,直到IP地址使用租期到期時,DHCP Client纔會向DHCP Server發送DHCP Release報文來釋放這個IP地址,並開始新的IP地址申請過程。
要是您想退租,能夠隨時送出DHCPRELEASE命令解約﹐就算您的租約在前一秒鐘纔得到的。
超級做用域
使用超級做用域,能夠將多個做用域組合爲單個管理實體。
能夠根據主機的數量,設定子做用域。從而實現分配地址不缺乏不浪費。
shared-network xcxy {
subnet 192.168.3.0 255.255.255.0 {
range 192.168.3.50 192.168.3.200
option routers192.168.3.1
optiondomain-name-servers 1.1.1.1,2.2.2.2;
option domain-name 「abc.com」
}
subnet 192.168.4.0 255.255.255.0 {
range 192.168.3.50 192.168.4.200
option routers192.168.4.1
optiondomain-name-servers 1.1.1.1,2.2.2.2;
option domain-name 「abc.com」
}
}
l 防火牆作DHCP服務器主要配置
dhcp enable
dhcp server ip-pool xxx
network 192.168.5.0 //定義地址池
gateway-list 192.168.5.1 //指定網關
dns-list 1.1.1.1 2.2.2.2 //指定DNS服務器地址
dhcp server forbidden-ip192.168.5.2 192.168.5.10 //排除指定地址
dhcp server ip-pool static-bind
static-bind mac-address 3ce5-a6ce-1895
static-bind ip-address192.168.5.100 //將指定IP綁定特定主機
l Dhcp server 在linux上主要配置
文件/etc/dhcp/dhcpd.conf 可參考/usr/share/doc/hdcp-4.1.1/dhcp.conf.sample
subnet 192.168.102.0 netmask 255.255.255.0{
range 192.168.102.50 192.168.102.99;
range 192.168.102.101 192.168.102.200;
//定義地址池範圍,並實現排除地址功能。
option routers 192.168.102.1;//定義網關參數
option domain-name-servers 1.1.1.1,2.2.2.2;//定義DNS服務器地址
option domain-name "abc.com";//定義域名
host ftp-server {
hardware ethernet 00:0C:29:67:5C:E4;
fixed-address 192.168.102.100;
//實現特定地址與MAC地址的綁定。
}
}
在三層設備上實現DHCP:
Linux主機作DHCP服務器
subnet 192.168.10.0 255.255.255.0 {
range 192.168.10.50 192.168.3.200
option routers 192.168.10.1
optiondomain-name-servers 1.1.1.1;
option domain-name 「tec.com」
}
subnet 192.168.20.0 255.255.255.0 {
range 192.168.20.50 192.168.20.200
option routers192.168.20.1
optiondomain-name-servers 1.1.1.1;
option domain-name 「mkt.com」
}
Subnet 192.168.3.0 255.255.255.0 {
}
Linux主機實現中繼
修改/etc/sysct1.conf net.ipv4.ip_forward=1 //實現路由功能
編輯/etc/sysconfig/dhcprelay
INTERFACES=」eth1 eth2 eth3」
DHCPSERVERS=」192.168.3.100」
Service dhcrelay start
Firewall實現中繼
Dhcp enable
Dhcp select interface interface eth0/0.1 eth0/0.2 relay
Interface eth0/0.1
Ip relay address 192.168.3.100
Interface eth0/0.2
Ip relay address 192.168.3.100
S3526實現中繼
Dhcp-server 1 ip 192.168.3.100
Interface valn10
Dhcp-server 1
Interface vlan20
Dhcp-server 1
測試獲取dhcp地址: IP address dhcp-alloc
SW1主要配置:
[SW1]inter e1/0/22
[SW1-Ethernet1/0/22]port link-type trunk
[SW1-Ethernet1/0/22]port trunk permit vlanall
[SW1]vlan 10
[SW1-vlan10]port e1/0/10
[SW1-vlan10]vlan 20
[SW1-vlan20]port e1/0/20
[SW1-vlan20]vlan 30
[SW1-vlan30]port e1/0/24
S3526E主要配置(實現中繼)
[Quidway]vlan 10
[Quidway-vlan10]vlan 20
[Quidway-vlan20]vlan 30
[Quidway-vlan30]inter vlan 10
[Quidway-Vlan-interface10]ip add 192.168.10.1255.255.255.0
[Quidway-Vlan-interface10]inter vlan20
[Quidway-Vlan-interface20]ip add192.168.20.1 255.255.255.0
[Quidway-Vlan-interface20]inter vlan30
[Quidway-Vlan-interface30]ip add192.168.3.254 255.255.255.0
[Quidway-Vlan-interface30]inter e0/24
[Quidway-Ethernet0/24]port link-type trunk
[Quidway-Ethernet0/24]port trunk permitvlan all
[Quidway]dhcp select relay interface vlan10
[Quidway]dhcp select relay interface vlan20
[Quidway]int vlan 10
[Quidway-Vlan-interface10]ip relay address192.168.3.100
[Quidway]int vlan 20
[Quidway-Vlan-interface20]ip relay address192.168.3.100