dhcp服務搭建實現動態分配ip位址
dhcp-dynamic host configuration protocol 動態主機配置協議。
dhcp通常是用於區域網內的乙個通訊協議,主要是通過客戶端傳送廣播資料報給整個物理網段內的所有主機,若區域網內有dhcp伺服器,就會響應客戶端的要求。1.客戶端:利用廣播封包傳送搜尋 dhcp 伺服器的封包:
若客戶端網路設定使用 dhcp 協議取得 ip (在 windows 內為『自動取得 ip』),則當客戶端開機或者是重新啟動網路卡時, 客戶端主機會傳送出搜尋 dhcp 伺服器的 udp 封包給所有物理網段內的計算機。此封包的目標 ip 會是 255.255.255.255, 所以一般主機接收到這個封包後會直接予以丟棄,但若區域網路內有 dhcp 伺服器時,則會開始進行後續行為。
到伺服器的登入檔案中尋找該使用者之前是否曾經用過某個 ip ,若有且該 ip 目前無人使用,則提供此 ip 給客戶端;
若配置檔案針對該 mac 提供額外的固定 ip (static ip) 時,則提供該固定 ip 給客戶端;
若不符合上述兩個條件,則隨機取用目前沒有被使用的 ip 引數給客戶端,並記錄下來。
總之,伺服器端會針對客戶端的要求提供一組網路引數租約給客戶端選擇,由於此時客戶端尚未有 ip ,因此伺服器端響應的封包資訊中, 主要是針對客戶端的 mac 來給予回應。此時伺服器端會保留這個租約然後開始等待客戶端的回應。
3.客戶端:決定選擇的 dhcp 伺服器提供的網路引數租約並回報伺服器:
由於區域網路內可能並非僅有一部 dhcp 伺服器,但客戶端僅能接受一組網路引數的租約。 因此客戶端必需要選擇是否要認可該伺服器提供的相關網路引數的租約。當決定好使用此伺服器的網路引數租約後, 客戶端便開始使用這組網路引數來設定自己的網路環境。此外,客戶端也會傳送乙個廣播封包給所有物理網段內的主機, 告知已經接受該伺服器的租約。此時若有第二台以上的 dhcp 伺服器,則這些沒有被接受的伺服器會收回該 ip 租約。至於被接受的 dhcp 伺服器會繼續進行底下的動作。
4.伺服器端:記錄該次租約行為並回報客戶端已確認的響應封包資訊:
當伺服器端收到客戶端的確認選擇後,伺服器會回傳確認的響應封包,並且告知客戶端這個網路引數租約的期限, 並且開始租約計時。該次租約何時會到期而被解約:
客戶端離線:不論是關閉網路介面 (ifdown)、重新啟動 (reboot)、關機 (shutdown) 等行為,皆算是離線狀態,這個時候 server 端就會將該 ip **,並放到 server 自己的備用區中,等待未來的使用;
客戶端租約到期:前面提到 dhcp server 端發放的 ip 有使用的期限,客戶端使用這個 ip 到達期限規定的時間,而且沒有重新提出 dhcp 的申請時,就需要將 ip 繳回去!這個時候就會造成斷線。但使用者也可以再向 dhcp 伺服器要求再次分配 ip 。
hostname
ipserver
192.168.100.1
client
[root@server ~]# yum install dhcp -y
[root@server ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆蓋"/etc/dhcp/dhcpd.conf"? y
[root@server ~]# vim /etc/services
71 bootps 67/tcp # bootp server
72 bootps 67/udp
73 bootpc 68/tcp dhcpc # bootp client
74 bootpc 68/udp dhcpc
[root@server ~]# vim /etc/dhcp/dhcpd.conf
46 # a slightly different configuration for an internal subnet.
47 subnet 192.168.100.0 netmask 255.255.255.0
[root@server ~]# systemctl start dhcpd
[root@server ~]# netstat -tnulp | grep dhcpd
udp 0 0 0.0.0.0:67 0.0.0.0:* 89718/dhcpd
[root@client ~]# systemctl restart network
[root@client ~]# ip a
1: lo: mtu 65536 qdisc noqueue state unknown
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eno16777736:
mtu 1500 qdisc pfifo_fast state up qlen 1000
link/ether 00:0c:29:7c:18:13 brd ff:ff:ff:ff:ff:ff
inet 192.168.100.50/24 brd 192.168.100.255 scope global dynamic eno16777736
valid_lft 605sec preferred_lft 605sec
inet6 fe80::20c:29ff:fe7c:1813/64 scope link tentative
valid_lft forever preferred_lft forever
[root@client ~]# route -n
kernel ip routing table
destination gateway genmask flags metric ref use iface
0.0.0.0 192.168.100.1 0.0.0.0 ug 100 0 0 eno16777736
192.168.100.0 0.0.0.0 255.255.255.0 u 100 0 0 eno1677773
[root@client ~]# cat /etc/resolv.conf
# generated by networkmanager
search internal.example.org
nameserver 192.168.100.1
[root@server ~]# cat /var/lib/dhcpd/dhcpd.leases
# the format of this file is documented in the dhcpd.leases(5) manual page.
# this lease file was written by isc-dhcp-4.2.5
server-duid "\000\001\000\001$\306\314\250\000\014)\213g\205";
lease 192.168.100.50
通過mac位址與ip位址的對應關係為指定的實體地址分配固定ip
[root@server ~]# vim /etc/dhcp/dhcpd.conf
47 subnet 192.168.100.0 netmask 255.255.255.0
60 }
[root@server ~]# systemctl restart dhcpd
[root@client ~]# systemctl restart network
[root@client ~]# ip a
1: lo: mtu 65536 qdisc noqueue state unknown
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eno16777736:
mtu 1500 qdisc pfifo_fast state up qlen 1000
link/ether 00:0c:29:7c:18:13 brd ff:ff:ff:ff:ff:ff
inet 192.168.100.66/24 brd 192.168.100.255 scope global dynamic eno16777736
valid_lft 605sec preferred_lft 605sec
inet6 fe80::20c:29ff:fe7c:1813/64 scope link tentative
valid_lft forever preferred_lft forever
dhcp動態分配與固定分配
引數名稱 值預設租約時間 21600 最大租約時間 43200 ip位址範圍 192.168.21.10 192.168.21.201 子網掩碼 255.255.255.0 閘道器位址 192.168.21.254 dns服務位址 192.168.21.254 搜尋域linuxprobe.com 動...
eNSP練習 DHCP動態分配IP
dhcp就是動態主機配置協議 dynamic host configuration protocol 它的目的就是為了減輕tcp ip網路的規劃 管理和維護的負擔,解決ip位址空間缺乏問題 1個交換機 3臺pc機 pc1和pc2屬於vlan10,pc3屬於vlan20 vlan10的ip 192.1...
實現動態分配記憶體
有些時候我們需要在記憶體主動申請記憶體來儲存我們的資料,實現動態分配記憶體的效果,標頭檔案 include 宣告了個關於記憶體動態分配的函式 malloc 函式 函式原型 void malloc usigned int size 作用 在記憶體的動態儲存區 堆區 中分配乙個長度為size的連續空間。...