首先呢,DHCP指的是由某服務器控制一段IP地址範圍,客戶機(也就是你的pc)登錄服務器時就可以自動獲得服務器分配的IP地址和子網掩碼。
在DHCP的工作原理中,DHCP服務器提供了三種IP分配方式:自動分配(Automatic allocation)、手動分配和動態分配(DynamicAllocation)。
·自動分配是當DHCP客戶機第一次成功的從DHCP服務器獲取一個IP地址後,就永久的使用這個IP地址。
·手動分配是由DHCP服務器管理員專門指定的IP地址
·動態分配是當客戶機第一次從DHCP服務器獲取到IP地址後,並非永久使用該地址,每次使用完後,DHCP客戶機就需要釋放這個IP,供其他客戶機使用。
動態主機設置協議(Dynamic Host Configuration Protocol, DHCP)是一個局域網的網絡協議。兩臺連接到互聯網上的電腦相互之間通信,必須有各自的IP地址,由於IP地址資源有限,寬帶接入運營商不能做到給每個報裝寬帶的用戶都能分配一個固定的IP地址(所謂固定IP就是即使在你不上網的時候,別人也不能用這個IP地址,這個資源一直被你所獨佔),所以要採用DHCP方式對上網的用戶進行臨時的地址分配。也就是你的電腦連上網,DHCP服務器才從地址池裏臨時分配一個IP地址給你,每次上網分配的IP地址可能會不一樣,這跟當時IP地址資源有關。當你下線的時候,DHCP服務器可能就會把這個地址分配給之後上線的其他電腦。這樣就可以有效節約IP地址,既保證了你的通信,又提高IP地址的使用率。
客戶機從DHCP服務器獲得IP地址的過程叫做DHCP的租約過程。
·租約過程分爲四個步驟,分別爲:客戶機請求IP(客戶機發 DHCP Discover 廣播包)、服務器響應(服務器發DHCP Offer廣播包)、客戶機選擇IP(客戶機發DHCP Request 廣播包)、服務器確定租約(服務器發DHCP ACK廣播包)。
案例一:使用兩臺虛擬機模擬,一臺是Enterprise linux5版本作爲DHCP服務器,一臺使用windows server 2003作爲客戶機實現對一臺機器分配一個任意地址以及分配一個固定ip:
1、DHCP搭建前期工作準備:
在虛擬機裏VM--àsetting裏如下圖選擇網卡選項:Host-only
2、在Linux安裝DHCP服務器
3、配置/etc/dhcpd.conf文件,起初該文件是空的,我們需要往裏拷貝文件。
[root@server1 Server]# cp/usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample/etc/dhcpd.conf
再編輯如下圖所示:
4、按照上面方法做好現在可以重啓下dhcp服務:
[root@server1 Server]#service dhcpd restart
注:
出現錯誤時可以使用下面命令
[ root@server1 Server]# service dhcpd configtest
還可查詢日誌文件:
[root@server1 Server]#tail –f /var/log/messages
5、打開客戶機,進行測試
在cmd下使用ipconfig /release關閉網卡
Ipconfig /renew 重啓網卡
再ipconfig /all 下查看是否可以自動獲取IP
也可以綁定ip:
同樣編輯/etc/dhcpd.conf文件,如下圖,綁定mac地址:
打開客戶機,進行測試
案例二:在案例一的基礎上實現超級作用域。超級作用域可以分配更多的ip地址,在下面的實驗我們使用兩個作用域,建立兩個c類網絡的地址池。
1、首先,在案例一的基礎之上我們配置/etc/dhcpd.conf文件,修改如下圖所示:
2、按照上面方法做好現在可以重啓下dhcp服務:
[root@server1 Server]#service dhcpd restart
這樣我們就有了一個超級作用域,支持更多的ip
案例三:dhcp中繼
使用中繼可以使不同的vlan從一個dhcp獲取地址:
使用設備:華爲s2000交換機、h3c防火牆、虛擬機中Enterprise linux5作爲dhcp服務器,以及兩臺windows server 2003作爲客戶機獲取ip地址
1、配置server
在Linux安裝DHCP服務器
配置/etc/dhcpd.conf文件:起初該文件是空的,我們需要往裏拷貝文件。
[root@server1 Server]# cp/usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample/etc/dhcpd.conf
按照上面方法做好現在可以啓動dhcp服務:
[root@server1 Server]#service dhcpd restart
2、配置交換機:
system-view
vlan 10
port e1/0/10
vlan 20
port e1/0/10
vlan 30
port e1/0/22
int e1/0/24
port link-type trunk
port trunk permit vlan all
配置h3c:
undo insulate(防火牆取消隔離)
int eth0/0.1
vlan -type dot1q vid 10
ip add 192.168.10.1 24
int eth0/0.2
vlan -type dot1q vid 20
ip add 192.168.20.1 24
int eth0/0.30
vlan -type dot1q vid 30
ip add 192.168.30.1 24
firewall zone trust
add interface eth0/0.1
add interface eth0/0.2
add interface eth0/0.3
防火牆上配置中繼:
int eth0/0.1
dhcp select relay
int eth0/0.2
dhcp select relay
int eth0/0.10
ip relay address 192.168.30.129
int eth0/0.20
ip relay address 192.168.30.129
測試:
將客戶機連接不同的vlan接口將被分配不同網段的ip!
希望和大家一起多多交流!!!